Linux 搭建 shadowsocks 服务器端及其优化

部署 shadowsocks-python 服务端

特性

  • 配置简单
  • 一键操作

点击进入 GitHub 官方项目地址

使用一键脚本部署 shadowsocks python 服务端,执行以下命令即可。

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
# 下一行若想使用 bbr 算法请去掉
net.ipv4.tcp_congestion_control = hybla

可以选用 BBR 算法

Linux 内核版本 4.9 以后开始支持 BBR 算法,下载最新内核,最新内核查看 这里
注意:Debian 9 自带内核就是 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, 则证明你的内核已成功开启 bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明 bbr 已启动

其他可用的拥塞算法

  1. TCP Qvegas
  2. QTCP
  3. TCP_China by madeye (推荐)
  4. KernelPCC

想用 TCP_China 的话, Ubuntu 14.04 、 16.04 未换 4.9 以上内核时,按顺序执行这些命令:

apt-get update && apt-get 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 时说明已经加载成功了。

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

标签:linux

添加新评论