2018年1月26日星期五

用Google Cloud Platform搭建Shadowsocks服务教程

经过一天的努力和摸索,终于完成了 Shadowsocks 的搭建并优化提速,遗憾的是没有找到突破 netflix 封锁的办法,希望大神指点迷津。
以下内容分四步
一、Google Cloud Platform虚拟机部署
二、升级VPS内核开启BBR
三、搭建Shadowsocks server
四、设置Shadowsocks server开机启动
本人不是码农,基本算是零基础,相信你照着我下面的步骤也会成功的。

操作平台:win7及以上x86及x64系统均可
需要工具:能访问Google的网络、VISA信用卡

一、Google Cloud Platform虚拟机部署

1.申请试用GCP

谷歌云平台可让您构建和主机应用程序和网站,存储数据,并分析对谷歌的可扩展基础架构的数据。
申请地址:请点击

登陆你的谷歌账户,必须使用信用卡,而且不能使用虚拟卡,招商银行、中信银行的全币种卡、浦发银行的 VISA 卡均可以通过验证。理论上 VISA 卡均可获得通过,由于我绑过美区的 Google Wallet 所以我选的是美国,选择中国后绑定信用卡会填写个人信息可以如实填写信用卡账单地址,添加信用卡和购物网站一样,不赘述。成功后会于扣款1刀,验证卡片后会返还。
GCD 现在免费赠送300刀期限是一年,也就是300刀和一年时间谁先用完就以谁为准,结束之后你不点继续使用时不会扣费的。

2.修改防火墙

这一步很多教程是最后再设置,但是我选择提前设置,这样后面部署好SS服务就可以直接使用了。
直接访问:请点击
或者在菜单中依次点击 【网络】 –> 【防火墙规则】 –> 【创建防火墙规则】
如图选择相关项目。

设置按照上图来设置,名称自己取,IP 地址范围:0.0.0.0/0
保存后会生成规则,请耐心等待。

3.获取静态IP

这一步很重要,只有有了静态IP,你后面部署的SS服务才能用。
直接访问 请点击
或者在菜单中依次点击 【网络】–> 【外部 IP 地址】 –> 【保留静态 IP】

google cloud已经改版,可直接跳过这步,直接新建VM虚拟机,然后按下图位置切换为静态IP即可

名称自定义即可
PS:静态 IP 只能申请一个!!!
大陆速度最佳的机房是台湾彰化的机房了,asia-east1-c对大陆最友好
还有东京亚洲东区,也就是东京机房了asia-northeast1-a

4.创建计算引擎

直接访问 : 请点击
或者在菜单中依次点击 【计算引擎】–> 【创建实例】

机器类型里面选最便宜的那个微型就够用,启动磁盘选Ubuntu16.04LTS,其他系统也可以只要是你会部署的,我只能参照其他教程搞定Ubuntu1604所以我选择这个

这里内部ip选择你刚刚得到的那个静态IP,这样虚拟机就完成了设置

Google Cloud 自带的浏览器 SSH 挺好用的,推荐使用!另外如果你是chrome浏览器的话推荐SSH for Google Cloud Platform 这个插件给你,chrome内扩展程序安装地址是:
点击上图的ssh后就直接弹出来,我测试时用的chrome63,一直连接不上,提示各种错误,最后还是直接用Xshell5连接进行操作的。

至此,第一部分GCD上的准备工作和部署全部完成,

二、升级vps内核开启BBR

由于众所周知的原因,单纯部署完shadowsocks服务之后速度都不会太理想,即使你选择的是台湾、日本这种很好的线路,依然会存在丢包和不稳定的情况。因为这一步会需要重新启动,所以放在部署SS服务之前。
这下面的东西我都不懂,扒自这个教程 你照着一步一步来绝对没问题。
BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差。
Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于 KVM 架构 VPS 如何开启。

准备工作

进入ssh后不是root权限,先获取root权限
sudo –i
更新系统(两行命令分开执行,第二步等待时间较长,会出现####和进度百分百,耐心等)
apt update
apt upgrade
查看当前内核版本
uname –a
然后你会发现发现版本低于 4.9,新版google cloud的 ubuntu 16.04 最新内核已经为4.13,所以下面的更新内核步骤可以跳过。

安装新内核
apt install linux-image-4.10.0-20
卸载旧内核
apt autoremove
启用新内核
update-grub
重启
Reboot
验证内核版本
uname –r
看到如下类似如下回显,版本号为4.10.0-20-generic

启用BBR

写入配置
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
配置生效
sysctl -p
检验
lsmod | grep bbr
看到回显tcp_bbr 20480 0说明已经成功开启 BBR
不需要重新启动,我们接下来直接开始在虚拟机部署SS

三、搭建Shadowsocks server

首先更新一下 apt-get 软件包
sudo apt-get update
然后通过 apt-get 安装 python-pip
sudo apt-get install python-pip
完成之后使用 pip 安装 shadowsocks 服务
sudo pip install shadowsocks

说明安装成功
然后我们需要创建一个 shadowsocks server 的配置文件,可以直接建在当前用户目录下
sudo vim /etc/ss-conf.json
回车之后会进入这个创建的文件,按键盘上的 insert键会进入编辑,然后把下面的内容输入进去。按ESC键会发现左下角的insert消失,shift+:这个组合键左下角出现:输入wq回车就保存退出文件。红色字体分边是端口和密码,设置成你想要的就行了
{
"server":"0.0.0.0",  
"server_port":8808,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"123456",
"timeout":600,
"method":"aes-256-cfb"
}
7.31日更新:上面的内容有网友反映直接复制会报错,请注意以下两点:1代码的全部内容必须为英文半角输入,2server_port与password后面的数字内容请自定义,也就是你之后在shadowsocks客户端上配置使用的端口和密码。
最后用这个配置文件启动 shadowsocks 服务
sudo ssserver -c /etc/ss-conf.json -d start
但是服务器可能会自动重启,这样的话就需要每次手动开启SS服务,很麻烦而且还会遇到要用梯子但是梯子在墙外的这种困境,怎么办呢?那么我们进入第四步,写脚本让系统开机后自动启动ss服务。

四、设置Shadowsocks server开机启动

       自启动方法有很多,本文示例就拿最简单的方法,直接在启动文件rc.local加入启动命令,示例如下:

输入命令: sudo vi /etc/rc.local  

进入编辑模式,复制以下启动命令

sudo ssserver -c /etc/ss-conf.json -d start



加入exit 0 这个代码上一行,这步不能错,否则不能运行。

然后保存退出,输入reboot重新启动

输入:netstat -lnp 查看你之前设置的端口有没有打开,应该是两个进程(tcp和udp)相同的端口,有则设置成功,无的话请对照以上步骤重新设置。

转载于:http://godjose.com/2017/06/14/new-article/ ,部分内容为自己实机操作后进行修改而成。

2 条评论:

  1. 修改端口、密码是不是就按照第三步操作?

    回复删除
  2. 按第三步修改为你自己想要的用户名及密码即可。

    回复删除