在谷歌云中,从 VM 终端(ssh 或 telnet)中查找 VM 的临时 IP 地址

ter*_*001 1 google-compute-engine google-cloud-platform

使用 ssh 或 telnet 登录 GCP VM 后,我想找到 VM 的外部临时 IP。(ifconfig -a 不显示这个)

Joh*_*ley 7

外部公共 IP 地址未绑定到 VM 的网络接口。相反,网络接口收到了一个私有 IP 地址。

VPC 内是一对一的 NAT。公网 IP 地址绑定到 NAT 的公网端。这就是为什么您无法看到带有ifconfig.

Google 将公共 IP 地址存储在实例的metadata.

执行此命令以获取公共 IP 地址:

curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance
/network-interfaces/0/access-configs/0/external-ip
Run Code Online (Sandbox Code Playgroud)

IP 地址没有换行符,因此您的命令提示符将附加到 IP 地址字符串。

您还可以将公共 IP 地址保存到环境变量中,然后将其打印到控制台。

export PUBLIC_IP=$(curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)
echo $PUBLIC_IP
Run Code Online (Sandbox Code Playgroud)

存储和检索实例元数据