Google Cloud Platform免费申请&一键搭建SSR & BBR加速教程

Google Cloud Platform免费申请&一键搭建SSR & BBR加速教程

1. Google Cloud Platform (GCP) 简介

Google Cloud Platform (以下简称GCP)是Google提供的云平台, 可以用来搭建加速服务, 网站和存储数据等等, 本文将介绍如何申请GCP一年的免费试用、Linux服务器环境搭建、配置BBR加速以及安装SSR等服务端. 网上关于如何搭建GCP的教程很多, 不过都不是太详尽. 如果你是没基础的新手, 或者像下图这位童鞋踩到坑不知所措的话, 希望这篇教程能帮到你 🙂

Google Cloud Platform搭建问题

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的流量, 足够用了, 当然你还可以顺便搭个网站之类的 🙂

GCP 300美元一年免费试用

  • 速度快
    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/

Google Cloud Platform 免费试用

点击免费试用, 登入Gmail账号.
地区选中国.

账号类型选个人, 接下来输入账单地址以及信用卡信息. Google会从信用卡扣除1美元用于验证, 验证完成后会退还到账户.
点击开始免费试用.

4.2 激活结算账号

注册成功后可能并不能马上使用 (国内注册的基本都需要激活, 当然也不排除你人品好的情况), Gmail邮箱会受到一封标题为紧急通知:您的结算帐号 XXXXX 已经被暂停使用的邮件, 你需要点击邮件中的链接, 上传身份证和信用卡照片完成验证 (信用卡照片可以遮住或PS掉敏感信息, 只保留最后四位, 自己看页面提示), 一般提交后10分钟左右就能收到通过的邮件, 验证完成后就可以正常使用了.

这一步很多人会忽略, 结果就是创建实例的时候会不停提示你Enable Billing Account, 但是指引界面又没有明确说明要怎么激活, 即使是进到账号管理界面也无法自己开启. 所以别忘了去喵一眼你的邮箱 🙂

邮件: 紧急通知:您的结算帐号 XXXXX 已经被暂停使用

结算账号验证成功后会显示消息:

结算账号验证成功消息

4.3 修改防火墙规则

有的文章是先创建实例再改规则.
我们先修改防火墙规则, 后面会省事一点.

直接访问 https://console.cloud.google.com/networking/firewalls/list

Google Cloud Platform 防火墙规则

点击创建防火墙规则, 按下图设置:

Google Cloud Platform 创建防火墙规则
注意IP地址范围是0.0.0.0/0, 别写错了.
有遇到过有人写成0.0.0.0, 结果后来怎么试都不成功的.

4.4 准备SSH密钥

这一步用Xshell连接时需要用到.当然你也可以直接用Google自带的在线SSH, 那这一步可忽略. 不过还是建议使用Xshell, 以后本地连接进行管理, 不用每次都打开浏览器后台, 另外可以预先避免可能的连接错误, 否则搭建好后却ping不通或者连不上, 那就白费力气了.

4.4.1 生成密钥

打开puttygen.exe, 直接点生成 (英文版点generate), 在空白区域移动鼠标以生成随机数据.
Pyttygen点击Generate生成密钥

在空白区域移动鼠标生成随机数据

密钥注释: 填写你的Gmail账户名, 如邮箱username@gmail.com, 则填写username.
密码: 不填也没事.

我用的putty是中文版, 如果你是官网下载的英文版请参考下图, 个别选项不一样.

4.4.2 保存私钥

点击转换(Conversions) – 导出openssh密钥 (Export Open SSH Key). 等会Xshell连接VPS会用到.

生成器窗口先不要关闭.

puttygen导出私钥

4.5 创建计算引擎

4.5.1 创建实例

本文来源: 外贸SOHO笔记. 未经允许不得转载.

直接访问 https://console.cloud.google.com/compute/instances
或登录GCP控制台后, 点击计算引擎创建实例. 如图:

  • 名称: 随便填
  • 地区: 建议选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地址.

Google运服务器-创建实例-网络选项卡

外部IP,创建IP地址

创建IP地址

