iproute2:数据库/ etc / iproute2 / rt_tables已损坏

我使用iproute2在第二个NIC上的一个eth和一个IP地址上设置了两个IP地址。 这里和这里有一些非常好的文章解释了如何做到这一点。

但是,使用ip rule show检查规则,返回错误:

数据库/ etc / iproute2 / rt_tables已损坏在ip route add 192.168.15.0 dev eth0 src 192.168.15.190 table mgmtsecond

我一直在谷歌search几个小时,但没有太多这个错误。 我已经检查过官方文档的语法。 看起来很好

有什么build议么? 谢谢!!

的/ etc / iproute2的/ rt_tables

# reserved values # 255 local 254 main 253 default 0 unspec # # Mgmt Alias and Mon Ports # 1 mgmtsecond 2 monport # Management Port Second Instance # Main#2 def is 192.168.15.1 ip route add 192.168.15.0/24 dev eth0 src 192.168.15.190 table mgmtsecond ip route add default via 192.168.15.1 dev eth0 table mgmtsecond # Monitor Port. Default 192.168.16.1 ip route add 192.168.16.0/24 dev eth1 src 192.168.16.190 table monport ip route add default via 192.168.16.1 dev eth1 table monport ip rule add from 10192.168.15.0/24 table mgmtsecond ip rule add to 192.168.15.0/24 table mgmtsecond 

您不应该将ip route addip rule add命令ip rule add到此文件/etc/iproute2/rt_tables 。 文件格式如下:

 table_id table_name 

例:

 255 local 

错误消息明确的错误位置:

数据库/ etc / iproute2 / rt_tables已损坏在ip route add 192.168.15.0 dev eth0 src 192.168.15.190 table mgmtsecond

应该手动添加路由和规则,或者添加到其他需要调用的脚本。 例如,如果需要,可以将它们添加到在启动过程结束时调用的/etc/rc.local脚本中。