在Google Cloud中,从VM终端(ssh或telnet)中找到VM的临时IP地址。

时间:2018-12-12 05:14:20

标签: google-cloud-platform google-compute-engine

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

1 个答案:

答案 0 :(得分:2)

外部公共IP地址未绑定到VM的网络接口。相反,网络接口收到了专用IP地址。

VPC内是一对一NAT。公用IP地址绑定到NAT的公用端。这就是为什么看不到ifconfig的公共IP地址的原因。

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

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

curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance
/network-interfaces/0/access-configs/0/external-ip

该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

Storing and Retrieving Instance Metadata