搬瓦工+shadowsocks:搭建自己的VPN服务器

一早起来发现付费的VPN用不了了,看今天消息也是大批的VPN失效。公司的电脑长年不关机所以一直连着的VPN暂时还能访问外网,于是想办法自己搭个能翻墙的服务器,程序员不能Google的话编码能力得打个折扣。

搜索了一波,大部分的搭建方式推荐的是vps + Shadowsocks,至于Shadowsocks的工作原理可以看看这篇简单的科普文章,简单来说,就是在境外部署一个服务器作为代理,本地与这个境外服务器之间的通信通过Shadowsocks加密,以避免被GFW过滤拦截掉。

购买VPS

VPS用的是搬瓦工,官网:bandwagonhost.com(需翻墙访问)和bwh1.net。关键的一点是这货能直接用支付宝支付,给没有信用卡的同学提供了便捷支付的途径。

个人使用可以选个最便宜的每月2.99$,折合人民币也就20块几毛,年付19.99$,折合人民币130块,大概10块每月的样子(使用优惠码” BWH1ZBPVK “再省6%)。和市面大部分收费的vpn费用差不多。看配置应该是够用了的。

(目前月付2.99$,年付19.99$的套餐可能处于缺货状态,可以选择月付3.99$年付29.99$的套餐。该套餐为CN2路线,中国用户访问速度更快,可以说专为中国用户定制。年付29.99美元CN2套餐 )

image1

选择KVM, 为嘛选这个,因为据说KVM是完全虚拟的,可以说是最真实的虚拟机,内存不共享,并且可以做很多事情,比如装docker。

image1

有按月按季度按年的,先选个按月的,第一次用也不知道稳不稳定。Location是服务器的地址,到时候打开谷歌首页显示的国家会和这个相关。

image1

确认之后点击点击 Checkout

image1

填写完相关的资料后付款,选择Alipay直接支付宝扫码付款。:)

image1

安装Shadowsocks服务器

购买成功后回到首页,先选择右上角的 Client Area,然后选择 My Services

image1

点击 KiwiVM Control Panel 进入服务器的控制面板

image1

侧边栏选择 Main controls,可以看到当前服务器的信息,IP地址后续需要提供给客户端。操作系统默认安装了 Centos,你可以在左边的 Install new OS 中选择其他的系统,有UbuntuDebian,只需几分钟便可重装完毕。

不过最好还是使用 Centos,因为系统提供一键安装Shadowsocks的脚本只支持 Centos,换了其他系统的话脚本安装会失败,除非你会在对应系统上自己手动安装。

image1

点击侧边栏最下方的 Shadowsocks Server 选项,进入之后直接点击 Install Shadowsocks Server 按钮,运行脚本在服务器上安装Shadowsocks,稍等片刻安装完毕。

image1

安装完成后重新点击 Shadowsocks Server 选项,进入界面后便可看到 Shadowsocks server 的相关信息,主要有加密方式端口号服务器密码,后续客户端连接服务器需要用到这些信息。

image1

安装Shadowsocks客户端

下载地址

Windows

Android

Mac

Windows配置

下载shadowsocks.exe文件,双击运行,弹窗填写账号信息。
Shadowsocks编辑服务器

主要有四个地方要填,服务器的地址端口号加密方法密码。服务器地址即为之前 Main controls选项中的IP地址。端口号、加密方法、密码必须与之前 Shadowsocks Server 中的信息一一匹配,否则会连接失败。

Android配置

下载shadowsocks.apk,安装并打开app,点新建(+)、手动配置,
Shadowsocks-Android客户端上的KCP配置说明 - 第1张 | 扩软博客要填写的地方同上。再点击链接,就可以了。

 

配置

用的是Mac电脑,所以点击相关链接。东西都挂在github上,下载对应的zip文件,下载完成后安装并运行起来。

image1

点击图标,进入 服务器设置

image1

