Shadowsocks 优化
Shadowsocks是我一直在用的一款代理软件(菜鸡不会像鱼神那样自己写一套型的协议出来)。为了发挥出SS最大的效率,我们在配置好基础的SS Server之后,可以对SS的配置进行一下优化。
其中优化主要是三个层面:1.系统层面 2.加密层面 3.网络层面
1.系统层面
基于kvm架构vps的优化 这方面SS给出了非常详尽的优化指南,主要有:优化内核参数,开启TCP Fast Open
1.1优化内核参数 编辑vi /etc/sysctl.conf 复制进去
保存生效 sysctl -p 其中最后的hybla是为高延迟网络(如美国,欧洲)准备的算法,需要内核支持,测试内核是否支持,在终端输入: sysctl net.ipv4.tcp_available_congestion_control 如果结果中有hybla,则证明你的内核已开启hybla,如果没有hybla,可以用命令modprobe tcp_hybla开启。
对于低延迟的网络(如日本,香港等),可以使用htcp,可以非常显著的提高速度,首先使用modprobe tcp_htcp开启,再将net.ipv4.tcp_congestion_control = hybla改为net.ipv4.tcp_congestion_control = htcp,建议EC2日本用户使用这个算法。
1.2 TCP优化 1.修改文件句柄数限制 如果是ubuntu/centos均可修改/etc/sysctl.conf 找到fs.file-max这一行,修改其值为1024000,并保存退出。然后执行sysctl -p使其生效 修改vi /etc/security/limits.conf文件,加入
针对centos,还需要修改vi /etc/pam.d/common-session文件,加入 session required pam_limits.so
2.修改vi /etc/profile文件,加入 ulimit -SHn 1024000 然后重启服务器执行ulimit -n,查询返回1024000即可。
1.3 锐速 锐速是TCP底层加速软件,官方已停止推出永久免费版本,但网上有破解版可以继续使用。需要购买的话先到锐速官网注册帐号,并确认内核版本是否支持锐速的版本。
一键安装速锐破解版
1 wget -N –no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh一键卸载
1 chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f设置
1 2 3 4 5 6 Enter your accelerated interface(s) [eth0]: eth0 Enter your outbound bandwidth [1000000 kbps]: 1000000 Enter your inbound bandwidth [1000000 kbps]: 1000000 Configure shortRtt-bypass [0 ms]: 0 Auto load ServerSpeeder on linux start-up? [n]:y #是否开机自启 Run ServerSpeeder now? [y]:y #是否现在启动执行lsmod,看到有appex0模块即说明锐速已正常安装并启动。
至此,安装就结束了,但还有后续配置。 修改vi /serverspeeder/etc/config文件的几个参数以使锐速更好的工作
重读配置以使配置生效/serverspeeder/bin/serverSpeeder.sh reload
查看锐速当前状态/serverspeeder/bin/serverSpeeder.sh stats
查看所有命令/serverspeeder/bin/serverSpeeder.sh help
停止/serverspeeder/bin/serverSpeeder.sh stop
启动/serverspeeder/bin/serverSpeeder.sh start
重启锐速service serverSpeeder restart
1.4 开启TCP Fast Open 这个需要服务器和客户端都是Linux 3.7+的内核,一般Linux的服务器发行版只有debian jessie有3.7+的,客户端用Linux更是珍稀动物,所以这个不多说,如果你的服务器端和客户端都是Linux 3.7+的内核,那就在服务端和客户端的vi /etc/sysctl.conf文件中再加上一行。
然后把vi /etc/shadowsocks.json配置文件中”fast_open”: false改为”fast_open”: true。这样速度也将会有非常显著的提升。
2. 加密层面
2.1 安装M2Crypto 这个可以提高SS的加密速度,安装办法: Debian/Ubuntu apt-get install python-m2crypto 安装之后重启SS,速度将会有一定的提升
CentOS 先安装依赖包: yum install -y openssl-devel gcc swig python-devel autoconf libtool 安装setuptools:
再通过pip安装M2Crypto: pip install M2Crypto 或者pip install M2Crypto --upgrade
2.2 安装 gevent 安装 gevent可以提高 Shadowsocks 的性能。 Debian/Ubuntu
1 2 3 4 5 6 apt-get install python-dev apt-get install libevent-dev apt-get install python-setuptools apt-get install python-gevent easy_install greenlet easy_install geventCentOS
1 2 3 yum install -y libevent pip install greenlet pip install gevent2.3 使用CHACHA20加密算法 首先,安装libsodium,让系统支持chacha20算法。 Debian/Ubuntu
1 2 3 4 5 apt-get install build-essential wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz tar xf LATEST.tar.gz && cd libsodium* ./configure && make && make install ldconfigCentOS
1 2 3 4 5 6 7 8 9 10 11 12 yum groupinstall “Development Tools” wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz tar zxf LATEST.tar.gz cd libsodium* ./configure make make install vi /etc/ld.so.conf 添加一行: /usr/local/lib 保存退出后,运行命令: ldconfig然后修改ss加密方式: vi /etc/shadowsocks.json “method”:”aes-256-cfb”改成”method”:”chacha20”,重启SS即可/etc/init.d/shadowsocks restart
3.网络层面
此外,选择合适的端口也能优化梯子的速度,广大SS用户的实践经验表明,检查站(GFW)存在一种机制来降低自身的运算压力,即常用的协议端口(如http,smtp,ssh,https,ftp等)的检查较少,所以建议SS绑定这些常用的端口(如:21,22,25,80,443),速度也会有显著提升。 如果你还要给小伙伴爬,那我建议开启多个端口而不是共用,这样网络会更加顺畅。
3.1 防火墙设置(如有) 自动调整MTU iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
开启 NAT (记得把 eth0 改成自己的网卡名,openvz 的基本是 venet0 ) iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
开启 IPv4 的转发 sysctl -w net.ipv4.ip_forward=1
打开 443 端口
1 2 iptables -I INPUT -p tcp –dport 443 -j ACCEPT iptables -I INPUT -p udp –dport 443 -j ACCEPT重启防火墙iptables: service iptables restart
参考 https://www.zxc.so/shadowsocks-ladder.html https://teddysun.com/339.html
转载来源 https://github.com/iMeiji/shadowsocks_install/wiki/shadowsocks-optimize
Enjoy Reading This Article?
Here are some more articles you might like to read next: