Linux操作系统云服务器无法获取元数据怎么办?
问题描述
Linux操作系统云服务器的安全组出方向已按照元数据获取的前提条件进行配置,但是无法通过169.254.169.254获取元数据。
根因分析
在配置了静态IP的Linux系统云服务器中执行以下命令:
# ip route| grep 169.254
如果169.254.169.254路由不存在,并且169.254.0.0/16路由存在。
如图1所示,说明Linux操作系统云服务器配置了静态IP,重启网络服务后部分Linux操作系统服务器会将原有的169.254.169.254路由替换为169.254.0.0/16路由,后者没有指定下一跳。导致Linux操作系统云服务器无法获取元数据。
处理方法
- 登录弹性云服务器,具体操作,请参见Linux ECS登录方法概述。
- 添加169.254.169.254路由,指定下一跳网关和主网卡,示例:
# ip route add 169.254.169.254 via 192.168.1.1 dev eth0
其中192.168.1.1是主网卡对应子网的网关,eth0是主网卡名称。
- 执行以下命令,验证获取元数据的功能正常。 图2 验证获取元数据的功能
怎样查看网关地址?
- 登录ECS控制台,进入弹性云服务器列表页面。
- 单击弹性云服务器名称。
系统跳转至该弹性云服务器详情页面。
- 单击虚拟私有云名称,跳转至虚拟私有云列表页。 图4 在云服务器详情页面单击虚拟私有云名称
- 单击对应的子网,跳转至子网列表页面。 图5 在虚拟私有云页面单击子网名称
- 单击子网名称,进入子网详情页面查看网关信息 图6 查看网关信息

