[关闭]
@Sayming 2019-12-25T05:06:31.000000Z 字数 2551 阅读 358

Ubuntu 18.04 VPS(Virtual Private Server) 安装Shadowsocks-libev

Shadowsocks-libev VPS 代理


Shadowsocks是一种轻量级,快速且安全的Socks5代理,可以绕过互联网审查。

安装Shadowsocks-libev

  1. sudo apt update #更新系统
  2. sudo apt install shadowsocks-libev #安装

安装好后配置文件在/etc/shadowsocks-libev/config.json
编辑配置文件

  1. sudo nano /etc/shadowsocks-libev/config.json

文件中默认配置如下:

  1. {
  2. "server":"127.0.0.1", #更改为服务器IP
  3. "server_port":8388, #更改端口
  4. "local_port":1080,
  5. "password":"focobguph", #更改密码
  6. "timeout":60,
  7. "method":"chacha20-ietf-poly1305", #更改加密方式aes-256-cfb
  8. "fast_open": true #追加这行
  9. }

修改文件保存并关闭。然后启动shadowsocks-libev服务。

  1. sudo systemctl start shadowsocks-libev.service

系统启动时自动启动服务。

  1. sudo systemctl enable shadowsocks-libev.service

检查状态,确定服务运行。

  1. systemctl status shadowsocks-libev.service

注意:在Ubuntu 17.10上,Shadowsocks-libev将自动以默认配置文件启动。 您需要重新启动它才能使配置生效。

  1. 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解决。

  1. sudo apt-get install rng-tools

然后运行

  1. sudo rngd -r /dev/urandom

配置防火墙

如果服务器上使用了iptables防火墙,那么您需要允许流量到Shadowsocks正在侦听的TCP和UDP端口。 例如,如果Shadowsocks正在使用端口8388,则运行以下命令:

  1. sudo iptables -I INPUT -p tcp --dport 8388 -j ACCEPT
  2. sudo iptables -I INPUT -p udp --dport 8388 -j ACCEPT

如果使用UFW防火墙,运行以下命令:

  1. sudo ufw allow 8888

开启TCP Fast Open

您可以通过启用TCP快速打开来加速Shadowsocks。 TCP是面向连接的协议,这意味着只有在建立连接后才能交换数据,这是通过三次握手完成的。 换句话说,传统上,数据只能在三次握手完成后进行交换。 TCP快速打开(TFO)是一种允许在三次握手完成之前交换数据的机制,最多可节省1个往返时间(RTT)。
自3.7版以来,TCP快速开放支持已合并到Linux内核,并且自版本3.13起默认启用。 您可以通过运行来检查内核版本:

  1. uname -r

要检查Ubuntu服务器上的TCP快速打开配置,请运行:

  1. cat /proc/sys/net/ipv4/tcp_fastopen

会返回以下4种值:

运行上述命令后,我的所有Ubuntu 16.04 / 17.10 VPS(虚拟专用服务器)都返回1。 我们希望服务器上的tcp_fastopen设置为3。 为此,我们可以编辑sysctl配置文件。

  1. sudo nano /etc/sysctl.conf

然后将以下行粘贴到文件末尾。

  1. net.ipv4.tcp_fastopen=3

重新加载sysctl设置以使更改生效。

  1. sudo sysctl -p

然后,您还需要在Shadowsocks配置文件中启用TCP快速打开。

  1. #进入编辑配置文件
  2. sudo nano /etc/shadowsocks-libev/config.json

追加以下参数:

  1. "fast_open": true

重启服务

  1. sudo systemctl restart shadowsocks-libev

还需要编辑Shadowsocks客户端配置文件并重新启动。

开启 TCP BBR

TCP BBR是一种TCP拥塞控制算法,可以显着提高连接速度。
默认情况下,Linux使用Reno和CUBIC拥塞控制算法。 要检查可用的拥塞控制算法,请运行以下命令。

  1. sysctl net.ipv4.tcp_available_congestion_control

输出:

net.ipv4.tcp_available_congestion_control = cubic reno

要检查当前使用的拥塞控制算法,请运行

  1. sysctl net.ipv4.tcp_congestion_control

输出:

net.ipv4.tcp_congestion_control = cubic

安装Linux内核4.9或更高版本
自内核版本4.9以来,Linux支持TCP BBR。 使用以下命令检查Linux内核版本。

  1. uname -r

更新内核:

  1. sudo apt update
  2. sudo apt install --install-recommends linux-generic-hwe-16.04

开启TCP BBR
编辑系统配置文件

  1. sudo nano /etc/sysctl.conf

末尾添加:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

重新加载配置:

  1. sudo sysctl -p

检查配置是否启用:

  1. sysctl net.ipv4.tcp_congestion_control

输出:

net.ipv4.tcp_congestion_control = bbr

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注