重装 Shadowsocks 记录

重装 Shadowsocks 记录
Photo by Armand Khoury / Unsplash

我之前使用的是 Linode 的主机,但最近由于某些原因访问缓慢加丢包,因此换了新的主机,仍然使用的是 CentOS 7 x64,Shadowsocks 是必装的,我这里选择的是 Shadowsocks-libev(版本号 2.3.3),和 Python 版本略有不同,在安装和配置过程中参考了其他作者的文章,在此表示感谢。
记录如下:

1.下载源码并编译安装
$ wget https://github.com/shadowsocks/shadowsocks-libev/archive/v2.3.3.zip
$ unzip v2.3.3.zip
$ cd shadowsocks-libev-2.3.3

#这一步会提示缺少必要的文件,通过错误信息基本上可以定位缺少的是哪个库,使用 yum 安装即可。 
$ ./configure 
$ sudo make && make install
2.生成配置文件
$ sudo vim /etc/shadowsocks/config.json

输入如下内容

{
    "server":"0.0.0.0",
    "server_port":"1234",
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"password",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

其中的参数作用如下:

server 服务器的 ip 地址,默认填写 0.0.0.0 即可
port 监听的端口号
local_address 自带客户端 ss-local 连接的 ip 地址,暂时用不到
local_port 自带客户端 ss-local 连接的端口号,暂时用不到
password 密码
timeout 超时时间,单位为秒
method 加密方式
fastopen 是否开启 TCP_FASTOPEN
workers worker 数量,暂时用不到
######3.运行 Shadowsocks 服务,并添加到开机启动 ```bash $ sudo vim /etc/systemd/system/shadowsocks.service ``` 输入如下内容 ```ini [Unit] Description=Shadowsocks Server After=network.target

[Service]
Type=forking
PIDFile=/var/run/shadowsocks/server.pid
PermissionsStartOnly=true

;创建 Shadowsocks pid 文件的路径
ExecStartPre=/bin/mkdir -p /var/run/shadowsocks

;这里的 root:root 对应下文的 User 和 Group
ExecStartPre=/bin/chown root:root /var/run/shadowsocks

;这里是启动 Shadowsocks 的命令,-f 为 上文 pid 文件的路径,-c 为上文配置文件的路径
ExecStart=/usr/local/bin/ss-server -f /var/run/shadowsocks/server.pid -c /etc/shadowsocks/config.json
Restart=on-abort

;运行Shadowsocks 的用户名
User=root

;运行Shadowsocks 的组名
Group=root
UMask=0027

[Install]
WantedBy=multi-user.target

然后执行如下命令:
```bash
#运行 Shadowsocks 服务
$ sudo systemctl start shadowsocks.service
#将 Shadowsocks 添加到开机启动
$ sudo systemctl enable shadowsocks.service
4.防火墙配置,开启端口
#这里的1234 为配置文件中的端口号
$ sudo firewall-cmd --permanent --add-port=1234/tcp
$ sudo firewall-cmd --reload

参考文章

CentOS 7 搭建 Shadowsocks
Centos 7 安装配置 Shadowsocks
加密方式
CP_FASTOPEN