建立 Cloud VPN 后,VPC 中的 Compute Engine 无法连接到 Internet 和 Cloud Storage

Compute Engine in VPC can't connect to Internet & Cloud Storage after establishing Cloud VPN

假设我有一个 IP 范围为 10.148.0.0/20 的自定义 VPC 此自定义 VPC 具有允许内部的防火墙规则,因此这些 IP 范围内的服务可以相互通信。 系统增长后,我需要使用经典云 VPN 连接到一些本地网络,已经创建了 Cloud VPN(已经有人配置了本地端配置)并且已经建立了 VPN 隧道(带有绿色复选标记)。

我现在也可以使用自定义创建的计算引擎 ping 到本地 IP(假设 ping 到 10.xxx.xxx.xxx,这不是 GCP internal/private IP,而是本地私有 IP) VPC 网络。

问题是自定义 VPC 网络中生成的所有计算引擎实例现在无法与互联网通信(比如执行 sudo apt 更新),甚至无法与 google 云存储通信(使用 gsutil),但是他们可以使用私有 IP 进行通信。 我也无法在该自定义 VPC 上生成 dataproc 集群(我猜是因为它无法连接到 GCS,因为 dataproc 需要 GCS 来暂存存储桶)。

由于我不太了解网络知识并且对 GCP 相对陌生,如何能够在我在自定义 VPC 中创建的实例上连接到 Internet?

在检查了关于我的自定义 VPC 和 Cloud VPN 的更多 in-depth 之后,我意识到在建立 Cloud VPN 时配置错误,我在路由选项中选择 route-based 并输入 0.0.0.0/0在远程网络 IP 范围内。我猜这条路由将所有流量发送到 VPN,正如 @John Hanley 所说。

通过在路由选项中使用 policy-based 并仅在远程网络 IP 范围中添加特定 IP 来解决此问题。 谢谢 @John Hanley@guillaume blaquiere 指出这一点