我使用 iproute2 在一个 eth 上设置两个 IP 地址,在第二个 NIC 上设置一个 IP 地址。有一些非常好的文章这里和这里很好地解释了如何做到这一点。
然而,检查规则ip 规则显示,错误地返回:
数据库 /etc/iproute2/rt_tables 在 ip route add 192.168.15.0 dev eth0 src 192.168.15.190 table mgmtsecond 处损坏
我已经在 Google 上搜索了几个小时,但没找到太多关于这个错误的信息。我已使用官方文档检查了语法。看起来不错。
有什么建议吗?谢谢!
/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
答案1
您不应将命令ip route 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
如果需要,您可以将它们添加到启动过程结束时调用的脚本中。