我通过删除一条规则并为第二个接口 eth1 添加两条新规则来修改路由表:
route del -net 10.1.2.0 netmask 255.255.255.0
route add -host 10.1.2.51 eth1
route add -host 10.1.2.52 eth1
我希望规则在重启后仍然有效。我可以编写一个简单的 rc 脚本来删除 1 条规则并插入 2 条新规则,但我想知道是否有一种方法可以配置 ifconfig,而不是在启动时为接口(eth1)添加路由规则,甚至更好,指定应添加哪些规则。
什么是一个干净的方法来做到这一点?是否ifconfig
允许我指定自定义路由规则?
答案1
post-up
当界面出现时,您可以将调用添加到挂钩。接口配置位于/etc/network/interfaces
.这里有一个例子:
auto eth1
iface eth1 inet dhcp
post-up route del -net 10.1.2.0 netmask 255.255.255.0
post-up route add -host 10.1.2.51 eth1
post-up route add -host 10.1.2.52 eth1
pre-down route add -net 10.1.2.0 netmask 255.255.255.0
pre-down route add -host 10.1.2.51 eth1
pre-down route add -host 10.1.2.52 eth1
来自手册页 - 接口:
张贴
command
启动接口后运行命令。如果此命令失败,则 ifup 中止,避免将接口标记为已配置(即使它确实已配置),打印一条错误消息,并以状态 0 退出。预降
command
在关闭接口之前运行命令。如果此命令失败,则 ifdown 中止,将接口标记为已取消配置(即使它尚未真正取消配置),并以状态 0 退出。
此外,在 Linux 上,“net-tools”route
已被弃用,应替换为来自ip路由2包裹。
进一步阅读: