1. 程式人生 > >Shadowsocks服務器搭建,教你如何正確上網!

Shadowsocks服務器搭建,教你如何正確上網!

oss sock super 查看 忽略 流量 升級 如果 width

(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


Shadowsocks服務器搭建,教你如何正確上網!