CentOS 7下安装Shadowsocks 搭建ss

每次搭ss都要上网查一下教程,但网上的教程都没有提到针对CentOS7下的防火墙的处理,这里便想自己写一篇留个档。

安装pip

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

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

1
2
$ curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
$ python get-pip.py

安装配置Shadowsocks

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

1
2
$ pip install --upgrade pip
$ pip install shadowsocks

安装完成后,创建配置文件/etc/shadowsocks.json,内容如下

笔者习惯创建多端口的配置,故此以多端口为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"server":"0.0.0.0",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password":{
"8381": "D77b73E578",
"8382": "53AFf96aEf",
"8383": "6E18a11eA2",
"8384": "OTU0OWQ2Nz"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

几点说明:

  • server处填写你的服务器的地址
  • method为加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table

ss的启动与停止都很简单

1
2
$ ssserver -c /etc/shadowsocks.json -d start #启动
$ ssserver -c /etc/shadowsocks.json -d stop #停止

解决CentOS7的防火墙问题

CentOS 7默认使用的是firewall作为防火墙

输入以下指令放行ss端口

1
2
3
4
$ firewall-cmd --permanent --add-port=8381/tcp
$ firewall-cmd --permanent --add-port=8382/tcp
$ firewall-cmd --permanent --add-port=8383/tcp
$ firewall-cmd --permanent --add-port=8384/tcp

再重启firewall

1
$ firewall-cmd --reload

然后你就可以通过你的shadowsocks上网啦!