DigitalOcean 搬瓦工 Ubuntu14.04 手把手搭建Shadowsocks服务器图文教程

目录

 

###

 

前言

 

鉴于目前形势越来越严峻,越来越多的人倾向于通过自己购买VPS(Virtual private server)来搭建Shadowsocks服务器,一是安全(谁知道卖VPN的家伙有没有对我的上网记录和内容做些什么操作),二是稳定(前提是选择一个好的VPS提供商),三是自己可控。通过在网上阅读了大量的别人的经验或者指导教程后,我也终于把自己的Shadowsocks服务器搭建好了,使用了一个多星期后,没有什么问题,一切很好。所以决定记录一下,帮助那些恰好想在DigitalOcean或搬瓦工上用Ubuntu服务器搭建Shadowsocks的同学们。

 

 

VPS提供商的选择

 

我选择的是DigitalOcean.选择它家是因为最便宜的是5美元/月,符合我的预算(如果你没有PayPal账户或者信用卡,而且想要购买DigitalOcean的VPS的话,我可以提供代购服务,请参考我的淘宝店铺:VPS代购)。如果有同学怕麻烦,不愿意自己搭建的话,其实也可以考虑搬瓦工,针对特定的系统,它自带“一键Shadowsocks”以及“OpenVPN”的功能。省去你搭建shadowsocks麻烦。而且相对于DigitalOcean来说,搬瓦工有几个特别便宜的年付套餐:年付3.99美元年付4.99美元年付5.99美元年付9.99美元年付11.99美元等。另外,本人也提供搬瓦工的代购服务,详情直接点击这里。(2015.10更新:搬瓦工特别便宜的几个套餐都已经无货了,另外,搬瓦工也支持支付宝付款,所以也不需要代购了)废话说完了, 现在开始搭建教程:

 

 

注册

 

使用我的推荐链接进行注册,你可以得到10美元,而我也可以得到一定的回报。如果你不介意,请使用下面我的推荐链接:

https://www.digitalocean.com/?refcode=f9bcc18496fd
如果你介意,你可以直接使用https://www.digitalocean.com/ 进行注册。

打开DigitalOcean的页面后,看到如下页面:

index

输入你的邮箱和密码后,点击“CREATE ACCOUNT”。看到如下页面

1

此时,打开你刚才输入的邮箱,应该能收到DigitalOcean的确认邮件(如果没有收到邮件,请查看是否在你的垃圾邮箱里,如果还是没有,尝试点击“Resend”,再次发送验证邮件到你邮箱)。如果你用了我的推荐链接注册,你应该还会收到一封邮件,提示你已经获得奖励10美元。如下图

2

打开那封确认邮件,点击“CONFIRM EMAIL”,进行邮件验证,如下图:

3

 

点击“CONFIRM EMAIL”之后,会跳转到激活账号的页面,实际上也就是添加付款方式(不添加付款方式是不能创建你自己的VPS的,虽然你已经获得了我的推荐链接奖励给你的10美元,但是不添加你自己的付款方式,是没法使用的)。下面是添加付款方式的页面:

4

5

 

对于付款方式。DigitalOcean支付信用卡和PayPal两种方式。如果你有PayPal账户,个人推荐使用Paypal。原因有两点:一、安全。尽量不要把自己的信用卡信息留在网站上。一般能用PayPal的地方,我都用PayPal。二、如果你是信用卡支付,DigitalOcean在你账户余额不足的时候,会自动从你信用卡扣钱。个人不太喜欢这样。所以,接下来,使用PayPal充值,最少是5美元。如下图,点击Pay Now:

6

之后,跳转到Paypal的支付页面,如下图:

7

