记录一次搭建Shadwosocks服务的方法

前提

  1. 拥有一台海外的VPS服务器, 例如搬瓦工.
  2. 了解Linux的基本操作指令, 本文使用的是Centos6.

操作流程

使用XShellSecureCRT等工具远程连接上你的服务器.

开始安装Shadwosocks

输入下面的命令并回车(一条一条来)

1
2
3
4
5
wget --no-check-certificate -O shadowsocks.sh https://git.io/vlsWe

chmod +x shadowsocks.sh

./shadowsocks.sh 2>&1 | tee shadowsocks.log

当你执行完了上面的命令时就会出现几个步骤:
第一个叫你输入Shadowsocks连接密码,如不输入,密码默认为:teddysun.com
第二个叫你输入Shadowsocks连接端口,个人使用推荐使用443端口,如不输入,端口默认为:8989


第三个叫你选择加密算法,推荐chacha20,输入15即可.

然后按任何键开始安装Shadowsocks,比如按回车键,按Ctrl+C可中止安装

Shadowsocks安装完成

当出现下图所示证明Shadowsocks已经安装完成,你可以尝试使用客户端去连接一下是否可用了

优化 Shadowsocks 速度

接下来优化一下Shadowsocks的速度。
注意,由于搬瓦工VPS的系统镜像已经集成 BBR 优化。如果你使用其他的VPS,应该自行使用BBR或者锐速等方式去优化。

ulimit优化

输入下面的命令并回车。(加大ulimit数值并加入开机启动)

1
ulimit -n 51200 && echo ulimit -n 51200 >> /etc/rc.local

limits优化

输入下面的命令并回车,一条一条来。

1
2
echo "* soft nofile 51200" >> /etc/security/limits.conf
echo "* hard nofile 51200" >> /etc/security/limits.conf

sysctl优化

输入vi /etc/sysctl.conf回车
之后按 i 键或者按 Insert 键开始修改
在后面增加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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_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_syncookies = 1
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1

修改结束之后按一下 ESC 键输入 :wq 再按一下回车,保存退出,如下图片所示。
说明一下,如果你修改错了,想要重新来过,按一下 ESC 键输入 :q! ,再按一下回车,就会退出了。
再说明一下:wq,这个是一个冒号和wq,冒号啊,也就是键盘上L键右边那个键,务必为英语输入状态下


再然后输入:sysctl -p回车

使用chacha20加密算法

在 开始安装Shadowsocks 的时候已经选择 chacha20-ietf-poly1305 加密算法,一般来说,使用 chacha20-ietf-poly1305 加密算法即可。不使用 chacha20 。在此,故不再做修改。

使用微林加速Shadowsocks

如果你用了上面的优化加速方案感觉自己搭建的Shadowsocks还是慢慢的,那么可以尝试这个是否有效果!
你是否听过某些提供Shadowsocks服务的说XXX中转线路,全天YouTube高清没压力……等等,和微林加速也是一样的性质的
注册账号: https://vnet.link/reg
注意,貌似木有新用户木有免费送试用流量,所以可能需要充值才能使用。
只要是使用vxtrans,教程参考官方说明吧。

Shadowsocks如何修改端口和密码

输入vi /etc/shadowsocks.json回车

1
2
3
4
5
6
7
8
9
10
{
"server":"0.0.0.0",
"server_port":6666,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"hello",
"timeout":300,
"method":"chacha20-ietf-poly1305",
"fast_open":false
}

如上面的配置,端口是6666,密码是hello。
修改端口就是更改server_port的值。
修改密码就是更改password的值。
修改结束之后按一下 ESC 键输入 :wq 再按一下回车,保存退出
之后输入:/etc/init.d/shadowsocks restart回车

Shadowsocks开启多用户

输入vi /etc/shadowsocks.json回车,下面是配置示范。

1
2
3
4
5
6
7
8
9
10
11
12
{
"server":"0.0.0.0",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{
"443":"password0",
"444":"password1"
},
"timeout":300,
"method":"chacha20-ietf-poly1305",
"fast_open": false
}

其实就是删除了server_portpassword,之后增加一个port_password
写法就是 json 文件格式的写法。
如上面配置,开启了443端口密码是password0,开启了444端口密码是password1
修改结束之后按一下 ESC 键输入 :wq 再按一下回车,保存退出
之后输入:/etc/init.d/shadowsocks restart回车

卸载

如果你需要卸载Shadowsocks
使用命令:./shadowsocks.sh uninstall,然后输入 y 即可。


至此,一次愉快的Linux学习经历就此结束了, 又学会了一个软件的安装和部署,真棒;