0

我正在尝试在具有 5 个虚拟机的 GCP 网络中设置 Cloud VPN,其中一个虚拟机位于 TCP 负载均衡器后面的实例组中,将实例组端口代理到互联网,并且 VPN 隧道本身运行良好,因为它已经建立,我可以从我的本地网络 ping 这些虚拟机。

但是,在我配置好 VPN 隧道后,我无法再访问外部负载均衡器 IP!

我检查了防火墙规则,一切正常。如果我删除VPN隧道和路由,我可以正常访问IP。这种行为是预期的?如果我在同一网络中有 Cloud VPN,我真的无法访问负载均衡器 IP?

顺便说一句,所有虚拟机都没有外部 IP,只有内部 IP。正如我之前所说,其中之一是在 LB 后面获取 Internet 访问权限。

我希望从我的本地网络连接到 TCP 负载均衡器后面的实例组中的虚拟机,并在该网络中建立了 Cloud VPN。我只能访问内部 IP,但不能访问 LB 外部 IP。

4

1 回答 1

0

让我总结一下,

重点是:

- TCP 负载均衡器 (LB) - 区域网络 LB
- 从本地到 GCP 的 VPN 隧道
- 5 个虚拟机实例,1 个实例进入一个实例组以使用 LB,所有虚拟机只有内部IP。
- 配置 VPN 隧道后使用负载均衡器的 IP 前端失去访问权限
- 防火墙规则似乎没问题
- 如果您删除 VPN 隧道和“路由”,您将使用 IP 前端恢复访问

回答您的直接问题:
- 这种行为是预期的吗?

回答:
-不,这种行为不是预期的,您可以使用 TCP 负载均衡器访问您的虚拟机实例,并使用 VPN 隧道同时从另一个(本地)网络访问相同的虚拟机实例。


关于 TCP LB(外部 - 区域)非代理,您需要考虑选项并选择最适合您的需求 [1],我想知道,您使用什么样的服务(在后端)以及使用什么端口您需要,因为 TCP 负载均衡器执行直通,因此请求从前端(外部 IP)到后端(VM 实例)完好无损地到达后端,保留相同的端口来访问您的服务。但是,不清楚您使用的是 TCP LB 还是 TCP 代理 LB。您如何测试前端 IP?(ping、nmap 等)

您正在检查和配置哪些防火墙规则?因为 LB 和 Cloud VPN 需要特定的防火墙规则 [2] [3]。
提醒我注意您需要删除路由,您能否详细解释一下此路由 [4],它们是由 GCP 生成的还是您自己生成的,这些路由的目的是什么?

您的负载均衡器和 VPN 是在哪里创建的?(区域-区域)考虑到您使用的两种资源都是区域性的 [5] [6]

通过链接,您将找到有助于找到可能的故障点的信息。


[1] https://cloud.google.com/load-balancing/docs/choosing-load-balancer#deciding_on_a_load_balancer
[2] https://cloud.google.com/load-balancing/docs/network/setting-up -network#create_a_firewall_rule_to_allow_external_traffic_to_these_vm_instances
[3] https://cloud.google.com/vpn/docs/how-to/configuring-firewall-rules
[4]https://cloud.google.com/vpc/docs/routes
[5] https://cloud.google.com/load-balancing/docs/network/
[6] https://cloud.google.com/vpn /docs/concepts/overview#ha-vpn

于 2019-07-05T18:26:56.727 回答