Cloud shell 找不到 Windows 实例



我在GCP上创建了Windows 2012实例,我正在尝试从Cloud shell访问它。但是我得到了错误:

ping:instance.zone.c.project.internal:名称或服务未知

在内部 IP 上运行 ping 也不会响应。

我已经通过以下方式确保服务器名称根据准则是正确的:

curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" -H "Metadata-Flavor: Google"

我允许HTTP和HTTP,但除了它使用默认防火墙配置(无论如何,它不会影响服务器发现(。计算机可通过 RDP 访问,它正在运行,并响应对其临时外部 IP 的 ping 操作,而不是内部 IP。我已经确保云外壳位于同一项目上并重置它(没有帮助(。

谢谢

阿萨夫

编辑:我创建了Linux机器,我可以用名称从中ping,所以它似乎是Cloud shell的问题

Google 文档 Compute Engine> Doc> Internal DNS 包含此问题的答案。

谷歌云上的虚拟私有云网络有一个内部DNS 允许同一网络中的实例通过以下方式相互访问的服务 使用内部 DNS 名称。
内部 DNS 名称不能用于 连接到实例的外部 IP 地址。
内部 DNS 名称只能从同一项目中使用相同 VPC 或旧网络的其他虚拟机解析。您不能使用内部 用于联系其他网络中的实例的 DNS,即使它们是 在同一项目中。

Cloud Shell 实例位于单独的网络中。您可以通过在 Cloud Shell 命令提示符下输入ip -4 addr show来确保这一点。因此,它通过其外部 IP 连接到 VM 实例。

这就是为什么 Cloud Shell 实例无法通过其内部 DNS 名称instance.zone.c.project.internal以及 ping 实例的内部 IP 地址来访问实例的原因。

你创建的 Linux VM 与 Windows VM 位于同一网络中。因此,他们可以通过内部 IP 和内部 DNS 名称相互 ping 操作。

最新更新