在 Ubuntu 上搭建可 UDP 转发的 Shadowsocks-go

首先,你需要一台运行 Ubuntu 64 位的 VPS。

1. 给系统的软件都升级一下:

1
2
apt-get update
apt-get upgrade

2. 下载解压 Shadowsocks-go

1
2
3
wget https://github.com/lixin9311/shadowsocks-go/releases/download/1.1.4-udp/ss-server-linux-amd64.zip
gunzip ss-server-linux-amd64.zip
chmod +x server

3. 优化 Shadosocks (Xen 和 KVM 下有效)

编辑 limits.conf

1
nano /etc/security/limits.conf

添加以下两行

1
2
soft nofile 51200
* hard nofile 51200

使之生效

1
ulimit -n 51200

编辑 /etc/sysctl.conf

1
nano /etc/sysctl.conf

添加以下参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla (高延迟网络使用)
net.ipv4.tcp_congestion_control = cubic (低延迟网络使用)

使之生效

1
sysctl -p

4. 后台运行 Shadosocks-libev

新建一个 shadowsocks.json 进行配置

1
nano /etc/shadowsocks.json

添加信息后保存

1
2
3
4
5
6
7
8
{
"server":"127.0.0.1",
"server_port":8388,
"local_port":1080,
"password":"barfoo!",
"method": "aes-128-cfb",
"timeout":600
}

用 nohup 后台运行

1
nohup ./server -c /etc/shadowsocks.json -u &;

5. Windows 下的客户端

到第五步,基本上就是搭建完成了,当然每次服务器重启,都必须把第五步重新来一遍。接下来就是在 Windows 上的客户端了,客户端的选择比较多,如:Shadowsocks-csharpShadowsocks-Qt5