Blog

Centos安装shadowscoksr+Fianlspeed并进行TCP连接优化

   Fianlspeed是2015年就出的黑科技,因为之前觉得要装windows客户端,自己扶墙需求也没那么多,觉得部署麻烦就一直没试过,后面在@老王 的指点下装了一个玩玩,效果简直太赞了,没用fs之前vps看720p都有压力,上了fs之后1080p毫无压力,还可以试下4K画质的视频,在此感谢老王,另外帮他推广下,有需要网络压力测试(Ddos)的可以联系他。他的网站:https://www.czyaer.me/

    建议使用centos系统,建议首选kvm或xen架构的vps。

首先安装Fianlspeed

rm -f install_fs.sh && wget http://fs.d1sm.net/finalspeed/install_fs.sh && chmod +x install_fs.sh && ./install_fs.sh 2>&1 | tee install.log

如果上述地址安装失败,可试下以下命令:

rm -f install_fs.sh && wget http://d.zmrbk.com/vpn/fs/install_fs.sh && chmod +x install_fs.sh && ./install_fs.sh 2>&1 | tee install.log

其次安装泰迪熊的一键安装shadowscoksr脚本

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
chmod +x shadowsocksR.sh
./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

设置FS的服务端口:

mkdir -p /fs/cnf/ ; echo 33899 > /fs/cnf/listen_port ; sh /fs/restart.sh


每分钟监控一次shadowsocks进程,如果ss进程没有运行则重启ss。

cat > /root/ss.sh  <<END
#!/bin/sh
pid=`ps aux| grep "shadowsocks" | grep -v grep | sed -n  '1P' | awk '{print $2}'`
if [ -z $pid ]; then
        python /usr/local/shadowsocks/server.py  -c /etc/shadowsocks.json -d start
        exit 1
else
        echo -e "exist ,don't need restart"
fi
END
chmod +x ss.sh
echo "*/1 * * * * /bin/sh /root/ss.sh" >> /var/spool/cron/root
每分钟监控一次Fianlspeed进程,如果fs进程没有运行则重启ss。
cat > /root/fs.sh  <<END
#!/bin/sh
pid=`ps aux| grep "java" | grep -v grep | sed -n  '1P' | awk '{print $2}'`
if [ -z $pid ]; then
       sh /fs/restart.sh
        exit 1
else
        echo -e "exist ,don't need restart"
fi
END
chmod +x fs.sh
echo "*/1 * * * * /bin/sh /root/fs.sh" >> /var/spool/cron/root

Fianlspeed管理命令:
卸载:sh /fs/stop.sh ; rm -rf /fs
启动:sh /fs/start.sh
停止:sh /fs/stop.sh
重启:sh /fs/restart.sh
日志:tail -f /fs/server.log


最后进行TCP优化设置(TCP优化之后可以进一步稳定FS链接效果,减少断线)

打开  /etc/security/limits.conf  将下列代码加入文件最后

* soft noflie 51200
* hard noflie 52100

打开  /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_reuser = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
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_fsatopen = 3
net.ipv4.tcp_mem = 25600 52100 102400
net.ipv4_tcp_rmem =4096 87380 6108864
net.ipv4_tcp_wmem =4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_centrol = hybla

输入
sysctl -p
ulimit -n 51200
启动SS! 完成!
可以考虑部署Finalspeed,ServerSpeeder,flashtcp。

ps:据老王说这个优化只在centos下测试过,有空的话可以自己在其它系统上测试一下。

注意问题
客户端必须准确设置物理带宽,最终加速的速度不会超过所设置的带宽值,如果设置值高于实际带宽会造成丢包,导致速度变慢.
客户端首选tcp协议,如果udp不稳定,请切换到tcp.
若服务器为openvz架构,客户端只能选择udp协议,其他架构同时支持tcp和udp协议.
windows客户端使用tcp协议时不兼容锐速,停止锐速后可以正常运行.
FinalSpeed不提供加密功能,如有安全需求,不要直接加速明文协议.

fs和ss结合详细使用方法可参考:流量加速插件 FinalSpeed介绍及一键安装教程

Finalspeed客户端下载:http://d.zmrbk.com/soft/fs1.2.exe

shadowscoksr客户端下载:http://d.zmrbk.com/soft/ShadowsocksR-win-3.7.4.1.7z

shadowscoksr安卓客户端下载:http://d.zmrbk.com/soft/shadowsocks-nightly-2.9.10.apk


本文参考了

泰迪熊的文章:ShadowsocksR一键安装脚本

老王的文章:Linux上的shadowsocks服务端优化方法


没有评论

Leave a Reply