2019谷歌云Outline科学上网服务器搭建指南

大家应该知道,谷歌云香港在注册之后绑定VISA信用卡是赠送2000多HKD的,有效期是一年,在大多数时候,谷歌云香港、台湾、日本等地的服务器到大陆的延迟是非常低的,很适合作为翻墙服务器。但是谷歌云配置Outline较为复杂(主要是改版之后防火墙规则和ssh登录较为麻烦),在这里我将重点介绍,至于如何免费用一年以及如何免费用第二年、第三年不在本文的讨论范围内,大家可以在网上自行查找薅羊毛指南。

前期准备

创建outline网络组

创建一个outline网络组,稍后将应用于创建的VM实例上,以满足outline官方要求的开放所有端口(实际上开放控制端、服务端连接这两个端口就可以,开放全部端口只是便于操作)。

从左边的侧边栏里找到Firewall rules(防火墙规则)进入。

在上方选择CREATE FIREWALL RULE(创建防火墙规则)。

Name栏里输入outline。(我已经创建过相同名字网络组,因此有warning)

outline

Target tags(目标标签)栏内输入outline。

outline target tag

Source IP ranges(源IP地址)栏内输入0.0.0.0/0。(针对服务器的公网IP)

ip range

在Protocols and ports(协议及端口)栏内选择Allow all

最后点击Create(创建)以生成该网络组。

生成密钥对

Mac OS X & Linux(以Mac OS X为例)

打开Terminal(终端)工具,(可以通过上方工具栏右侧的Spotlight Search来搜索),输入以下命令行

$ ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]

其中,

  • [KEY_FILENAME]: 你生成的密钥文件名,[KEY_FILENAME]为私钥,[KEY_FILENAME].pub为公钥。以key作为密钥文件名为例,将会生成key.pub及key两个文件。
  • [USERNAME]: 上面生成的密钥对的使用者(the user applied to)。

比如,将key作为文件名,fenghe作为用户名,

$ ssh-keygen -t rsa -f ~/.ssh/key -C fenghe

如下图所示,它会要求你输入一个密码,你只要直接按回车,然后在下一步要求确认时再次按回车键就会自动生成密钥对。

enter pass phrase to generate key pairs
输入密码,留空则不使用密码
successfully generate key pairs
成功生成密钥对
view the keys in the folder
在文件夹中查看密钥

好了,密钥对生成成功,等会儿可以用于创建虚拟机实例了。

创建虚拟机实例

在侧边栏选择COMPUTE -> Compute Engine -> VM Instances

点击上方CREATE INSTANCE

vm instances
create vm instance

Region(区域)选项中选择对于中国大陆比较友好👬的Taiwan(台湾), Hong Kong(香港)或Tokyo(东京)。

region
虚拟机区域选择

在Boot disk(系统启动盘)选项卡中,默认系统是Debian,单击Change变更默认选项。

选择Ubuntu 18.04 LTS,单击Select(选择)。

select Ubuntu as OS

Firewall(防火墙)选项卡中,单击Management开头的蓝色文字

然后回到电脑本地的Terminal

 $ cat ~/.ssh/key.pub

复制显示在Terminal内的ssh-rsa开头的公钥。

show public key

把它粘贴到谷歌云创建实例页面中Management -> Security页面内下方的文本框中,谷歌云将会根据这个信息自动创建一个用户(本例中为fenghe),并且记录跟它匹配的公钥。

add key to gcp

Management -> Networking选项卡中的Network tags一栏内输入outline并且回车。

networking

单击左下角的Create(创建),就会在你的账户的相应Project(工程)内生成一个实例。

create vm instance

在少数情况下,可能会存在因为库存不足而无法创建服务器的情况,这时候可以重复上述操作,选择不同区域来完成创建。比如下图没有创建成功的instance-1是香港的服务器,在更改成日本东京服务器后就能成功创建。

create failed

远程ssh登录

在本地命令行工具中输入

$ ssh -i ~/.ssh/key [email protected]

即可实现服务器远程ssh登录。(将fenghe换成你自己的用户名,后面的IP地址换成你在谷歌云生成的IP地址)

配置Outline服务器

谷歌云和其他地方不一样,登录的时候用的不是root用户,所以要获取root权限之后才能修改系统配置。

$ sudo -i

接下来就可以按照本博客上的文章中的Outline搭建教程来配置Outline服务器了。

稍有不同的是,在点击Outline Manager左边绿色加号步骤中,在右边选择Google Cloud Platform(虽然Set up Outline anywhere应该也不会有太大问题)

setup on gcp

附:谷歌云日本测速

在展示教程之前,我想先给大家看一眼谷歌云翻墙的具体效果,大家可以参考这个简单测评来决定是否入坑折腾。

测试环境: 移动教育网24M 1:00AM 谷歌云日本

YouTube看视频

youtube benchmark

Netflix

传言谷歌云的服务器原生支持Netflix,没有虚传,这是真的。

supports netflix

Fast测速

能跑满带宽。

fast.com speedtest

Speedtest 测速

speedtest

粉丝专属机场

References

  1. https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys