本教程旨在提供简明的Ubuntu 16.04下安装服务器端Shadowsocks。不同于Ubuntu 16.04之前的教程,本文抛弃initd,转而使用Ubuntu 16.04支持的Systemd管理Shadowsocks的启动与停止,显得更为便捷。优化部分包括BBR、TCP Fast Open以及吞吐量优化。
本教程仅适用于Ubuntu 16.04及之后的版本,基于Python 3,支持IPv6。
安装pip
本教程使用Python 3为载体,因Python 3对应的包管理器pip3
并未预装,首先安装pip3
:Bash
sudo apt install python3-pip
安装Shadowsocks
因Shadowsocks作者不再维护pip
中的Shadowsocks(定格在了2.8.2),我们使用下面的命令来安装最新版的Shadowsocks:Bash
pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip
安装完成后可以使用下面这个命令查看Shadowsocks版本:Bash
sudo ssserver --version
目前会显示“Shadowsocks 3.0.0”。
创建配置文件
创建Shadowsocks配置文件所在文件夹:Bash
sudo mkdir /etc/shadowsocks
然后创建配置文件:Bash
sudo nano /etc/shadowsocks/config.json
复制粘贴如下内容(注意修改密码“password”):JSON
{
"server":"::",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
然后按Ctrl + O
保存文件,Ctrl + X
退出。
测试Shadowsocks配置
首先记录下服务器的IP地址Bash
ifconfig
找到IPv4地址(和IPv6地址),如我的ifconfig
输出为
eth0 Link encap:Ethernet HWaddr 46:91:89:4e:c1:52
inet addr:138.68.51.55 Bcast:138.68.63.255 Mask:255.255.240.0
inet6 addr: fe80::4491:89ff:fe4e:c152/64 Scope:Link
inet6 addr: 2604:a880:2:d0::3727:7001/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:102667 errors:0 dropped:0 overruns:0 frame:0
TX packets:7869 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:151166937 (151.1 MB) TX bytes:1151476 (1.1 MB)
所以我的IPv4地址是138.68.51.55
,IPv6地址是2604:a880:2:d0::3727:7001
。
然后来测试下Shadowsocks能不能正常工作了:Bash
ssserver -c /etc/shadowsocks/config.json
在Shadowsocks客户端添加服务器,如果你使用的是我提供的那个配置文件的话,地址填写你的IPv4地址
或IPv6地址
,端口号为8388
,加密方法为aes-256-cfb
,密码为你设置的密码
。然后设置客户端使用全局模式,浏览器登录Google试试应该能直接打开了。
这时浏览器登录http://ip138.com/
就会显示Shadowsocks服务器的IP啦!
测试完毕,按Ctrl + C
关闭Shadowsocks。
配置Systemd管理Shadowsocks
新建Shadowsocks管理文件Bash
sudo nano /etc/systemd/system/shadowsocks-server.service
复制粘贴:
[Unit]
Description=Shadowsocks Server
After=network.target
[Service]
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/config.json
Restart=on-abort
[Install]
WantedBy=multi-user.target
Ctrl + O
保存文件,Ctrl + X
退出。
启动Shadowsocks:Bash
sudo systemctl start shadowsocks-server
设置开机启动Shadowsocks:Bash
sudo systemctl enable shadowsocks-server
至此,Shadowsock服务器端的基本配置已经全部完成了!