转载自:http://blog.51cto.com/xvjunjie/2071369
客户端下载地址: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
}
参数解释:
参数 |
解析 |
server |
监听地址 |
server_port |
监听端口 |
local_address |
本地监听地址,直接写127.0.0.1就可以,默认就是127.0.0.1,不用更改 |
local_port |
本地监听端口 |
password |
客户端连接密码 |
timeout |
超时时间,单位是秒 |
method |
加密方式,有”bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”,推荐使用:aes-256-cfb |
auth |
值为true/false 开户一次性认证,但默认安装时,配置文件里没有此参数,可忽略,手机客户端有这个选项,但可以不开启 |
fast_open |
是否启用TCP-Fast-Open, 如果服务器和客户端都部署在Linux 3.7.1或更高版本上,则可以打开fast_open以实现更低的延迟. 首先设置fast_open为true然后在您的操作系统上暂时打开快速打开: echo 3 > /proc/sys/net/ipv4/tcp_fastopen |
wokers |
worker数量,默认为 1,(这个只在unix和Linux下有用,可不设置) |
☆使用管理器:(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