本文为您介绍Alibaba Cloud Linux 2系统的ECS实例无法查询和配置路由信息的原因及解决方案。
问题描述
符合如下条件的ECS实例无法查询和配置路由信息:
镜像:
aliyun-2.1903-x64-20G-alibase-20190507.vhd
及之前所有的版本。内核:
kernel-4.19.34-11.al7
及之前所有的内核版本。
具体的问题现象如下:
无法查询创建的路由表信息。操作示例如下:
说明此处的示例信息仅供参考,现场以实际情况为准。
执行以下命令,创建路由表。
ip -4 route add default via 192.168.0.253 dev eth1 table 1001
执行以下命令,查看创建的路由表信息。系统未返回创建的路由表信息。
ip route list table 1001
再次执行以下命令,尝试创建路由表。
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
模块。
解决方案
在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
因此,请您升级ECS实例的内核至kernel-4.19.36-12.al7.x86_64
或之后的版本。