在 Debian 上设置持久路由表

在 Debian 上设置持久路由表

我通过删除一条规则并为第二个接口 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包裹。

进一步阅读:

相关内容