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

Google cloud platform Google云虚拟实例无法ping我的Mac(已检查防火墙),google-cloud-platform,virtual-machine,Google Cloud Platform,Virtual Machine,我有一个运行在谷歌云计算引擎上的虚拟机实例——一个运行Ubuntu 17.04的可抢占的免费层CPU。最终目标是将其连接到我的本地机器上运行的MongoDB,即2015 Macbook Pro(OS 10.12.6)。但首先,我一直在努力确保虚拟机可以通过ping到达我的Mac 通过浏览器终端从虚拟机运行ping,不起作用 我已禁用Mac的防火墙。我还配置了虚拟机的防火墙规则,以允许所有入站和出站流量,但没有效果: , 如何使此实例成功ping我的Mac?您的Mac的IP地址是以10.、19

我有一个运行在谷歌云计算引擎上的虚拟机实例——一个运行Ubuntu 17.04的可抢占的免费层CPU。最终目标是将其连接到我的本地机器上运行的MongoDB,即2015 Macbook Pro(OS 10.12.6)。但首先,我一直在努力确保虚拟机可以通过
ping
到达我的Mac

  • 通过浏览器终端从虚拟机运行
    ping
    不起作用
我已禁用Mac的防火墙。我还配置了虚拟机的防火墙规则,以允许所有入站和出站流量,但没有效果:

,


如何使此实例成功ping我的Mac?

您的Mac的IP地址是以
10.
192.168.
开头,还是介于
172.16.
172.32.
之间?这些只能在Mac的本地网络中访问,这也是GCE无法访问VM的部分原因

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

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

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


    尽管如此,我不确定这样做是否明智。向internet开放您的本地网络可能会产生重大的安全问题,而且可能不可靠且成本更高(免费层每月仅提供1GB的出口,您的db流量可能会超过此值)

    实际上,在GCE内的实例上运行MongoDB几乎肯定是一个更好的选择