然后会提示输入名称, 任意输入即可(小写字母开头,不能为大写字母)

保留新的静态IP地址

补充说明
关于IP会有静态临时两个选项.
推荐选择静态, 选择临时的话机器重启后会重新分配IP地址.

更多信息可以去Dashboard中的网络VNC网络外部IP地址或直接点击https://console.cloud.google.com/networking/addresses/list查看.

把创建好的IP记下来, 用Xshell连接的时候会用到.

静态IP一定记得绑定到实例.
已分配但未被使用的IP, 会按$0.01/小时计费.

4.5.3上传SSH公钥

点击SSH密钥选项卡

Google Cloud Platform - 创建实例 - SSH密钥选项卡

在上图文本框内填入4.4.1步骤中puttygen中生成的公钥, 注意是下图中蓝色部分的内容, 直接全选复制, 再粘贴过来即可.

最后点击最底部的创建按钮, 创建实例.

页面左下角会提示正在创建实例, 实际等待10秒左右即可创建完成并启动.

正在创建GCP VM实例

VM实例管理界面第一列中绿色的对勾图标表示该实例正在运行, 第五列为实例的外部IP, 也就是下一步用Xshell连接时需要用到的主机IP地址.

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, 补充几张图片:

Google也自带了在线SSH, 实例创建好后, 在列表界面点击SSH在浏览器窗口中打开即可进入, 见下图.
不过出于个人习惯, 用Xshell本地进行连接管理更方便, 不用每次都打开浏览器进GCP后台.

5.2 运行BBR脚本

通过脚本一键升级内核并安装BBR加速.

Linux系统中root用户拥有最高权限, 出于安全考虑, GCP默认是以普通用户登录的, 我们需要先切换到root用户, 否则运行某些命令时会提示无权限.

先切换到root用户.
Xshell连上服务器后, 输入命令:
sudo -i

切换后, 命令前面的提示符中也会显示root, 如图:

依次运行以下4条命令

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, sudo -i切换到root用户.

现在验证一下是否成功安装了最新内核并开启BBR.
输入以下命令:

uname -r
查看内核版本,如果返回值含有4.13或以上版本, 就表示OK了.

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一键安装脚本(四合一).
依次运行以下3条命令:

2017.12.3更新: 记得先用sudo -i命令切换到root用户, 不然会显示This script must be run as root! 见下图:

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即可. 好多人在这一步出错, 特意提醒下. 具体看截图:

然后是选择SSR版本, 设置端口、密码、加密方式等等,之前的 SSR安装教程有详细步骤, 此处略过.

安装好之后即可通过客户端进行连接与测速.

最后附上测速:

小飞机客户端的使用请参考:

ShadowsocksR客户端 各种隐藏使用技巧说明
SSR 安卓 & 苹果 Iphone, Ipad一键设置教程.

7. 关于流量与扣费

Google Cloud Platform计算引擎是按小时收费,网络按流量收费.
我们掏出笔来算一算:
注册赠送了300美金, 一年免费使用期.

主机我们选的是微型(最低配置机型), $5/月.
还剩300-5*12=$240, 用于抵扣流量的费用.
谷歌云服务器出口大陆流量1T以内价格约为0.23$/1G.
那么每个月可用流量 = 240/12/0.23 ≈ 86G, 一般日常使用绝对够用, 当然你还可以顺便搭个网站之类的 🙂

8. 如何查看使用量及余额

进入结算概览页面: https://console.cloud.google.com/billing/

可以看到剩余的赠金和天数.
点击左侧交易, 以及图中下方相关联的项目名称, 可以查看使用量和扣费明细.

结算概览查看使用量明细和赠金余额

9. 增加Swap交换分区与调优

GCP默认没有Swap交换分区, 如果0.6G内存不够用, 可以手动增加Swap交换分区并且调整对应的内核参数. 参考文章: Google Cloud Platform 增加Swap交换分区与调优

10. 如何开启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

测试是否设置成功

11. 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. 另外可用tracertmtu命令测试路由与节点. 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
Google Cloud Platform的Always Free政策使用限制

