如何将GCP VPN隧道配置为GCE虚拟机的默认网关?
没问题,我来帮你搞定这个需求——要让GCE虚拟机的所有收发流量(包括互联网访问)都强制走站点到站点VPN隧道,核心就是把VPN隧道设为虚拟机的默认网关,同时调整GCP的路由规则来覆盖默认的直连互联网路由。下面是一步步的具体操作:
步骤1:确认VPN隧道的核心配置信息
首先你需要提前确认两个关键信息:
- 你的办公室VPN网关的公网IP(或者隧道的远程端点IP)
- GCP侧站点到站点VPN隧道的名称,以及虚拟机所在的VPC网络
步骤2:创建优先级更高的默认路由指向VPN隧道
默认情况下,GCE虚拟机的默认路由是直接指向互联网的,所以我们需要创建一条优先级更高的默认路由,让所有流量都走VPN:
- 打开GCP控制台,进入「VPC网络 > 路由」页面
- 点击「创建路由」,填写以下参数:
- 名称:比如
default-vpn-gateway-route(自定义即可) - 网络:选择你的虚拟机所在的目标VPC
- 目标IP范围:填写
0.0.0.0/0(这代表所有IP流量,也就是默认路由) - 下一跳:选择「VPN隧道」,然后选中你已经建立好的站点到站点VPN隧道
- 优先级:设置为小于1000的数值(默认互联网路由优先级是1000,数值越小优先级越高,比如设为100)
- 名称:比如
- 点击「创建」完成路由配置
步骤3:验证虚拟机的路由生效情况
登录到你的GCE虚拟机,执行以下命令查看当前路由表:
ip route show
你应该能看到类似这样的默认路由条目,说明已经生效:
default via <VPN隧道下一跳IP> dev <VPN接口名称> proto static metric 100
步骤4:配置办公室端的路由与NAT
这一步非常关键,否则GCE虚拟机的互联网流量会在VPN隧道另一端中断:
- 确保你的办公室VPN网关配置了NAT规则,允许来自GCE虚拟机子网的流量通过办公室的互联网出口访问外网
- 在办公室网关添加反向路由:将GCE虚拟机所在的子网IP段(比如
10.128.0.0/20)的流量,下一跳指向VPN隧道,确保返程流量能回到GCE虚拟机
额外注意事项
- 动态路由场景优化:如果你用了Cloud Router的BGP动态路由,无需手动创建静态路由,只需在Cloud Router中配置广播默认路由
0.0.0.0/0,GCP会自动生成指向VPN隧道的默认路由 - 防火墙规则检查:确保GCP侧的VPC防火墙允许虚拟机与VPN隧道之间的所有流量,同时办公室侧防火墙也要放行相关的VPN及转发流量
- 连通性测试:配置完成后,在虚拟机执行
curl ifconfig.me,如果返回的是办公室的公网IP,说明流量已经成功通过VPN隧道访问互联网
内容的提问来源于stack exchange,提问作者ikex98
相关产品推荐
相关产品推荐