如果你已经有PayPal账户,点击“使用我的PayPal账户付款”。如果你没有PayPal账户,也可以通过PayPal直接使用你的信用卡或借记卡。建议如果没有PayPal账户的话,还是去注册一个比较好。以后使用方便。毕竟现在海淘的人也越来越多了,有PayPal账户,在不支持国内信用卡的网站上购物,还可以有PayPal这个曲线支付方式。好了, 付款完成后,网页会跳转回DigitalOcean,你的账户里应该就有15美元啦。如下图(因为我之前已经有一个DigitalOcean账户了,本文章里的图片,是我新建的演示账户,就没必要真的充值了。)

8

 

 

 

 

创建VPS

 

接下来,你就可以开始创建你的Droplet(也就是一台虚拟主机,一个账户至少可以创建10个Droplet,也就是说,你的账户可以创建10个虚拟主机)了,点击左边菜单的“Create Droplet”,如下图

9

之后你将看到如下页面:

10

Droplet Hostname,就是你的虚拟主机的名字,这个你随意填,就是一个标识作用,没什么特殊意义。

Select Size,默认选中的是10美元一个月的,咱用不着,选最低配置,5美元/月就足够使用了。继续,选择你的机房位置。DigitalOcean提供5个地区的机房,分别是纽约、阿姆斯特丹、旧金山、新加坡以及伦敦,其中纽约和阿姆斯特丹分别有三个机房。具体选择哪个,可以看你所在地的网络到DigitalOcean各个机房的网络情况。可以通过ping值来大概确定。DigitalOcean提供了以下测试地址:

纽约1号机房:speedtest-ny1.digitalocean.com

纽约2号机房:speedtest-nyc2.digitalocean.com

纽约3号机房:speedtest-nyc3.digitalocean.com

阿姆斯特丹1号机房:speedtest-ams1.digitalocean.com

阿姆斯特丹2号机房:speedtest-ams2.digitalocean.com

阿姆斯特丹3号机房:speedtest-ams3.digitalocean.com

旧金山1号机房:speedtest-sfo1.digitalocean.com

新加坡1号机房:speedtest-sgp1.digitalocean.com

伦敦1号机房:speedtest-lon1.digitalocean.com
你可以分别ping一下以上各个地址,看看哪个网络情况最好,就选择哪个机房。我ping过之后,我这里的网络是到新加坡的机房网络延迟最小,丢包率也最低,所以我自己选择是新加坡的机房。

关于Ping,很简单,如果你是linux用户,那么ping命令你肯定会,就不用我说了。如果你是windows用户,最简单的就是点击电脑屏幕左下角“开始”菜单-〉“所有程序”-〉“附件”-〉“命令提示符”。打开命令提示符,如下图:

11

然后通过ping命令来测试你的网络到各机房的延迟。输入

ping speedtest-sgp1.digitalocean.com

然后回车,出现下图结果:

12

如上图,我的网络到新加坡的延迟只有65ms,基本不丢包。你可以多测试几遍,找一个时间最小的,丢包率最低的,那么你的机房就选在那里。这里,我选择新加坡的机房如下图:

13

接下来选择你的操作系统了,DigitalOcean提供多种方式创建你的系统,有纯净的(暂时称为纯净的,因为就是一个初始的系统),有自带一些开发环境的,如LAMP,这个懂PHP建过站的人应该就知道了,也可以通过你自己创建的其它Droplet的快照来创建,甚至还可以通过你已经销毁的Droplet来创建。方式很多,这里,采用默认的第一种方式,即“Distributions”方式。至于系统,由于linux系统的发行版很多,也各有各的特点,在这里,选择Ubuntu 14.04 x64版,没有别的特别原因,只是我对这个比较熟一点。如果你有自己熟悉的系统,你可以选你自己适合的,如果你没有,那么,就跟我一样,选择ubuntu 14.04 x64版。如下图:

14

关于SSH Keys,可选。如果你熟悉这个,那你可以按照自己的需求来,如果你不熟,那就不用添加。

以上选择完毕,点击最下面的“Create Droplet”,看到如下页面:

15

不用一分钟,就可以创建好你的Droplet了,也就是说,你已经有了一台自己的VPS服务器了。创建好之后,如下图:

