1.安装pip

  Pip 是 Python 的包管理工具,下载ss十分方便,但是centos是没有pip的,我们需要安装一个。

yum install python-setuptools & easy_install pip          //装了python-setuptools 再去安装pip。

或者用 

yum install python-pip
//若提示没有pip就执行下面的安装

yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip

2.安装Shadowsocks 客户端

  shadowsocks安装时是不分客户端还是服务器端的,只不过安装后有两个脚本一个是sslocal代表以客户端模式工作,一个是ssserver代表以服务器端模式工作。命令:

pip install shadowsocks

3.配置shadowsocks

  shadowsocks有两种配置方法,一种是命令行参数配置,一种是配置文件。

  ·命令行参数

Centos7 ss搭建-LMLPHP

  ·配置文件:

  shadowsocks的配置文件是一个json形式的文件,各参数的意义和命令行参数意义相同。

{
    "server":"my_server_ip",
    "server_port":8388,
    "password":"mypassword",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": true
} 

  服务器地址就写服务器的ip地址(内网地址),不要写127.0.0.1。端口号可以自己写,但是不要占用其他服务的端口。密码尽量采用复杂一点的密码,以保证安全性。加密方式使用aes-256-cfb就可以了。如果服务器是Linux系统的话,打开fast_open。

  温馨提示:
  1)如果出现报错: Cannot assign requested address, 请将 server 换成 0.0.0.0, 然后重新启动上面的命令。
  2)也可以进行多用户设置,已经测试可用!
{
"server": "my_server_ip",
"port_password": {
"8388": "mypassword",
"8389": "mypassword2",
"8390": "mypassword3"
},
"timeout":30,
"method":"aes-256-cfb",
"fast_open": ture
}

  新建配置文件

vi   /etc/shadowsocks.json

  按 i 进入编辑模式,复制粘贴填写以上配置内容,改完之后esc退出编辑模式 ,   敲下:wq   保存退出 

4,启动shadowsocks

# 启动
ssserver -c /etc/shadowsocks.json -d start

# 停止
ssserver -c /etc/shadowsocks.json -d stop

# 重新启动
ssserver -c /etc/shadowsocks.json -d restart

  如果启动后不确定自己是否成功,可以使用  

ps -aux | grep ssserver

#ps是 linux 查看系统进程的工具

  如果像下图一样能查到相关结果,证明这个进程已经启动成功了。  

Centos7 ss搭建-LMLPHP

5.加入开机启动 (进程调用模式,服务模式)

  ·进程调用模式

  把 shadowsocks 服务端进程设置为开机启动:

vi /etc/rc.local

  按i进入Insert模式,在exit 0上面的空白行加入: 

sudo ssserver -c /etc/shadowsocks.json -d start

  然后esc接着:wq

  ·服务模式

  创建名为”ssserver“的服务:

vi /etc/systemd/system/ssserver.service

  粘贴以下配置

[Unit]
Description=ssserver
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target

  相关命令

#设置服务开机启动
systemctl enable ssserver

#禁止服务开机启动
systemctl disable ssserver

#启动服务
systemctl start ssserver

#重启服务
systemctl restart ssserver

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

systemctl status ssserver -l

  Centos7 ss搭建-LMLPHP

lsof -i:8388

  Centos7 ss搭建-LMLPHP

  至此,Shadowsocks服务器端的配置完成。同时注意,在如上的Shadowsocks部署机器上要关闭iptables防火墙(如果开启iptables防火墙,则需要放开8388端口访问)

6.开启防火墙

  Centos默认使用firewall防火墙,防火墙不开放我们设置的8388端口,我们shadowsocks是转发不出去的。所以,我们要开放firewall端口。

  firewalld的基本使用

启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

     先看看firewalld的状态。

Centos7 ss搭建-LMLPHP

  可以看到firewalld正在活动,如果是dead,那么就输入上面的启动命令,启动firewalld。

   那怎么开启一个端口呢?

firewall-cmd --zone=public --add-port=8388/tcp --permanent    # permanent永久生效,没有此参数重启后失效

  开启还不够,因为firewalld还没有载入这个设置。所以我们要重新载入规则。

firewall-cmd --reload

          到这里,我们就已经开放好8388端口了。

05-11 20:55