我在子网 10.128.1.0/24 上运行一个 google 云系统,并在 10.173.2.2/23 上运行一个远程网络,并且已启动并运行 google VPN IPSEC 隧道。
我将 google 远程网络设置为 10.173.2.2/23,本地 IP 范围为 0.0.0.0/0,远程站点的 IP 范围为 0.0.0.0/0。目的是强制所有来自远程服务器的网络流量通过 VPN。
我可以 ping 等到我的 Google 服务器(10.128.1.2)的本地 LAN 端,但无法访问其公共 IP 端口(或任何公共 IP)。
有没有一种简单的方法来设置 google VPN 隧道,将所有流量路由到我服务器上的公共 IP,或者整个网络?
干杯
答案1
通过使用Google Cloud VPN您已将本地网络连接到虚拟私有云 (VPC)通过网络IPsec VPN联系。
让我们来看看IP 地址该虚拟机实例可以具有:
每个虚拟机实例可以有一个主内部 IP 地址、一个或多个辅助 IP 地址和一个外部 IP 地址。要在同一虚拟私有云 (VPC) 网络上的实例之间进行通信,您可以使用实例的内部 IP 地址。要与互联网通信,除非您配置了某种代理,否则必须使用实例的外部 IP 地址。同样,除非网络以某种方式连接,例如通过云 VPN。外部和内部主 IP 地址都可以是临时的,也可以是静态的。
因此,VM 实例使用内部 IP 与位于本地网络中的服务器进行通信。
您可以在此处找到有关外部 IP 的更多详细信息部分:
如果您需要与互联网、其他网络中的资源通信,或者需要与 Compute Engine 之外的资源通信,则可以为实例或转发规则分配外部 IP 地址。
正如@卡洛斯,GCE VM 上的外部 IP 地址是一个抽象级别,如果您连接到 VM 实例,您只会在接口上看到内部 IP 地址。此外,如果 VM 实例没有外部 IP,则应使用云 NAT。
因此,预期行为是,您只能通过来自本地网络的 Cloud VPN 连接 ping 内部 IP 地址,而无法访问 Internet 上的虚拟机实例和资源的外部 IP 地址。
您可以使用在市场上找到的第三方解决方案,通过 VPN 连接访问互联网上的资源。