![](https://img.haomeiwen.com/i9840904/f1f5b57e92b441c5.png)
查看最新更新: https://www.wmsoho.com/google-cloud-platform-ssr-bbr-tutorial/
1. Google Cloud Platform (GCP) 简介
Google Cloud Platform (以下简称GCP)是Google提供的云平台, 可以用来搭建加速服务, 网站和存储数据等等, 本文将介绍如何申请GCP一年的免费试用、Linux服务器环境搭建、配置BBR加速以及安装SSR等服务端. 网上关于如何搭建GCP的教程很多, 不过都不是太详尽. 如果你是没基础的新手, 或者像下图这位童鞋踩到坑不知所措的话, 希望这篇教程能帮到你 :)
![](https://img.haomeiwen.com/i9840904/4a5d7fd5045debfd.png)
2. Google Cloud Platform 优势
大家用得比较多的可能是Linode, 搬瓦工, Vultr等VPS, 收费$5-$20美金左右.
最近LinodeIP段也封得比较多, 基本上开十多台机器都难找到能PING通的IP.
另外还有各种VP/恩基本都挂了.
至于XX路由器, 本质上只是刷了个固件内置了SS服务而已, 略过不提.
GCP的优势在于:
-
免费
Google云服务平台对新用户赠送300美元, 可以免费使用1年.
并且到期后如果不打算续费, 也不会额外收取费用 (像亚马逊AWS就直接扣你费用了).
如果还想继续用, 直接新注册个账号, 免费 :)
用来搭SS的话, 最低配置的机型$5/月, 出口大陆流量1T以内为0.23$/1G, 算下来每个月可用80多G的流量, 足够用了, 当然你还可以顺便搭个网站之类的 :)
![](https://img.haomeiwen.com/i9840904/cb0d5990a3e83635.png)
-
速度快
Google GCP有美国, 亚洲, 欧洲等机房, 而亚洲机房就在厦门正对面的台湾省彰化县, TTL只有40ms左右,快到飞起, 而Linode、Vultr等通常是200多;
3. 需要准备的东西
Gmail账号
-
双币信用卡
(淘宝购买的虚拟卡无法使用, 不要浪费钱) -
Xshell
: SSH客户端 (也可用Google自带的在线SSH, 以后比较方便).
Xshell不建议用绿色版, 某些电脑没装运行库的话可能无法打开.
另外之前官方5.0 Build 1322版本存在后门, 所以还是去官网下载最新的安装版吧.
Xshell 5官网下载地址点我, 目前家庭与学校用户可免费使用. 填写姓名和邮箱并提交表单后, 邮箱会收到下载链接. -
puttygen
: SSH密钥生成工具. 官网下载地址: puttygen 32位 , puttygen 64位 -
能访问Google
(额, 这貌似是个悖论, 你可以先找其他临时方案) - 需要一定动手能力以及Linux系统基础知识, 想省事或遇到问题的, 请找人工付费服务...
废话不多说,下面直接上教程:
4. 申请Google Cloud Platform
4.1 注册
申请地址: https://cloud.google.com/free/
![](https://img.haomeiwen.com/i9840904/1035133eb72bd934.png)
点击免费试用
, 登入Gmail账号.
地区选中国
.
[图片上传失败...(image-b69261-1514646631247)]
账号类型选个人
, 接下来输入账单地址以及信用卡信息. Google会从信用卡扣除1美元用于验证, 验证完成后会退还到账户.
点击开始免费试用
.
4.2 激活结算账号
注册成功后可能并不能马上使用 (国内注册的基本都需要激活, 当然也不排除你人品好的情况), Gmail邮箱会受到一封标题为紧急通知:您的结算帐号 XXXXX 已经被暂停使用
的邮件, 你需要点击邮件中的链接, 上传身份证和信用卡照片完成验证 (信用卡照片可以遮住或PS掉敏感信息, 只保留最后四位, 自己看页面提示), 一般提交后10分钟左右就能收到通过的邮件, 验证完成后就可以正常使用了.
这一步很多人会忽略, 结果就是创建实例的时候会不停提示你Enable Billing Account, 但是指引界面又没有明确说明要怎么激活, 即使是进到账号管理界面也无法自己开启. 所以别忘了去喵一眼你的邮箱 :)
![](https://img.haomeiwen.com/i9840904/372e62496183e01f.png)
结算账号验证成功后会显示消息:
![](https://img.haomeiwen.com/i9840904/b9bcd9ac8a57b10d.png)
4.3 修改防火墙规则
有的文章是先创建实例再改规则.
我们先修改防火墙规则, 后面会省事一点.
直接访问 https://console.cloud.google.com/networking/firewalls/list
点击创建防火墙规则
, 按下图设置:
[图片上传失败...(image-877dd8-1514646631247)]
4.4 准备SSH密钥
这一步用Xshell连接时需要用到, 以后本地连接管理更方便.
当然你也可以直接用Google自带的在线SSH, 那这一步可忽略.
4.4.1 生成密钥
打开puttygen.exe, 直接点生成
(英文版点generate
), 在空白区域移动鼠标以生成随机数据.
[图片上传失败...(image-234d31-1514646631247)]
密钥注释: 填写你的Gmail账户名, 如邮箱username@gmail.com, 则填写username.
密码: 不填也没事.
我用的putty是中文版, 如果你是官网下载的英文版请参考下图, 个别选项不一样.
[图片上传失败...(image-e99e75-1514646631247)]
4.4.2 保存私钥
点击转换
(Conversions
) - 导出openssh密钥
(Export Open SSH Key
). 等会Xshell连接VPS会用到.
生成器窗口先不要关闭.
![](https://img.haomeiwen.com/i9840904/cb02f06af1ece4c7.png)
4.5 创建计算引擎
4.5.1 创建实例
直接访问 https://console.cloud.google.com/compute/instances
或登录GCP控制台后, 点击计算引擎
- 创建实例
. 如图:
[图片上传失败...(image-a16ab5-1514646631247)]
-
名称
: 随便填 -
地区
: 建议选asia-east1-c
asia-east1-a, asia-east1-b, asia-east1-c 机房都在中国台湾彰化县, 实测c区更好.
asia-south1 机房在印度孟买
asia-northeast1 机房在日本东京
别选错了跑来说怎么延迟不一样.... -
机器类型
: 选微型(一个共享vCPU)
0.6G内存, 一般加速上网, 看视频, 玩游戏都够用了. 不够再换 -
启动磁盘
: 推荐选CentOS 7.
本文命令都是基于CentOS 7, 如选Debian, Ubuntu等其他系统, 命令会稍有不同, 自行解决.
4.5.2 生成静态IP
点击网络选项卡
--外部IP
--创建IP地址
.
![](https://img.haomeiwen.com/i9840904/eedfe1f30c5e2347.png)
关于IP会有
静态
和临时
两个两个选项.
推荐选择静态, 选择临时的话机器重启后会重新分配IP地址.
更多信息可以去Dashboard中的
网络
-VNC网络
-外部IP地址
或直接点击https://console.cloud.google.com/networking/addresses/list查看.
把IP记下来, 用Xshell连接的时候会用到.
静态IP一定记得绑定到实例.
已分配但未被使用的IP, 会按$0.01/小时计费.
4.5.3上传SSH公钥
点击SSH密钥
选项卡
![](https://img.haomeiwen.com/i9840904/924b5cb0f516a6e4.png)
在文本框内填入4.4.1步骤中puttygen中生成的公钥
, 注意是下图中蓝色部分的内容, 直接全选
并复制
, 再粘贴
过来即可.
[图片上传失败...(image-d8bf70-1514646631247)]
最后点击最底部的创建
按钮, 创建实例.
页面左下角会提示正在创建实例, 实际等待10秒左右即可创建完成并启动.
![](https://img.haomeiwen.com/i9840904/54b18d149b03bbb9.png)
VM实例管理界面第一列中绿色的对勾图标表示该实例正在运行, 第五列为实例的外部IP, 也就是下一步用Xshell连接时需要用到的主机IP地址.
[图片上传失败...(image-28cac7-1514646631247)]
5. 一键安装最新内核并开启BBR脚本
BBR要求系统内核版本为4.9以上, 本文采用teddysun的脚本, 支持一键自动判断和安装所需内核版本并开启BBR.
5.1 连接XShell
通过Xshell连接到Google Cloud VPS.
主机
: 之前步骤创建的静态IP, 也可在GCP VM实例的管理界面查看.
端口
: 默认的22端口
用户名
: 如你的gmail邮箱是username@gmail.com, 则用户名是username
密钥
: 使用之前puttygen生成的私钥, 导入即可.
有的小伙伴不会用Xshell, 补充几张图片:
[图片上传失败...(image-eeaba2-1514646631247)]
[图片上传失败...(image-fc5218-1514646631247)]
Google也自带了在线SSH, 实例创建好后, 在列表界面点击SSH
- 在浏览器窗口中打开
即可进入, 见下图.
不过出于个人习惯, 用Xshell本地进行连接管理更方便, 不用每次都打开浏览器进GCP后台.
[图片上传失败...(image-568d57-1514646631247)]
5.2 运行BBR脚本
通过脚本一键升级内核并安装BBR加速.
先切换到root用户. 否则运行某些命令会提示无权限.
sudo -i
[图片上传失败...(image-6b8cf2-1514646631247)]
依次运行以下命令
yum install -y wget
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh
安装完成后,脚本会提示需要重启VPS,输入 y
并回车
后重启, 这时Xshell连接也会自动断开。
VPS重启可能需要几分钟, 耐心等待一下.
重启完成后,再用Xhell重新连接VPS.
现在验证一下是否成功安装了最新内核并开启BBR.
输入以下命令:
uname -r
查看内核版本,如果返回值含有4.13或以上版本, 就表示OK了.
[图片上传失败...(image-54b4d9-1514646631247)]
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp_congestion_control
返回值一般为:
net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般为:
net.core.default_qdisc = fq
lsmod | grep bbr
返回值有 tcp_bbr 模块即说明bbr已启动。
6. 安装SSR
本文采用秋水逸冰的Shadowsocks一键安装脚本(四合一).
依次运行以下命令:
2017.12.3更新: 记得先用
sudo -i
命令切换到root用户, 不然会显示This script must be run as root! 见下图:
[图片上传失败...(image-5e7fd9-1514646631247)]
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
注意: 前面两行命令其实是同一行, 因为网页排版的问题显示成2行了, 直接把这两行都复制, 再粘贴到Xshell即可. 好多人在这一步出错, 特意提醒下. 具体看截图:
[图片上传失败...(image-a5a5b0-1514646631247)]
然后是选择SSR版本, 设置端口、密码、加密方式等等,之前的 SSR安装教程有详细步骤, 此处略过.
安装好之后即可通过客户端进行连接与测速.
最后附上测速:
[图片上传失败...(image-e3a061-1514646631247)]
小飞机客户端的使用请参考:
ShadowsocksR客户端 各种隐藏使用技巧说明
SSR 安卓 & 苹果 Iphone, Ipad一键设置教程.
7. 关于流量与扣费
Google Cloud Platform计算引擎是按小时收费,网络按流量收费.
我们掏出笔来算一算:
注册赠送了300美金, 一年免费使用期.
主机我们选的是微型(最低配置机型), $5/月.
还剩300-5*12=$240, 用于抵扣流量的费用.
谷歌云服务器出口大陆流量1T以内价格约为0.23$/1G.
那么每个月可用流量 = 240/12/0.23 ≈ 86G, 一般日常使用绝对够用, 当然你还可以顺便搭个网站之类的 :)
8. 如何开启root登录 (非必须)
出于安全因素, Google Cloud Platform默认是以普通用户密钥认证的方式登录的, 禁止root登录. 如需要root权限可以使用命令sudo -i
进行切换.
如果需要直接使用root登录,按如下设置:
先切换到root
sudo -i
创建.ssh目录并修改权限, 然后复制普通用户的密钥文件到root相应目录下. 用户名注意换成你自己的.
mkdir .ssh && chmod 700 .ssh && cp /home/你的gmail用户名/.ssh/authorized_keys .ssh
修改SSH配置文件
vim /etc/ssh/sshd_config
将PermitRootLogin no
改为PermitRootLogin yes
并保存
重启SSH服务
systemctl restart sshd.service
测试是否设置成功
9. FAQ
Q: 运行某些命令提示 *** Operation not permitted
或者You need to be root to perform this command.
?
A: 一般是权限不够. 管理GCP时, 记得先sudo -i
切换到root用户, 否则某些命令无法运行.
Q: 区域选的是asia-east1-c台湾机房, 为什么ping显示是美国IP?
A: 正常. Ping测试不准. IP地址是谷歌从美国申请的, 但是可用于全球任何一个机房, 因为谷歌是采用网间结算(IP Transit)服务,直接指定部分段与某地区运营商进行连接. 详细机房位置参考: https://cloud.google.com/compute/docs/regions-zones/#available. 另外可用tracert
或mtu
命令测试路由与节点. Ping的话建议www.ipip.net.
Q: 还能更快吗?
A: 可以, 关键词: 魔改版BBR
, 自行搜索
Q: 装BBR脚本时, 手动更换内核,重启后,整个磁盘变为只读怎么办?
A: 执行命令mount -o remount rw /
即可恢复.
Q: 根据谷歌的Always Free政策, us-east1, us-west1, and us-central1这三个地区的微型机器永久免费, 能用吗?
A: 可以忽略. 流入中国和澳大利亚的流量要收费, 如下图. 更多限制政策请参考: https://cloud.google.com/compute/pricing#freeusage
![](https://img.haomeiwen.com/i9840904/2f3556c06a273d8e.png)
Q: Google Cloud Platform能用来建站吗?
A: 当然可以, 不过长期建站还是推荐用Linode. GCP流量是要扣费的. 另外外贸站建议机房使用目标客户所在国家. 国内站的话, 反正百度是不咋待见国外服务器的.
其他问题欢迎留言或加QQ群:262679255交流~
网友评论