Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!
客户端下载地址:https://github.com/shadowsocks
(1)基础安装篇:
系统:Ubuntu
1. 查看Python版本:保证Python的版本是2.7及以上
root@xiaoqi:~#pyhton -V
2. 安装pip:
root@xiaoqi:~#apt install python-pip
3. 安装shadowsocks:
root@xiaoqi:~#pip install shadowsocks
4. 创建配置文件:
root@xiaoqi:~#vim /etc/shadowsocks.json
{
"server":"0.0.0.0",
"server_port":8089,
"local_port":1089,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
5. 启动服务:
root@xiaoqi:~#ssserver -c /etc/shadowsocks.json -d start
6. Windows配置:
(2)系统优化篇:
shadowsocks有两种配置方法,一种是命令行参数配置,一种是配置文件。
1.命令行参数配置
2.配置文件:
shadowsocks的配置文件是一个json形式的文件,各参数的意义和命令行参数意义相同,详解参看下文。
特别的:如果服务器是Linux系统的话,打开fast_open。
☆运行shadowsocks:
root@xiaoqi:~#ssserver -c /etc/shadowsocks/config.json
后台运行和停止:
root@xiaoqi:~#ssserver -c /etc/shadowsocks.json -d start
root@xiaoqi:~#ssserver -c /etc/shadowsocks.json -d stop
以上都是在root用户下运行的。
以root方式运行可能会有一些安全问题。所以一般都是使用普通用户运行:
root@xiaoqi:~#ssserver -c /etc/shadowsocks.json --user nobody -d start
如果需要开机自启动:
在/etc/rc.local中配置:
sudo ssserver -c /etc/shadowsocks.json --user nobody -d start
下面开始优化ssserver:
服务器:Linux 3.5及以上。
☆提高最大连接数:
编辑/etc/security/limits.conf文件,添加以下两行:
* soft nofile 51200
* hard nofile 51200
在启动shadowsocks之前先设置一下ulimit:
ulimit -n 51200
☆调整内核参数:
调整内核参数的目标是:
1.尽可能重用连接和端口号
2.尽可能增大队列和缓冲区
3.为高延迟和高流量选择合适的TCP拥塞算法
编辑/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
net.ipv4.tcp_congestion_control = hybla
运行sysctl -p生效。
☆多用户配置:修改/etc/shadowsocks.json
{
"server":"your_server_ip",
"port_password":{
"port":"password",
"port ":"password",
"port":"password",
"port":"password",
...
},
"timeout":60,
"method":"rc4-md5",
"fast_open":open,
"workers":1
}
参数解释:
☆使用管理器:(CentOS):
1.安装管理器:
[root@data ~]# yum install supervisor -y
2.创建配置文件:
[root@data ~]# vim /etc/supervisord.conf
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log
service supervisord start
service supervisord stop
service supervisord restart
service supervisord reload
service supervisord force-reload
service supervisord try-restart
service supervisord status
☆其他ssserver操作:
1.查看当前VPS上的Shadowsocks服务端版本号:
pip show shadowsocks
2.升级VPS上的Shadowsocks服务端:
pip install --upgrade shadowsocks
reboot
3.在CentOS中安装ssserver:
[root@data ~]# yum install epel-release
[root@data ~]# yum update
[root@data ~]# yum install m2crypto python-setuptools
[root@data ~]# easy_install pip
[root@data ~]# pip install shadowsocks