文档首页/ 弹性云服务器 ECS/ 用户指南(安卡拉区域)/ 常见问题/ 网络配置/ Linux操作系统云服务器无法获取元数据怎么办?
更新时间:2024-04-15 GMT+08:00

Linux操作系统云服务器无法获取元数据怎么办?

问题描述

Linux操作系统云服务器的安全组出方向已按照元数据获取的前提条件进行配置,但是无法通过169.254.169.254获取元数据。

根因分析

在配置了静态IP的Linux系统云服务器中执行以下命令:

# ip route| grep 169.254

如果169.254.169.254路由不存在,并且169.254.0.0/16路由存在。

图1 查看服务器路由信息

图1所示,说明Linux操作系统云服务器配置了静态IP,重启网络服务后部分Linux操作系统服务器会将原有的169.254.169.254路由替换为169.254.0.0/16路由,后者没有指定下一跳。导致Linux操作系统云服务器无法获取元数据。

处理方法

  1. 添加169.254.169.254路由,指定下一跳网关和主网卡,示例:

    # ip route add 169.254.169.254 via 192.168.1.1 dev eth0

    其中192.168.1.1是主网卡对应子网的网关,eth0是主网卡名称。

  2. 执行以下命令,验证获取元数据的功能正常。

    # curl http://169.254.169.254

    图2 验证获取元数据的功能
  1. 执行以下命令,创建或修改/etc/sysconfig/network-scripts/route-eth0文件,固化静态路由防止重启失效。

    # vi /etc/sysconfig/network-scripts/route-eth0

    添加如下内容:

    本例以eth0,IP为192.168.1.1为例,请根据实际情况替换对应的网卡和网关IP。

    # 169.254.169.254 via 192.168.1.1