Google云虚拟实例无法ping我的Mac(已检查防火墙)

时间:2017-09-08 15:51:12

标签: google-cloud-platform virtual-machine

我有一个在Google Cloud Compute Engine上运行的虚拟机实例 - 一个运行Ubuntu 17.04的可抢占的免费层CPU。最终目标是将其连接到在我的本地计算机上运行的MongoDB,即2015 Macbook Pro(OS 10.12.6)。但首先,我一直在尝试确保VM可以通过ping到达我的Mac。

  • 从我的Mac上运行ping <VM's external IP>
  • ping我的Mac从同一个无线网络上的另一台Mac工作。
  • 通过浏览器终端从VM运行ping <Mac's IP> 不起作用。

我已禁用Mac的防火墙。我还配置了VM的防火墙规则以允许所有入站和出站流量无效:

ingress firewall rulesegress firewall rules

如何让这个实例成功ping我的Mac?

1 个答案:

答案 0 :(得分:0)

您的Mac的IP地址是以10.192.168.还是172.16.172.32.之间开头的?这些private addresses只能在您的Mac本地网络中访问,这是(部分)GCE无法访问您的VM的原因。

这是非常常见的配置的一部分。 ISP仅为您的家庭或企业分配一个(或少量)IP地址。网络上的路由器执行NAT以在本地网络上的计算机之间共享该IP地址,而不是为自己使用私有IP地址。由于路由器不知道如何处理入站MongoDB流量,因此会阻止它。

通常可以在路由器设置中找到两种常见方法:

  1. &#34;端口转发&#34;您告诉流量将端口1234上的所有流量转发到Mac的位置。这可以使MongoDB正常工作,但不能ping。
  2. 如果您有完整的额外IP地址,&#34; DMZ&#34;您的路由器直接将整个额外的IP转发到您的实例。如果您只有一个IP地址,则这不是一个选项,因为需要为Wifi上的其他设备共享IP。
  3. 您可能在路由器上也有防火墙。如果您使用DMZ或端口转发,则必须确保防火墙也允许流量通过。

    那就是说,我不确定这是明智之举。打开您的本地网络到互联网可能会产生重大的安全问题,而且它可能更加昂贵(免费等级仅提供1GB出口/月,您的数据流量可能超过此值)。

    实际上,在GCE中运行MongoDB几乎可以肯定是一个更好的选择。