Q: Google Cloud Platform能用来建站吗?
A: 当然可以, 不过长期建站还是推荐用Linode. GCP流量是要扣费的. 另外外贸站建议机房使用目标客户所在国家. 国内站的话, 反正百度是不咋待见国外服务器的.

其他问题欢迎留言或加QQ群:262679255交流~

未经允许不得转载:外贸SOHO笔记 » Google Cloud Platform免费申请&一键搭建SSR & BBR加速教程

赞 (35) 打赏

评论 42

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. park_dino请问如何进行vps测速呢?Reply
    • 怒马运行命令测速: 下载脚本: wget https://raw.githubusercontent.com/oooldking/script/master/superspeed.sh 加可执行权限: chmod +x superspeed.sh 执行脚本: ./superspeed.shReply
  2. twilight你好,我是工行的masatercard双币卡,提示付款方式无效,很无助,您有什么办法吗Reply
    • 怒马这个只能换卡试试吧Reply
  3. 庄哭你好,我成功的搭建了。但是有一个疑问,能否把SSR的服务器IP地址定位到日本呢?我建立机器选的是日本机房,但是最后建立的ssr服务器是美国IP,如有方法,可以告知下吗?Reply
    • 怒马参考文章最后FAQReply
  4. 大叔google云ssr,电脑客户端可以正常使用,安卓手机客户端和路由器却不能上网!,前两天都可以用的,就这两天出现的情况,是什么原因啊。而vult却非常正常,都可以用。Reply
  5. baku请教了其它大佬,发现了问题,其实我觉得这问题不大,但还是挺重要的,就是防火墙的设置,除了要设置进的,还要设置出的规则,教程似乎也忽略了这点,希望不成功的朋友能看到Reply
    • 怒马你完全按教程来就不用Reply
  6. 大叔为什么这几天路由器和手机安卓用不了,电脑版却能成功fq呢?Reply
  7. dino_请问我本来就是用ssr登google,也是按这样一步一步来吗,最后是不用再安装ssr了吧?Reply
    • 怒马服务器上要装的Reply
  8. bakuIP PING得通,但用SSR无论如何也没办法成功接收到数据,协议之类的也按大家常用的更换过,还是一样情况,我知道这样问实在有点笼统,还忘大佬尽可能分析一下,谢谢。Reply
    • 怒马这个要实际看才知道Reply
  9. 张强非常感谢已经成功,其他教程都没有教到使用Xshell 加载SSH 私匙的步骤,我直接把生成的公匙复制粘贴到VM实例服务器,然后我就直接使用Xshell去连接服务器IP和账号,但是根本连接不了,原来需要加载SSH 私匙才得,第一次使用做SSH的公匙。 有些SSH为什么不需要 私匙,需要服务器账号和密码才可以连接,这些是怎么设置的呢?Reply
    • 怒马默认就可以用账号密码登录, 用密钥登录更方便和安全(禁用密码登录后).Reply
  10. afuBBR脚本执行成功后,系统能够重启,但是等了很久也不能连接成功,不管是使用xshell,还是通过网页都不行,怀疑是不是内核升级后,系统启动失败了?Reply
  11. hughes谢谢大佬,成功了 选择过asia和us的,都是维持几天就连接不上,连接超时Reply
  12. 大师傅请问有mac 版本的puttygen吗Reply
    • 怒马Reply
  13. ogr1432Hi!装了bbr之后重启,再就连不上了,Xshell 命令行提示:Could not connect to 'x.x.x.x' (port 22): Connection failed. 通过Google自带在线SSH浏览器中打开提示:我们无法通过端口 22 连接到 VM。帮助页英文,是不是bbr替换内核出了问题,我在其他付费vps上使用脚本正常,gcloud保持跟我在使用的付费vps同样系统,谢谢!Reply
    • 瓦男刀疤六我也是,重启机器都不行,CPU还一直是100%。后来用逗比的脚本就好了。Reply
  14. LiDo请问一下 你这个怎么配置多用户啊Reply
    • 怒马改配置文件, 参考官方文档Reply
  15. Flanmini请问为什么日本机房显示的是美国ip?有没有变成日本ip的方法?Reply
    • 怒马文章FAQ看一遍Reply
  16. 感谢大佬失败无数次都快放弃了,在看了你的教程后终于成功了,感谢Reply
  17. Pineapple按你的教程成功搭建并运行,谢谢你的分享,但是PC端可以用,手机移动端通过Shadowrocket和Wingy无论如何设置都失败,求指教,谢谢。Reply
  18. mkcu选的是SSR,按照推荐设置一路按过去之后,出现以下错误提示(最后两行),怎么办?谢谢 Press any key to start...or Press Ctrl+C to cancel [Info] Checking the EPEL repository... [Info] Checking the EPEL repository complete... Package gzip-1.5-9.el7.x86_64 already installed and latest version Package 1:openssl-1.0.2k-8.el7.x86_64 already installed and latest version Package python-2.7.5-58.el7.x86_64 already installed and latest version Package python-setuptools-0.9.8-7.el7.noarch already installed and latest version Package pcre-8.32-17.el7.x86_64 already installed and latest version Package pcre-devel-8.32-17.el7.x86_64 already installed and latest version Package autoconf-2.69-11.el7.noarch already installed and latest version Package automake-1.13.4-3.el7.noarch already installed and latest version Package 1:make-3.82-23.el7.x86_64 already installed and latest version Package curl-7.29.0-42.el7_4.1.x86_64 already installed and latest version Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version Package 4:perl-5.16.3-292.el7.x86_64 already installed and latest version Package cpio-2.11-25.el7_4.x86_64 already installed and latest version gtk-query-immodules-2.0-64: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No s uch file or directory warning: %post(gtk2-2.24.31-1.el7.x86_64) scriptlet failed, exit status 127 Non-fatal POSTIN scriptlet failure in rpm package gtk2-2.24.31-1.el7.x86_64Reply
  19. mkcu感觉你的puttygen下载地址不对,下载下来的是plink,感觉是命令行。打开https://the.earth.li/~sgtatham/putty/0.70/w64/ 倒是能找到puttygen,但界面是英文的,也没有SSH-2 RSA这一项可以选。求解决。谢谢。Reply
    • 怒马感谢反馈, 链接放错了 已更新. 保持默认的RSA选项就行Reply
      • MKCU我觉得截图也可以换一换,4.4.1,4.5.2和4.5.3的图都不是最新的界面了。4.5.3到现在都没找到。谢谢Reply
        • 怒马仔细看图吧Reply
          • mkcu我界面换成了中文界面,总算摸索出来了,除了出现了下面那段错误 No such file or directory warning: %post(gtk2-2.24.31-1.el7.x86_64) scriptlet failed, exit status 127 Non-fatal POSTIN scriptlet failure in rpm package gtk2-2.24.31-1.el7.x86_64安装成功!不过,为什么我明明停止了实例,还是能翻?谢谢
          • 怒马这种问题自己排查吧.. 要么没停止, 要么没翻, 要么是别的途径翻的
          • mkcu我之所以提截图不匹配也是因为没机会用上Xshell 5和puttygen了。找不到哪里可以上传SSH公钥,直接在GCP就是用窗口打开SSH了。然后就连上了。
          • 怒马没找到不代表没有, 文章里都有写
  20. Z Jacob你好,问问,我今天看到连不上了,然后就直接删除了实例,现在又重新创建了一个实例,IP地址还是用的原来的地址,用一键脚本安装好ssr及BBR之后,还是连接不上,不知道是啥原因~Reply
    • 怒马问题描述不清楚. 用什么连的, 怎么连的, 显示什么错误... Reply
  21. elly我的总提示"you can use computer engine after you enable billing", 如果我点了enable billing,会扣费吗?Reply
    • 怒马验证结算账号需要扣1美元, 验证成功退还. 日常使用的话, 反正免费送的$300, 随便扣呀~Reply

觉得文章有用就打赏一下作者~

支付宝扫一扫打赏

微信扫一扫打赏