主要有四个地方要填,服务器的地址端口号加密方法密码。服务器地址即为之前 Main controls选项中的IP地址。端口号、加密方法、密码必须与之前 Shadowsocks Server 中的信息一一匹配,否则会连接失败。

image1

设置完成后点击确定,然后服务器选择这个配置,默认选中PAC自动模式,确保Shadowsocks状态为On,这时候打开谷歌试试~

image1

Google图标右下角显示的是Canada,因为之前服务器的地址选的是加拿大:)

iOS配置

iOS上用的VPN App 是Wingy,可以App Store上直接搜。官方的Wingy下载是免费的,注意分辨有些图标相似的App。

下载完成后运行,点击 选择线路

image1

选择 新增线路

image1

选择 Shadowsocks(R)

image1

在配置界面填写服务器相关的信息,和Mac上的一样,填写完成后保存,然后在首页进行连接。

image1

于是手机也能愉快的翻墙了。:)

其他端的配置方式也基本一致,可以根据使用的平台下载对应的客户端。下载好的客户端最后自己在别处备份一下,因为官网需要翻墙,以方便后续其他未翻墙的机器下载。

后记

Shadowsocks 貌似是国内某大神写的开源项目,后来迫于相关法律条例github上相关项目已删除。现在github上有关的项目不知还能存在多久,赶紧先fork,有时间自己研究下。

使用了一天,感觉不比之前付费的差,试了试看YouTube的视频,反正在公司网络下不卡。

自己搭建的vpn好处是可以和别人共享,告诉别人相关的配置信息即可。市面上一些收费的vpn还会有限制,比如说不让看YouTube有一定流量限制不能分享账号否则封号等。2.99刀配置的貌似一个月流量有550G,一般是完全足够了的。

在Vultr上搭建shadowsocks(只需2.5美元/月,支持支付宝)

教程很简单,整个教程分三步

第一步:购买VPS服务器

第二步:一键部署VPS服务器

第三步:一键加速VPS服务器 (谷歌BBR加速;对速度要求不高的话,此步骤可省略)


第一步:购买VPS服务器

VPS服务器需要选择国外的,首选国际知名的vultr,速度不错、稳定且性价比高。

vultr注册地址:vultr官网 (全球15个服务器位置可选,KVM框架。如果需要选购2.5$/月套餐,请选择迈阿密Miami、纽约Newyork机房)

虽然是英文界面,但是现在的浏览器都有网页翻译功能,鼠标点击右键,选择网页翻译即可翻译成中文。

注册并邮件激活账号,充值后即可购买服务器。充值方式是paypal或支付宝(2017年8月30日Vutrl支持支付宝付款,最低充值10美元即70元左右),使用paypal有信用卡即可。paypal注册地址:https://www.paypal.com (paypal是国际知名的第三方支付服务商,相当于国内的支付宝。注册一下账号,绑定信用卡即可购买国外商品)

2.5美元/月的服务器配置信息:单核 512M内存 20G SSD硬盘 100M带宽 500G流量/月

5美元/月的服务器配置信息:单核 1G内存 25G SSD硬盘 100M带宽 1000G流量/月

10美元/月的服务器配置信息:单核 2G内存 40G SSD硬盘 100M带宽 2000G流量/月

20美元/月的服务器配置信息:2cpu 4G内存 60G SSD硬盘 100M带宽 3000G流量/月

40美元/月的服务器配置信息:4cpu 8G内存 100G SSD硬盘 100M带宽 4000G流量/月

vultr实际上是折算成小时来计费的,比如服务器是5美元1个月,那么每小时收费为5/30/24=0.0069美元 会自动从账号中扣费,只要保证账号有钱即可。如果你部署的服务器实测后不理想,你可以把它删掉(destroy),重新换个地区的服务器来部署,很方便。温馨提醒:同样的服务器位置,不同的宽带类型和地区所搭建的账号的翻墙速度会不同,所以最好亲测一下。

如图:

