带有TCP负载平衡器的Cloud VPN

时间:2019-07-04 11:20:00

标签: google-cloud-networking google-cloud-vpn google-cloud-load-balancer

我正在尝试在具有5个VM的GCP网络中建立Cloud VPN,这些VM中的一个位于TCP负载均衡器后面的实例组中,将实例组的端口代理到Internet,以及VPN隧道本身之所以运作良好,是因为它已经建立,我可以从本地网络ping这些VM。

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

我已经检查了防火墙规则,没关系。如果删除VPN隧道和路由,则可以正常访问IP。这种行为是预期的吗?如果我在同一网络中有Cloud VPN,我真的无法访问Load Balancer IP吗?

顺便说一句,所有VM都没有外部IP,只有内部IP。正如我之前所说,其中之一在LB后面,可以访问互联网。

我希望从我的本地网络(该网络中建立了Cloud VPN)连接到TCP负载平衡器后面的实例组中的VM。我只能访问内部IP,而不能访问LB外部IP。

1 个答案:

答案 0 :(得分:0)

让我总结一下,

要点是:

-TCP负载平衡器(LB)-区域网络LB
-从本地到GCP的VPN隧道
-5个VM实例,将1个实例放入一个实例组以使用LB,所有VM仅具有内部IP。
-配置了VPN隧道后,无法使用负载均衡器的IP前端进行访问
-防火墙规则似乎还可以
-如果删除VPN隧道和“路由”,则可以使用IP前端恢复访问权限

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

答:
  -否,这种行为是无法预期的,您可以使用TCP负载平衡器访问您的VM实例,并使用VPN隧道同时从另一个(本地)网络访问同一VM实例。


关于非代理的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