CentOS7下安装配置shadowsocks

Shadowsocks是当前比较受欢迎的科学上网工具,本文将介绍如何在 CentOS 7下安装和配置 Shadowsocks 服务。

如果需要科学上网,当前服务器必须不在墙内,否则无法达到预期效果。 本文只介绍了服务器安装Shadowsocks和简单配置。如果要在客户端正常使用可能还需要一些代理软件。比如:WindowsMacOSXAndroidIOS或者使用AppStore搜索OpenWingy这个软件。

安装

安装epel和pip

安装epel扩展源,并采用Python包管理工pip安装。

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

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

安装Shadowsocks

在命令行运行下面的命令安装shadowsocks:

pip install --upgrade pip
pip install shadowsocks

配置

普通配置

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

{
    "server": "0.0.0.0",
    "server_port": 1111,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "mypassword",
    "timeout": 300,
    "method": "aes-256-cfb",
    "fast_open": false
}
字段 说明 是否必须
server 服务端监听地址,使用0.0.0.0也可以
server_port 服务端端口
local_address 本地监听地址,默认即可
local_port 本地监听端口,需要跟其他进程不重复
password 密码
timeout 超时时间(秒)
method 加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table
fast_open 是否启用TCP-Fast-Open,true或者false

以上三项信息在配置 shadowsocks 客户端时需要配置一致,具体说明可查看 shadowsocks 的帮助文档。

配置多个用户

除了上面的配置,也可能使用多端口多密码配置,彼此没有干扰,内容如下:

{
    "server":"0.0.0.0",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password": {           --每个端口对应一个密码
        "1111": "password1",
        "1112": "password2",
        "1113": "password3"
    },
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

进程管理

  • 启动进程
sudo ssserver -c /etc/shadowsocks.json -d start
  • 关闭进程
sudo ssserver -c /etc/shadowsocks.json -d stop
  • 重启进程
sudo ssserver -c /etc/shadowsocks.json -d restart

检查进程

分别使用psnetstat命令查看进程和端口

sudo yum -y install net-tools
ps aux |grep shadowsocks
netstat -tunpl|grep 1111

使用Supervisord管理进程

如果未使用Supervisord管理后台进程,可以参考文章下面的连接设置开机自启动等。

管理配置

针对shadowsocks的Supervisord的配置可以参考下面的配置。

[program:shadowsocks]
process_name=%(program_name)s_%(process_num)02d
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=nobody
numprocs=1
redirect_stderr=true
stdout_logfile=/var/log/shdowsocks.out.log
stderr_logfile=/var/log/shdowsocks.err.log

重载配置

重载配置之前请先保证shadowsocks进程未启动。

sudo supervisorctl reread && sudo supervisorctl update

参考链接

results matching ""

    No results matching ""