16

然后你会收到DigitalOcean的邮件,告知你VPS的IP,登录的用户名和密码。如下图:

17

以过以上操作,你就已经拥有一个独立VPS服务器了。接下来需要在你的服务器上安装Shadowsocks服务端了。

 

 

 

登录VPS

 

首先需要下载一个远程登录工具(如果你是Linux用户,那直接在terminal里连就行了),用以登录你的VPS。工具很多,比如 Putty, XShell等等,没有哪个好哪个坏,习惯用哪个就用哪个,不明白为什么那么多人总喜欢要争一个好坏,比如编程语言也是一样,每个语言都有各自擅长的领域,哪个能把活干好就行。工具嘛,自己用得顺手就好。这里我们用putty吧,只是因为下载比较方便,XShell下载麻烦些,得先填一些东西,然后才把下载地址发送到你邮箱。Putty下载地址:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

18

在下载页面,我们选第一个putty.exe就好。点击“putty.exe”,开始下载,下载完成后,我们双击putty.exe,打开登录画面如下图:

19

Host Name or IP address:填你VPS的IP,Port:端口默认22,Connection type:连接方式默认SSH。所以,填好IP之后,点“Open”,弹出如下提示:

20

大意就是警告你说,你没有连接过这个主机,可能存在危险,如果你不信任这个主机,那就取消连接。这里,是咱自己的主机,木有危险,大胆点击“是(Y)”即可。之后如下图:

21

输入你的用户名(root),然后回车,接着再输入密码,如下图:

22

这里有一点要注意,就是你输入密码的时候,你是看不到光标移动的,也就是说,你可能以为你没有输进去,而实际上你是输进去了的,所以大胆小心的输入你的密码。然后回车。

23

输入完正确的密码,回车之后,即登录成功了。此时,系统要求你修改root用户的初始密码.第一步,输入你现在的密码,然后回车;接着输入你的新密码,回车;最后再输一遍你的新密码,回车。OK,现在可以继续使用你的系统,开始安装shadowsocks服务端了。

###

 

 

安装Shadowsocks服务端

 

这里,参照Shadowsocks的官方页面的教程来就好(注意:以下输入的命令都是基于Ubuntu 14.04 x64这个操作系统,如果是其它Linux发行版,具体命令可能存在差异)。

安装:

在putty里,输入以下命令(为防止出错,你也可以先复制下面的命令,然后在putty里,单击鼠标右键,即可把复制的命令粘贴到putty里)

先更新系统,输入下面的命令,然后回车:

apt-get update

然后再安装python-pip:

apt-get install python-pip

24

然后回车看到如下画面:

25

首先一下蹦出这么多东西,是要告诉你,安装python-pip会将哪些东西安装到你的VPS上,安装完成后,会占用89.6M的磁盘空间,你是否想继续。毫无疑问,当然继续。输入Y然后回车,接下来就是一顿安装过程,然后看到如下画面:

26

这里是在提示你说,安装失败,因为有些包拿不到,可能需要运行apt-get update命令 或者 在前面的命令后加上 –fix-missing。没问题,我们就按照它的提示来,输入如下命令:

apt-get update

回车后,如下图:

27

看到加载完成了,好, 现在可以继续安装python-pip了,还是输入如下命令,开始安装python-pip

apt-get install python-pip

28

还是和前面一样,告诉你要安装多少东西,安装完成后占用多少磁盘空间。输入Y然后回车继续

29

好的, 没有任何错误提示,继续输入以下命令然后回车,开始正式安装Shadowsocks服务端了:

pip install shadowsocks

看到下面画面,就表示Shadowsocks服务端已经安装好:

30

