我有2个实例在Compute引擎上运行,虽然文档说我能ping并在这些VM之间建立通信我不能。我已尝试使用VM名称和ipv4地址进行ping操作。我还尝试为两个虚拟机配置新的工作组,没有。
以下是链接:https://cloud.google.com/compute/docs/vm-ip-addresses
如果您正在同一网络中的实例之间进行通信,那么您 可以使用实例名称将数据包发送到实例 网络自动将名称解析为内部IP地址 实例。
我的虚拟机配置:
我甚至关闭了防火墙
但根本没有联系。
任何人都通过了相同的?有人知道发生了什么事吗? 我该如何解决这个问题?
答案 0 :(得分:2)
这种情况经常发生在我们身上 - 突然我们的2个实例无法通过API甚至ping来达到对方。即使我们没有改变任何防火墙规则或任何东西。我想这是一些GCloud故障。
我们没有尝试过任何工作,除了重新启动实例,然后一切都有效。所以,如果有人有同样的东西,似乎没有任何帮助,我建议,作为最后的手段,重启实例。
答案 1 :(得分:1)
Google Compute Engine中的每个网络都有自己的防火墙配置,默认情况下会阻止到VM的传入流量。请参阅firewall文档,了解默认网络的配置方式以及如何将类似规则应用于自定义网络。
答案 2 :(得分:1)
如果您没有更改网络和/或防火墙规则并使用默认网络和防火墙规则,则只需编辑主机文件(在所有虚拟机上打开主机,为每个虚拟机复制主机行并添加其他所有虚拟机)然后尝试ping。我在三个实例和它的工作之间尝试过相同的。
答案 3 :(得分:1)
确保防火墙规则包含GCE子网。在你的情况下,这意味着10.10.0.0/24允许icmp。
我不确定为什么防火墙规则适用于网络子网,但显然他们确实如此。
答案 4 :(得分:0)
这是由防火墙规则引起的。您需要在实例编辑页面的网络标记部分添加allow-icmp
网络标记>
您可以在VPC Network>Firewall rules
部分中创建新的网络代码以打开新的端口/协议:
编辑1: 请注意,上面屏幕截图中使用的0.0.0.0/0子网打开了整个互联网的端口,我只是将其用于演示目的,以避免共享我的IP。我强烈建议不要将该子网用于生产环境中的防火墙规则。互联网是一个黑暗而可怕的地方。
答案 5 :(得分:0)
确保在VM上重新启动网络以使其正常运行。 这对我很有帮助。