Google Cloud、GC 站点到站点 VPN、OpenVPN、不同子网:连接 A 到 B 的最佳方式?

Google Cloud、GC 站点到站点 VPN、OpenVPN、不同子网:连接 A 到 B 的最佳方式?

抱歉,标题不太好...

我在区域 A 中有一个 Google Cloud (GC) VPC 子网 10.1.1.0/24,该子网在 10.1.1.2 处有一个 OpenVPN 访问服务器。OpenVpn 访问服务器为云外的客户端提供远程访问。客户端被分配一个来自 192.168.3.0/24 子网的 IP,路由方法可以是 NAT 或路由(Open VPN 访问服务器设置)。

我在区域 B 有一个 GC VPN 网关(经典),在区域 C 还有另一个 GC VPN 网关(经典)。

从远程站点到 GC VPN 网关的隧道由远程站点“决定”,即路由方法是基于策略的,并且远程站点决定云(本地)子网必须是什么。所以:

从远程站点 B 到 GC VPN 网关 B 的隧道策略为 10.2.2.0/24(远程)<-> 172.18.22.0/24

从远程端 C 到 GC VPN 网关 C 的隧道策略为 10.3.3.0/24(远程)<-> 172.18.23.0/24

因此,对于传输到远程站点 B/站点 C 的流量,要求其分别在 172.18.22.0/24/172.18.23.0/24 内有一个源。

那么,问题是,远程客户端访问远程网络 B 和 C 的最佳方式是什么?我考虑过在子网 B 和 C 中引入运行 OpenVPN 客户端的实例,这样可以通过 NAT 提供对远程网络的访问……但我还需要远程网络能够访问子网 A。我考虑过将 A、B 和 C 放在不同的 VPC 中,这样 OpenVPN 访问服务器就可以有到每个 VPC 的网络接口,并通过 NAT 路由流量。这有一些规模问题……实例限制为 8 个接口。此外,每个子网/隧道必须有 1 个 GC VPN GW。我确信还有其他我没有考虑到的问题。说实话,这一切都有点乱。不幸的是,我无法从远程站点(B 和 C)请求不同的路由方法,也无法为基于策略的隧道的云端请求特定子网。

任何帮助将不胜感激!

答案1

所描述的问题并未明确说明尝试的连接类型或所需的流量来源、目的地和方向,这使我假设以下场景 -

场景 1
(i) 提到的 GCP 子网位于同一个 VPC 中,并尝试从远程客户端和远程站点进行连接。
(ii) 远程客户端通过 OpenVPN 连接连接到子网 A。
(iii) 远程站点 B 和 C 分别连接到子网 B 和 C。
(iv) 远程客户端尝试连接到子网 B 和 C。

在这种情况下,您必须确保存在允许网络内流量的防火墙规则,其配置如下 -

方向 -
匹配时的入口操作 - 允许
IP 范围 - [您的 GCP VPC 的 IP 范围]
协议和端口 - tcp:0-65535 Udp:0-65535 Icmp
优先级 - 65534
强制 - 已启用

此防火墙规则将允许流量在您的 VPC 内的子网之间流动,与区域无关,这将方便您的设置,使您的远程客户端可以通过子网 A 访问子网 B 或子网 C,并且您的远程内部部署站点可以通过子网 B 或子网 C 访问子网 A。

场景 2
(i) 提到的 GCP 子网位于相同的不同 VPC 中,并且尝试从远程客户端和远程站点进行连接。
(ii) 远程客户端通过 OpenVPN 连接连接到子网 A。
(iii) 远程站点 B 和 C 分别连接到子网 B 和 C。
(iv) 远程客户端尝试连接到子网 B 和 C。

在这种情况下,首先您需要使用以下任一 GCP 服务连接您的 VPC -

VPC 对等连接 - VPC 网络对等连接使您能够连接 VPC 网络,以便不同 VPC 网络中的工作负载可以进行内部通信。请参阅此处获取创建 VPC 对等连接的说明 -https://cloud.google.com/vpc/docs/using-vpc-peering

云 VPN - 虽然主要用于将本地网络与 GCP VPC 连接起来,但云 VPN 也可用于将不同的 GCP VPC 相互连接。请参阅此处以了解在 GCP VPC 之间建立 VPN 连接的说明 -https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-ha-vpn2

连接 VPC 后,您的远程客户端可以通过子网 A 访问子网 B 或子网 C,而您的远程本地站点可以通过子网 B 或子网 C 访问子网 A。

请查看这些场景是否满足您的要求以及补救措施是否适合您的需求。如果不满足,请提供有关任何缺失元素的详细信息。

相关内容