购买vps服务器时,服务器地址优先选择:美国硅谷(Silicon Valley)、美国达拉斯(Dallas)、日本东京(Tokyo)、美国洛杉矶(Los Angeles)、新加坡(Singapore)等。推荐选择CentOS 6.X64位的系统(系统版本不要选的太高,不然会影响后面的加速脚本的安装)。完成购买后,找到系统的密码记下来,部署服务器时需要用到。如图:


第二步:部署VPS服务器

购买服务器后,需要部署一下。因为你买的是虚拟东西,而且又远在国外,我们需要一个叫Xshell的软件来远程部署。Xshell windows版下载地址:

百度软件中心

如果你是苹果电脑操作系统,请自行搜索并下载能远程连接vps服务器的软件的MAC版,关键词可以这样搜索“Mac OS X 平台有哪些好用的 SSH 客户端”


部署教程:

下载xshell软件并安装后,打开软件

选择文件,新建

随便取个名字,然后把你的服务器ip填上

连接国外ip即服务器时,软件会先后提醒你输入用户名和密码,用户名linux系统默认都是root,密码是购买服务器后的cent系统的密码。 

连接成功后,会出现如上图所示,之后就可以复制粘贴代码部署了。

【一键部署ss代码】

wget –no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log

 

———————————————————代码分割线————————————————

上面的代码总共有4行(显示5行),复制时要一起复制下来,以下脚本类似。

复制代码粘贴到vps服务器里,按回车键,进入部署。

安装完成后,脚本提示如下:

Congratulations, Shadowsocks-python server install completed!
Your Server IP :your_server_ip
Your Server Port :your_server_port
Your Password :your_password
Your Encryption Method:your_encryption_method

Welcome to visit:https://teddysun.com/342.html
Enjoy it!

 

上述表示部署成功。从上往下依次为SS帐号的IP、端口、密码和加密方式。

最后可以重启服务器确保部署生效。重启需要在命令栏里输入reboot ,输入命令后稍微等待一会服务器就会自动重启,一般重启过程需要2~5分钟,重启过程中Xshell会自动断开连接,等VPS重启好后才可以用Xshell软件进行连接。如果部署过程中卡在某个位置超过10分钟,可以用xshell软件断开,然后重新连接你的ip,再复制代码进行部署。

这个脚本的演示就结束了,图中的IP仅作演示用,教程发布后会失效。有人想了,我以后有想修改密码或者端口的需求怎么办?这个脚本修改密码和端口不是很方便,需要把最初的部署代码重新输入一遍,即从头到尾部署一遍即可。

 

第三步:一键加速VPS服务器

此加速教程为谷歌BBR加速,仅支持KVM框架的vps服务器,vultr的服务器都是KVM框架。如果你购买的不是vultr的服务器,那么你需要搞清楚你买的vps服务器是否是KVM框架的,很重要。(vultr的服务器默认的系统只能装谷歌bbr)

该加速方法是开机自动启动,部署一次就可以了。

按照第二步的步骤,连接服务器ip,登录成功后,在命令栏里粘贴以下代码:

【谷歌BBR加速教程】

yum -y install wget

wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

chmod +x bbr.sh

./bbr.sh

把上面整个代码复制后粘贴进去,不动的时候按回车,然后耐心等待,最后重启vps服务器即可。

演示开始,如图:

复制并粘贴代码后,按回车键确认

如下图提示,按任意键继续部署

部署到上图这个位置的时候,等待3~6分钟

最后输入y重启服务器或者手动输入代码reboot来确保加速生效。

 


【SS客户端下载】

Windows SS客户端下载地址

MAC SS客户端下载地址

安卓 SSR客户端下载地址

苹果手机SS客户端:Wingy(免费),Potatso Lite、Potatso、shadowrocket都可以作为SS客户端,但这些软件目前已经在国内的app商店下架,请用美区的appid账号来下载,网络上有申请国外appid的教程或者淘宝购买。

有了账号后,打开SS客户端,填上信息,这里以windows版的SS客户端为例子

在对应的位置,填上服务器ip、服务器端口、密码、加密方式,大功告成。