使用 GCP 部署 VPS
文章仅为技术分享,请遵守所在地法律法规。
文章仅代表作者观点,内容可能有误,请谨慎辨别。
零、VPS
VPS 是虚拟专用服务器(Virtual Private Server)的简称。一台物理服务器,通过虚拟服务器技术,如 VMware,可以分割成多个虚拟服务器。听起来跟云服务器(ECS)很像,实际上也差不多。在本文中,你可以将 VPS 视为部署在国外的服务器。
一、墙?墙是什么?
为了维护社会和谐稳定、打造清朗的网络和舆论环境,我国于 2003 年启用了一套针对中国大陆境内互联网的审查系统,名为"长城防火墙",英文全称 Great Firewall,简写为 GFW。
GFW 拥有一个不断更新的黑名单,当用户访问黑名单里的网站或服务器地址时,GFW 会主动切断用户的连接。越过这个系统访问黑名单的行为,就被形象地称为"翻墙"。
实际上,切断只是一种笼统的说法,阻拦你连接的方式并不止一种,这其中还包括 DNS 污染、主动探测、SNI 阻断、流量指纹(大数据、大模型)分析等各种阴招。
二、VPN 与墙
VPN 的全称是 Virtual Private Network,它的诞生远早于 GFW。起初,它的作用是数据加密传输和匿名通信,由于具有能够翻墙的"副作用",渐渐成为了许多工具的代名词,即使背后的原理早已背离 VPN。
由于 VPN 的初衷并不是用于翻墙,因此,由它发送的数据流量特征非常明显。在 GFW 系统的不断升级下,这种方式早已被识别并封锁,现如今使用 VPN 翻墙的方式已寥寥无几。
三、下一个是谁?
随着 VPN 的没落,一些新兴的翻墙方式也逐渐出现在大众的视野中。
想要数据不被拦截,无非只有两种方法:
- 伪装
- 直接绕过这堵墙
伪装
"伪装"是大部分节点的翻墙方法,也是最便宜的方法。
图片来自互联网,版权归原作者所有
所谓伪装,就是通过一系列协议包装、加密要传输的数据,使防火墙看不出它的目的地是否在黑名单中。如果数据包能骗过防火墙,到达外网后,VPS 会对它进行解密、解包,它就可以自由畅行了。
专线
至于"直接绕过这堵墙",那就需要专门的线路了。我们称为专线。
专线是便于银行、证券公司、外企等组织跨国交流的网络线路,通过专线,可以直接绕过防火墙。只要你的公司有资质,就可以拿到国内运营商给你的专线。
图片来自互联网,版权归原作者所有
使用"伪装"的思路,可以实现很多意想不到的功能。例如:将数据包切分并塞入服务器的 UDP:53(用于 DNS)或 67(用于 DHCP),可以绕过校园网的账号验证,直接访问互联网。
四、搭建 VPS
前面铺垫了这么多,接下来我们使用方法 1 来骗过防火墙。相信你我都没有资质实现方法 2,不在本篇讨论范围之内。
前提条件
- GCP(Google Cloud Platform)内有一定余额
- 一个域名【可选,本文仅提供使用域名的步骤】
300 美元的赠金可以同时开两个节点的服务器,若个人使用,可以压缩服务器配置,同时开三个节点。
新建项目
在 GCP 中新建一个项目,便于管理。

新建 VM
点击选项卡,创建虚拟机。

配置 VM
名称随意填写,可用区不限。
若仅创建一台 VM,区域最好选择台湾【高可用】;若创建两台,可以选择一台香港【低延迟】、一台东京【高可用】。
机器配置选择 e2-small。若个人使用,可以选择 e2-micro,可根据使用规模自行调整配置。

更改启动磁盘类型为 SSD,其它可保持不变。

勾选两处防火墙配置并随意填写主机名,下拉并展开"网络接口"。

选择预留静态外部 IP 地址,随意填写名称并选择预留。

确保下方的网络服务层级为高级。

取消勾选可观测性配置,选择无备份。

在最下方点击创建 VM。

配置 DNS 解析
VM 创建需要几十秒,这段时间内配置 DNS 解析。
前往你的域名托管后台(如 Cloudflare),为你的域名添加一条 A 记录。
IPV4 地址填写为 VM 的预留静态外部 IP 地址,同时务必确保代理状态为关闭(仅 DNS)!

配置好的 DNS 记录如图。因为我有两台 VM,因此这里有两条记录。

SSH 连接 VM 并安装脚本
返回 GCP,展开侧边栏,进入虚拟机实例。

点击 SSH,连接后获取 sudo 并更新:

sudo -i
apt update && apt upgrade -y
apt install -y curl wget socat git
更新完成后,安装并运行脚本:
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh
选择 2. 任意组合安装。

核心选择 Xray-core。安装组合选择 VLESS+TLS_Vision+TCP,即默认的 0。
端口输入 443,域名选择上一步已配置 A 记录的域名(例如 vpn.yourdomain.com)。
脚本会自动检测域名是否解析到当前 IP。如果解析正确,它会继续。其它选项均保持默认(回车)即可。
安装结束后,屏幕会打印出详细的配置信息,包括:
- 地址、端口、密码等
- 订阅链接(以
vless://开头)
复制并保存这些信息,同时注意不要泄露到任何公众平台!
开启 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 字样输出,则开启成功。
五、配置客户端连接
脚本默认生成的订阅链接为 V2RayN 格式,若使用 Clash 系客户端,脚本内部也有转换订阅的功能(此处不展开,须自行研究)。
不要使用网络上公开的订阅转换器!大部分是钓鱼网站,轻则 IP 段被 GFW 拉黑,重则订阅链接被盗用,损失大量金额!