跳到主要内容

使用 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 的没落,一些新兴的翻墙方式也逐渐出现在大众的视野中。

想要数据不被拦截,无非只有两种方法:

  1. 伪装
  2. 直接绕过这堵墙

伪装

"伪装"是大部分节点的翻墙方法,也是最便宜的方法。

伪装示意 图片来自互联网,版权归原作者所有

所谓伪装,就是通过一系列协议包装、加密要传输的数据,使防火墙看不出它的目的地是否在黑名单中。如果数据包能骗过防火墙,到达外网后,VPS 会对它进行解密、解包,它就可以自由畅行了。

专线

至于"直接绕过这堵墙",那就需要专门的线路了。我们称为专线

专线是便于银行、证券公司、外企等组织跨国交流的网络线路,通过专线,可以直接绕过防火墙。只要你的公司有资质,就可以拿到国内运营商给你的专线。

专线示意 图片来自互联网,版权归原作者所有

提示

使用"伪装"的思路,可以实现很多意想不到的功能。例如:将数据包切分并塞入服务器的 UDP:53(用于 DNS)或 67(用于 DHCP),可以绕过校园网的账号验证,直接访问互联网。


四、搭建 VPS

前面铺垫了这么多,接下来我们使用方法 1 来骗过防火墙。相信你我都没有资质实现方法 2,不在本篇讨论范围之内。

前提条件

  • GCP(Google Cloud Platform)内有一定余额
  • 一个域名【可选,本文仅提供使用域名的步骤】

300 美元的赠金可以同时开两个节点的服务器,若个人使用,可以压缩服务器配置,同时开三个节点。

新建项目

在 GCP 中新建一个项目,便于管理。

新建项目

新建 VM

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

创建虚拟机

配置 VM

名称随意填写,可用区不限。

若仅创建一台 VM,区域最好选择台湾【高可用】;若创建两台,可以选择一台香港【低延迟】、一台东京【高可用】。

机器配置选择 e2-small。若个人使用,可以选择 e2-micro,可根据使用规模自行调整配置。

机器配置

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

启动磁盘

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

防火墙配置

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

预留 IP

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

网络服务层级

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

备份配置

在最下方点击创建 VM。

创建 VM

配置 DNS 解析

VM 创建需要几十秒,这段时间内配置 DNS 解析。

前往你的域名托管后台(如 Cloudflare),为你的域名添加一条 A 记录

IPV4 地址填写为 VM 的预留静态外部 IP 地址,同时务必确保代理状态为关闭(仅 DNS)!

DNS 配置

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

DNS 记录

SSH 连接 VM 并安装脚本

返回 GCP,展开侧边栏,进入虚拟机实例

虚拟机实例

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

SSH 连接

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 拉黑,重则订阅链接被盗用,损失大量金额!