在 Linux 上部署 shadowsocks 服务,以便科学上网。
部署服务端
特性
- 使用 Python 语言构建
- 配置简单
- 一键操作
点击进入 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 Qvegas
- QTCP
- TCP_China by madeye (推荐)
- KernelPCC
以 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
时说明已经加载成功了。
拥塞算法调优
若是对原理有一定理解,可以查看此教程进行参数调优。
- 调整教程: http://intronetworks.cs.luc.edu/current/html/newtcps.html
- 调整工具: https://github.com/Gasparila/TCPTuner
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2023-10-07 17:05 PM
请问博主能否提供远程协助?有酬劳