Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!

Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!-LMLPHP
BlueMiaomiao关注0人评论
 

客户端下载地址: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配置:

Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!-LMLPHP

(2)系统优化篇:

shadowsocks有两种配置方法,一种是命令行参数配置,一种是配置文件。

1.命令行参数配置

Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!-LMLPHP

2.配置文件:

shadowsocks的配置文件是一个json形式的文件,各参数的意义和命令行参数意义相同,详解参看下文。

Shadowsocks服务器搭建及优化解决方案,教你如何正确上网!-LMLPHP

特别的:如果服务器是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

02-12 19:29