DigitalOcean搭建Shadowsocks服务

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

作者:生命壹号

原文链接:http://smyhvae.com/20160516/

博客园链接:http://www.cnblogs.com/smyhvae/p/5501734.html

前言

这两年的主流梯子基本围绕着 Shadowsocks 做文章,目前来看相对稳定。

要使用 Shadowsocks 一般有两个办法,各有利弊:

  • 购买商家搭建好的完整服务。优点是相对便宜,不用自己折腾,随买随用。缺点是无法个性化配置,网络稳定性受服务商影响时好时坏,没准哪天还跑路了。

  • 自己租用海外云主机搭建。优点是独享带宽,可配置性强。缺点是相对较贵,且需要自行挑选适合自己网络情况的云主机,自行搭建。

第二种方式除了上面所说的优点之外,还能结合微林的服务实现国内跳板,大幅提升访问速度并减少丢包率,所以这是我现在所采用的方法。

VPS推荐:DigitalOcean

Shadowsocks的正常使用需要服务端,其实所有的翻墙方式都需要服务端,搭建服务端需要你拥有一个属于自己的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。这种方法也可以实现翻墙,但并不推荐。原因:所谓术业有专攻,阿里云主机适合纯粹用来托管博客或作为门户网站,以及平时自己折腾的一些小应用。要翻墙的话,阿里云的网络还是不如国外这些专业优化的。

创建一个 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 后,回车即可)

1
2
3
4
5

# yum -y install epel-release
# yum update
# yum -y install python-setuptools supervisor
# easy_install pip
# pip install shadowsocks

这样 Shadowsocks 和 Supervisor 就已经安装好了。(Supervisor 是一个进程管理工具,详情见Supervisor基础

配置 Shadowsocks

执行如下命令:

1
# vi /etc/shadowsocks.json

复制以下内容到文件 /etc/shadowsocks.json 中(请自行修改 server_port 和 password,其他参数不用改):

1
2
3
4
5
6
7
8
9
10

{
"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 进程。

执行如下命令:

1
# vi /etc/supervisord.conf

用方向键将光标调整至文件尾部的空行处,然后一次性复制下面的内容:

1
2
3
4
5

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root

添加服务并启动 supervisord:

1
2
3

# systemctl enable supervisord
# systemctl start supervisord
# supervisorctl reload

到此 Shadowsocks 已经在 CentOS 7 x64 下安装配置成功,重启服务器使服务生效:

1
# 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服务端。

参考链接

我的「云」账单

史上最详尽Shadowsocks从零开始一站式翻墙教程

DigitalOcean 搭建 Shadowsocks 服务和优化方案

新公司入职我折腾「科学上网」的那些事



原文:http://smyhvae.com/20160516/

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s