Aliyun Linux 2系统的ECS实例无法查询和配置路由信息

Aliyun Linux 2系统的ECS实例无法查询和配置路由信息

更新时间:2020-04-22 11:52:07

问题描述

符合如下条件的ECS实例无法查询和配置路由信息:

  • 镜像:aliyun-2.1903-x64-20G-alibase-20190507.vhd及之前所有的版本。
  • 内核:kernel-4.19.34-11.al7及之前所有的内核版本。

具体的问题现象如下:

  • 无法查询创建的路由表信息。操作示例如下:
    说明:此处的示例信息仅供参考,现场以实际情况为准。
    1. 执行以下命令,创建路由表。
      ip -4 route add default via 192.168.0.253 dev eth1 table 1001
    2. 执行以下命令,查看创建的路由表信息。系统未返回创建的路由表信息。
      ip route list table 1001
    3. 再次执行以下命令,尝试创建路由表。
      ip -4 route add default via 192.168.0.253 dev eth1 table 1001
      系统返回File exists的错误信息。
      RTNETLINK answers: File exists
  • 无法配置策略路由。执行以下命令,配置策略路由,系统返回Operation not supported的错误信息。
    ip -4 rule add from 192.168.0.68 loopup 1001

问题原因

策略路由依赖CONFIG_IP_MULTIPLE_TABLES模块,在kernel-4.19.34-11.al7及之前所有的内核版本中,未开启CONFIG_IP_MULTIPLE_TABLES模块。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

kernel-4.19.36-12.al7.x86_64内核版本中,已启用策略路由所依赖的相关选项,可以解决上述问题。因此,请升级ECS实例的内核至kernel-4.19.36-12.al7.x86_64或之后的版本。

CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_FIB_RULES=y
# CONFIG_NET_VRF is not set

说明:如果开启IPv6,也存在对应内核选项。

适用于

  • 云服务器 ECS

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。