我在GCP上创建了Windows 2012实例,并试图通过云shell访问它。但我发现了一个错误:
ping: instance.zone.c.project.internal:不知道名称或服务
在内部IP上运行ping也没有响应。
我已经通过以下方法确保服务器名根据指导方针是正确的:
curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" -H "Metadata-Flavor: Google"我允许HTTP & HTTPs,但除了它使用默认防火墙配置(而且无论如何,它不会影响服务器发现)。这台计算机可以通过RDP访问,它正在运行,并且响应于它短暂的外部IP而不是内部IP。我已经确保云外壳在同一个项目上,并重新设置它(没有帮助)。
谢谢,
阿萨夫
编辑:我创建了Linux机器,我可以使用它的名称进行切换,所以它似乎是Cloud的问题。
发布于 2020-06-08 15:31:29
Google文档Compute Engine > Doc > Internal DNS包含了这个问题的答案。
Google上的虚拟私有云网络有一个内部DNS服务,允许中的实例通过使用内部DNS名称相互访问同一个网络。 内部DNS名称不能用于连接到实例的外部IP地址。 内部DNS名称只能从相同项目中使用、相同VPC或遗留网络的其他VM解析。您不能使用内部DNS来联系其他网络中的实例,即使它们在同一个项目中。
Cloud实例位于一个单独的网络中。您可以通过在Cloud命令提示符中输入ip -4 addr show来确保这一点。因此,它通过外部IP连接到VM实例。
这就是为什么Cloud实例不能通过其内部DNS名称instance.zone.c.project.internal访问实例,也不能平实例的内部IP地址。
您创建的Linux与Windows位于同一个网络中。因此,它们可以通过内部IP和内部DNS名称相互切换。
https://stackoverflow.com/questions/62246914
复制相似问题