每次搭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作为防火墙,这里我们将使用iptables
在控制台中执行以下命令关闭及禁用firewall
1
2
3
|
$ systemctl stop firewalld.service #停止firewall
$ systemctl disable firewalld.service #禁止firewall开机启动
|
然后在控制台中执行以下命令安装iptables
1
|
yum -y install iptables-services
|
然后执行以下命令开放端口
1
|
iptables -A INPUT -p tcp -dport 此处填端口号 -j ACCEPT
|
最后重启防火墙使配置生效并设置防火墙开机启动
1
2
3
|
$ systemctl restart iptables.service
$ systemctl enable iptables.service
|
然后你就可以通过你的shadowsocks上网啦!