GCP 上的 VPC 网络连接

VPC networking connection on GCP

让我再简要说明一下问题: 假设它们是 3 个 VPC 网络(默认)VPC1、VPC2.VPC3 1. VPC1有两个subets 10.128.0.0/20& 10.10.1.0/24 2. VPC2子网:192.168.0.0/24 3.VPC3subnets:10.10.2.0/24

创建了 2 个虚拟机实例: VM1 分配了两个接口:ETH0(10.128.0.0 IP) & ETH1(192.168.0.0 IP) VM2 分配了两个接口:ETH0(10.10.1.0 IP) & ETH1 (10.10.2.0 IP) VPC1(默认)和 VPC3 之间的 VPC 对等连接已经建立,因为我的 VPN 隧道已建立以与我的远程数据中心通信。(它工作完美,因为所有 iproute 和防火墙都已设置)

需要连接 ETH1 网络“10.10.2.0 & 192.168.1.0”

据我了解,您有 3 个网络,您希望 VM 能够相互通信,即使它们位于不同的网络(以及不同的子网)。

确保您的网络地址范围不重叠(例如 10.0.0.0/24、10.0.1.0/24 等)。如果他们这样做,您将无法在他们之间建立对等连接。

转到 VPC Network 并检查 IP 范围。

然后转到 VPC network peering 并建立连接(每个连接必须至少有两个;一个从 VPC1 到 VPC2,第二个从 VPC2 到 VPC1,以便连接处于活动状态(如果它是不是说你只有单向连接)。

如果你想要三个网络进行通信,你必须有连接 1>2,1>3,2>1,2>3,3>1,3>2。

当你有一个活动的连接(在你想要的网络之间)然后检查防火墙规则,如果他们不阻止流量 - 如有必要添加适当的规则。

如果您已完成所有这些操作,那么从 VPC1 或 VPC3 中的任何机器从 VPC2 ping 任何机器,它应该可以工作。

有一个如果。有问题的 VM 中是否有两个接口?如果是这样,请检查是否为第二个接口(我们称其为 ETH1)正确配置了 IP 路由 - 如果不正确,那么您将无法与分配给 ETH1 的网络通信。查看 configuring proper routing.

的文档

完成以下解决方案:

  1. 已创建防火墙规则以允许 VPC2“192.168.1.0”和 VPC3“10.10.2.0”之间的流量并已检查
  2. 已在 VPC2“192.168.1.0”和 VPC3“10.10.2.0”之间创建并检查了 VPC 对等
  3. VPC2 "192.168.1.0" 和 VPC3 "10.10.2.0" 之间写了ip route