接下来,继续按照Shadowsocks官方教程,添加配置文件,并启动Shadowsocks服务。接下来的操作,要尤其注意,请一步一步按照下面的步骤来,因为如果你对linux系统不熟,可能会对下面添加配置文件的时候出现任何编辑问题。好。先来把配置文件的内容准备好,以便一会可以直接粘贴到putty里。这里,随便打开你的一个文本编辑器,记事本就可以。如果你不会打开你的记事本,你就在你的桌面上新建一个文本文档,然后双击打开。填入以下内容(第一行和最后一行的大括号千万不能忘了),有几项是需要修改的:

{
“server”:”my_server_ip”,
“server_port”:8388,
“local_address”: “127.0.0.1”,
“local_port”:1080,
“password”:”mypassword”,
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”: false
}

31

只需要把 my_server_ip换成你VPS的IP,并且把 mypassword 换成你自己的密码,注意:这个密码不是你登录VPS的密码,是你一会从Shadowsocks客户端登录的时候用的密码.
server_port默认8388也行,你修改也行,这个端口是Shadowsocks客户端登录时用的端口号,如果你修改了,最好改成1024至65536之间的一个数字,并且自己一定要记住。其它的都默认就好。配置文件修改好之后,复制一遍。然后回到putty。输入如下命令,打开/etc路径下的shadowsocks.json文件,如果不存在,则自动创建:

vi /etc/shadowsocks.json

32

回车之后,看到如下画面,这时请严格按照下面的步骤来

33

 

注意最下面一行显示的内容是 :

“/etc/shadowsocks.json” [New File]

这时候,按一下键盘上的i,没错,就是字母i,意思是insert,插入的意思,即在shadowsocks.json里插入内容,按一下字母i之后,你将会看到最下面一行变成了下面的内容:

34

没错,就是变成了

– INSERT –

表示现在可以插入内容了。现在,在putty界面上,点一下鼠标右键,就会把你刚才从记事本里的内容粘贴到putty里来,效果如下图:

35

接下来,按一下键盘上的Esc键,就是键盘上最左上角的Esc键。按完之后,最下面的 – INSERT – 就消失了,表示,编辑结束,不能再插入内容了。如下图:

36

按完Esc键之后,我们继续输入下面的内容:

:wq

没错,就是冒号加上wq。冒号千万不能忘了。效果如下图:

37

然后回车,然后就回到下图的样子了:

38

此时,表示配置文件已经创建好了,如果你是一步一步严格按照我的步骤来的。

 

 

启动Shadowsocks服务端

 

下面就可以开始启动Shadowsocks服务端了。Shadowsocks服务端自身就已经支持后台运行了,所以,通过下面的命令启动之后,只要你的VPS不关机不重启,Shadowsocks服务端就会一直在后台运行。在putty中输入以下命令:

ssserver -c /etc/shadowsocks.json -d start

然后回车,效果如下图:

39

看到started没有,这就表示你的Shadowsocks服务端就已经启动了。此时就可以关掉你的putty,然后打开你的Shadowsocks客户端进行连接了。

最后一步,将shadowsocks加入开机启动。很简单,只需在/etc/rc.local加一句话就成。通过如下命令打开rc.local文件

vi /etc/rc.local

打开文件后,通过按键盘上的字母“j”,以使光标跳到下一行,直到光标到达exit 0的上一行。这时候,再按一个字母“i”,以便进入编辑模式:然后把下面这句话,粘贴进去:

/usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start

粘贴完成后,和上面编辑配置文件一样,选按键盘左上角的“ESC”键,然后输入”:wq”,保存退出。这样,开机就会自动启动shadowsocks了。不信,你可以试一下。

 

至于客户端的操作过程这里就不写了。下图是windows客户端的截图:

40

其中,服务器IP,就是你的VPS的IP,服务器端口,就是之前在记事本里编辑好的服务器端口,默认的是8388,如果你修改过,就填你修改的,密码就是之前在记事本里修改的密码。加密:就是之前在记事本里默认的aes-256-cfb加密方式。这也是目前推荐的加密方式。默认就好。其它的都默认,点击确定,就会自动连上你的Shadowsocks服务器了。

Android客户端也是一样的配置。填好相应的内容,就可以进行连接了。