CentOS7.4搭建shadowsocks

2018/2/8 posted in  Tips

安装 pip

pip是 python 的包管理工具。在本文中将使用 python 版本的 shadowsocks,此版本的 shadowsocks 已发布到 pip 上,因此我们需要通过 pip 命令来安装。

在控制台执行以下命令安装 pip

[root@server ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
[root@server ~]# python get-pip.py

安装配置 shadowsocks

在控制台执行以下命令安装 shadowsocks:

[root@server ~]# pip install --upgrade pip
[root@server ~]# pip install shadowsocks

安装完成后,需要创建shadowsocks的配置文件/etc/shadowsocks.json,编辑内容如下:

[root@server ~]# vim /etc/shadowsocks.json
{
"server": "0.0.0.0",
"local_address":"127.0.0.1",
"local_port": 1080,
"port_password": {
"8080": "填写密码",
"8081": "填写密码"
},
"timeout": 600,
"method": "aes-256-cfb"
}

说明:

method为加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table
port_password为端口对应的密码,可使用密码生成工具生成一个随机密码
以上两项信息在配置 shadowsocks 客户端时需要配置一致,具体说明可查看 shadowsocks 的帮助文档。

如果你不需要配置多个端口的话,仅配置单个端口,则可以使用以下配置:
{
"server": "0.0.0.0",
"server_port": 8080,
"password": "填写密码",
"method": "aes-256-cfb"
}

说明:

  • server_port为服务监听端口
  • password为密码

同样的以上两项信息在配置shadowsocks 客户端时需要配置一致。


配置自启动

编辑shadowsocks 服务的启动脚本文件,内容如下:

[root@server ~]# vim /etc/systemd/system/shadowsocks.service
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json

[Install]
WantedBy=multi-user.target

执行以下命令启动 shadowsocks 服务:

[root@server ~]# systemctl enable shadowsocks
[root@server ~]# systemctl start shadowsocks

检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:

systemctl status shadowsocks -l

确认服务启动成功后,配置防火墙规则,开放你配置的端口,不然客户端是无法连接的:

[root@server ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@server ~]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
success
[root@server ~]# firewall-cmd --reload
success