因为shadowsocks-python版本停止更新,本文改为安装配置shadowsocks-libev版本。
1. 安装shadowsocks
yum install -y gcc automake autoconf libtool make build-essential curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel git git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev ./configure && make make install
2. 新建shadowsocks的配置文件
mkdir -p /etc/shadowsocks vi /etc/shadowsocks/config.json
输入以下内容:
{ "server":"0.0.0.0", "server_port":8888, "local_address": "127.0.0.1", "local_port":1080, "password":"mypassword", "timeout":300, "method":"aes-256-cfb", }
说明:服务器IP,服务端口(建议自定义),本地监听IP,本地监听端口,密码(建议自定义),超时时间,加密算法。
3. 新建shadowsocks的service单元配置文件
vi /etc/systemd/system/shadowsocks-server.service
输入以下内容:
[Unit] Description=Shadowsocks service After=network.target [Service] Type=simple User=nobody ExecStart=/usr/local/bin/ss-server -c /etc/shadowsocks/config.json ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true KillMode=process Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
说明:如果服务端口数值小于1024,把nobody改为root。
4. 运行shadowsocks服务并设置为开机自启:
systemctl start shadowsocks-server.service systemctl enable shadowsocks-server.service
5. 防火墙开放shadowsocks服务端口:
firewall-cmd --permanent --add-port=8888/tcp firewall-cmd --reload
6. 常用操作
停止shadowsocks服务
systemctl stop shadowsocks-server.service
取消shadowsocks开机自启
systemctl disable shadowsocks-server.service
查看日志文件
服务器上使用 shadowsocks 客户端
配置
创建配置文件:
$ vim /etc/shadowsocks.json
内容如下
{
"server":"x.x.x.x", #ss服务器IP
"server_port":1035, #ss服务器端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"password", #连接ss密码
"timeout":300, #等待超时
"method":"rc4-md5", #加密方式(与服务器一致)
"fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
"workers": 1 # 工作线程数
}
启动shawodsocks
$ nohup ss-local -c /etc/shadowsocks.json /dev/null 2>&1 &
// 然后加入开机自启动
$ echo " nohup ss-local -c /etc/shadowsocks.json /dev/null 2>&1 &" /etc/rc.local
查看后台进程
$ ps aux |grep sslocal |grep -v "grep"
root 7587 0.1 0.1 184180 8624 pts/0 S 08:44 0:03 /usr/bin/python /usr/bin/sslocal -c /etc/shadowsocks.json /dev/null
测试我们的代理:
$ curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
返回以下的样子:
{
"origin": "45.124.xx.xx" # 如果这个 IP 是你 shadowsocks 服务器的 IP 就 OK了。
}