DigitalOcean 搭建 Shadowsocks 服务


自己搭建服务器进行科学上网的最佳操作指南。


作者:生命壹号

前言

这两年的主流梯子基本围绕着 Shadowsocks 做文章,目前来看相对稳定。
要使用 Shadowsocks 一般有两个办法,各有利弊:
  • 购买商家搭建好的完整服务。优点是相对便宜,不用自己折腾,随买随用。缺点是无法个性化配置,网络稳定性受服务商影响时好时坏,没准哪天还跑路了。
  • 自己租用海外云主机搭建。优点是独享带宽,可配置性强。缺点是相对较贵,且需要自行挑选适合自己网络情况的云主机,自行搭建。
第二种方式除了上面所说的优点之外,还能结合微林的服务实现国内跳板,大幅提升访问速度并减少丢包率,所以这是我现在所采用的方法。

VPS推荐:DigitalOcean

Shadowsocks的正常使用需要服务端,其实所有的FQ方式都需要服务端,搭建服务端需要你拥有一个属于自己的VPS。个人推荐DigitalOcean。
DigitalOcean 注册地址(使用本链接进行注册,你会立即到账 10 美元,可使用两个月)。使用前请记得使用 PayPal 充值($5)以激活账户。
DigitalOcean各节点测试域名:
San Francisco: speedtest-sfo1.digitalocean.com
新加坡: speedtest-sgp1.digitalocean.com
New York: speedtest-ny1.digitalocean.com
Amsterdam: speedtest-ams1.digitalocean.com
英国伦敦: speedtest-lon1.digitalocean.com
备注:
可能有些人会选择购买阿里云服务器(香港或美国地区)作为vps。这种方法也可以实现FQ,但并不推荐。原因:所谓术业有专攻,阿里云主机适合纯粹用来托管博客或作为门户网站,以及平时自己折腾的一些小应用。要FQ的话,阿里云的网络还是不如国外这些专业优化的。

创建一个 VPS

  1. 进入 DigitalOcean 控制面板,点击右上脚的Create Droplet
  2. 选择系统(CentOS 7.0 x64)、套餐(选最便宜的 $5/mo)、节点选美国的San Francisco或新加坡Singapore(貌似Singapore的丢包率更少)
  3. “Select additional optins” 保持默认;
  4. “Add your SSH keys” 根据自己需要,这里不添加的话可以在创建完之后自己手动添加,暂时可以不用管;
  5. 根据自己的需要修改 hostname;
  6. 点击 “Create” ,VPS 就创建成功了。你的注册 Email 会收到 VPS 的 IP 和 ROOT 密码。
注册完毕后,你的注册邮箱里会收到VPS的IP地址和root密码。DigitalOcean在首次登陆VPS的时候系统会提示你修改密码,输入一次原密码后,连续输入两次新密码就OK了,DigitalOcean默认SSH端口为22,用户名是root。使用Xshell或者putty进行远程登陆即可。

配置 Shadowsocks 服务

安装Shadowsocks 和 Supervisor

输入如下命令:(出现确认提示的时候,输入 y 后,回车即可)
# yum -y install epel-release
# yum update
# yum -y install python-setuptools supervisor
# easy_install pip
# pip install shadowsocks
这样 Shadowsocks 和 Supervisor 就已经安装好了。(Supervisor 是一个进程管理工具,详情见Supervisor基础

配置 Shadowsocks

执行如下命令:
# vi /etc/shadowsocks.json
复制以下内容到文件 /etc/shadowsocks.json 中(请自行修改 server_port 和 password,其他参数不用改):
{
    "server": "0.0.0.0",
    "server_port": 5080,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "123456",
    "timeout": 500,
    "method": "aes-256-cfb",
    "fast_open": true
}
配置文件说明:
server 服务端监听的地址,服务端可填写 0.0.0.0
server_port 服务端的端口
local_address 本地端监听的地址
local_port 本地端的端口
password 用于加密的密码
timeout 超时时间,单位秒
method 默认 “aes-256-cfb”,建议chacha20或者rc4-md5,因为这两个速度快
fast_open 是否使用 TCP_FASTOPEN, true / false(后面优化部分会打开系统的 TCP_FASTOPEN,所以这里填 true,否则填 false)

配置 Supervisor

配置 Supervisor 是为了方便管理 Shadowsocks 进程。
执行如下命令:
# vi /etc/supervisord.conf
用方向键将光标调整至文件尾部的空行处,然后一次性复制下面的内容:
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
添加服务并启动 supervisord:
# systemctl enable supervisord
# systemctl start supervisord
# supervisorctl reload
到此 Shadowsocks 已经在 CentOS 7 x64 下安装配置成功,重启服务器使服务生效:
# reboot
此时,你的VPS重新启动,服务端已经完全配置完毕,此时远程连接已断开,关闭即可(不是报错)。
结束以上部分,登陆ShadowSocks客户端,就可以正常使用 Shadowsocks 服务了。

微林 VnetLink(SS 跳板服务)

如果走移动的网,出国带宽比较给力(8M左右),但是网不稳定,因此大部分时间还是得走电信的网。
但是因为我的Shdowsocks部署在DigitalOcean 的SGP机房,电信的网虽然稳定,但是直连DigitalOcean SGP跑到1M都有压力,虽然说基本的搜索服务还是可以满足,但是如果要看Youtube的720p、1080p等,还得找方法优化一下网速的想法。
为了解决观看高清视频卡顿的问题,我购买了微林的 vxTrans 服务,从这个邀请链接注册,咱们每人新增 5GB 流量
vxTrans就是网络优化服务,其实就是一个转发流量的服务,总共可以走七条线路。
注册完成之后,操作如下:
(1)在设置选项里勾上 vxTrans,其他可以不勾。
(2)目前微林创建连接点时需要先验证目标主机,详见https://vnet.link/service/vxtrans/index授权列表的提示,按照提示进行授权操作。授权成功后,授权列表中会出现服务器的ip地址。
(3)在这里新建一个连接,目的地址填你的 SS 服务器地址,目的端口填你的 SS 服务端口,我用的是中国电信的网,所以入口地址选 China Telecom (即CN2),名称随便起。
(4)连接建立成功后,会生成一个新的入口地址和新的入口端口。打开你平时连接 Shadowsocks 的客户端,把 服务器地址 改成 新的入口地址,把服务器端口改成 新的入口端口,密码不用变。然后连接就好啦!
测试一下,恩~ 果然速度飞起,可以直接连电信国际精品网,访问国外的没有被墙的网站也很快(已经被墙了的还是要走Shadowsocks),看youtube的1080p更是毫无压力。
如果速度不理想,可以在第三步可以尝试选择不同的入口地址试试。

进阶答疑

(1)我搭建过程中不小心出错,想重新来过,如何重装VPS的系统?
DigitalOcean:VPS控制面板里,Destroy,Rebuild。
(2)我开始选择的节点线路不理想,如何切换机房?
DigitalOcean:删除原来的,新建一台你想要机房的VPS,需要重新搭建Shadowsocks服务端。

参考链接

发表评论