@Sayming
2019-12-25T05:06:31.000000Z
字数 2551
阅读 358
Shadowsocks-libev VPS 代理
Shadowsocks是一种轻量级,快速且安全的Socks5代理,可以绕过互联网审查。
sudo apt update #更新系统sudo apt install shadowsocks-libev #安装
安装好后配置文件在/etc/shadowsocks-libev/config.json
编辑配置文件
sudo nano /etc/shadowsocks-libev/config.json
文件中默认配置如下:
{"server":"127.0.0.1", #更改为服务器IP"server_port":8388, #更改端口"local_port":1080,"password":"focobguph", #更改密码"timeout":60,"method":"chacha20-ietf-poly1305", #更改加密方式aes-256-cfb"fast_open": true #追加这行}
修改文件保存并关闭。然后启动shadowsocks-libev服务。
sudo systemctl start shadowsocks-libev.service
系统启动时自动启动服务。
sudo systemctl enable shadowsocks-libev.service
检查状态,确定服务运行。
systemctl status shadowsocks-libev.service
注意:在Ubuntu 17.10上,Shadowsocks-libev将自动以默认配置文件启动。 您需要重新启动它才能使配置生效。
sudo systemctl restart shadowsocks-libev
如果碰到一下错误
This system doesn't provide enough entropy to quickly generate high-quality random numbers. The service will not start until enough entropy has been collected.
可通过安装rng-tools解决。
sudo apt-get install rng-tools
然后运行
sudo rngd -r /dev/urandom
如果服务器上使用了iptables防火墙,那么您需要允许流量到Shadowsocks正在侦听的TCP和UDP端口。 例如,如果Shadowsocks正在使用端口8388,则运行以下命令:
sudo iptables -I INPUT -p tcp --dport 8388 -j ACCEPTsudo iptables -I INPUT -p udp --dport 8388 -j ACCEPT
如果使用UFW防火墙,运行以下命令:
sudo ufw allow 8888
您可以通过启用TCP快速打开来加速Shadowsocks。 TCP是面向连接的协议,这意味着只有在建立连接后才能交换数据,这是通过三次握手完成的。 换句话说,传统上,数据只能在三次握手完成后进行交换。 TCP快速打开(TFO)是一种允许在三次握手完成之前交换数据的机制,最多可节省1个往返时间(RTT)。
自3.7版以来,TCP快速开放支持已合并到Linux内核,并且自版本3.13起默认启用。 您可以通过运行来检查内核版本:
uname -r
要检查Ubuntu服务器上的TCP快速打开配置,请运行:
cat /proc/sys/net/ipv4/tcp_fastopen
会返回以下4种值:
运行上述命令后,我的所有Ubuntu 16.04 / 17.10 VPS(虚拟专用服务器)都返回1。 我们希望服务器上的tcp_fastopen设置为3。 为此,我们可以编辑sysctl配置文件。
sudo nano /etc/sysctl.conf
然后将以下行粘贴到文件末尾。
net.ipv4.tcp_fastopen=3
重新加载sysctl设置以使更改生效。
sudo sysctl -p
然后,您还需要在Shadowsocks配置文件中启用TCP快速打开。
#进入编辑配置文件sudo nano /etc/shadowsocks-libev/config.json
追加以下参数:
"fast_open": true
重启服务
sudo systemctl restart shadowsocks-libev
还需要编辑Shadowsocks客户端配置文件并重新启动。
TCP BBR是一种TCP拥塞控制算法,可以显着提高连接速度。
默认情况下,Linux使用Reno和CUBIC拥塞控制算法。 要检查可用的拥塞控制算法,请运行以下命令。
sysctl net.ipv4.tcp_available_congestion_control
输出:
net.ipv4.tcp_available_congestion_control = cubic reno
要检查当前使用的拥塞控制算法,请运行
sysctl net.ipv4.tcp_congestion_control
输出:
net.ipv4.tcp_congestion_control = cubic
安装Linux内核4.9或更高版本
自内核版本4.9以来,Linux支持TCP BBR。 使用以下命令检查Linux内核版本。
uname -r
更新内核:
sudo apt updatesudo apt install --install-recommends linux-generic-hwe-16.04
开启TCP BBR
编辑系统配置文件
sudo nano /etc/sysctl.conf
末尾添加:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
重新加载配置:
sudo sysctl -p
检查配置是否启用:
sysctl net.ipv4.tcp_congestion_control
输出:
net.ipv4.tcp_congestion_control = bbr