Linux 搭建 shadowsocks 服务器端及其优化
后知后觉 现有 1 评论

在 Linux 上部署 shadowsocks 服务,以便科学上网。

部署服务端

特性

点击进入 GitHub 官方项目地址

使用脚本进行部署

使用一键脚本部署 shadowsocks 服务端,执行以下命令即可,点击跳转 项目链接。

wget https://raw.githubusercontent.com/wavengine/shadowsocks-install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh install 2>&1 | tee shadowsocks.log

注意:目前只支持 Debian / Ubuntu 等衍生系统

服务器优化

修改系统最大连接数

vi /etc/security/limits.conf

添加以下两行:

* soft nofile 51200
* hard nofile 51200

修改内核参数

vi /etc/sysctl.conf

以下为配置模板

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_mem = 25600 51200 102400
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
# If you want to use bbr please remove the following line
net.ipv4.tcp_congestion_control = hybla

TCP 拥塞算法

使用 BBR 算法

Linux 内核版本 4.9 以后开始支持 BBR 算法,下载最新内核,最新内核查看 这里

小贴士:注意 Debian 9 Stretch 自带内核就是 4.9,无需更换内核。

安装下载的内核

dpkg -i linux-image-?-?-?.deb

删除多余内核(若空间足够请保留,以防出现问题)

dpkg -l | grep linux-image 
apt-get purge linux-image-?-?-?.deb

更新 GRUB 系统引导文件并重启

update-grub && reboot

开启 bbr 算法

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

保存生效

sysctl -p

执行

sysctl net.ipv4.tcp_available_congestion_control

若出现此结果则成功开启

bbr cubic reno

执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动

其他可用的拥塞算法

tcp_china 为例, Ubuntu 14.04 、 16.04 未换 4.9 以上内核时,按顺序执行这些命令:

apt update && apt install make gcc && git clone https://github.com/madeye/tcp_china && cd tcp_china && make
insmod tcp_china.ko
lsmod | grep tcp_china

看到 tcp_china 时说明已经加载成功了。

拥塞算法调优

若是对原理有一定理解,可以查看此教程进行参数调优。


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。
  1. avatarImg 默默

    请问博主能否提供远程协助?有酬劳

    Safari 12.0 iOS 12
    IP 属地 未知