Debian

在 Debian 上設置持久路由表

  • July 26, 2013

我通過刪除一條規則修改了路由表,並為我的第二個介面 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允許我為路由指定自定義規則?

當介面出現時,您可以將呼叫添加到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

手冊頁 - 介面

post-up command

啟動界面後執行命令。如果此命令失敗,則 ifup 中止,避免將介面標記為已配置(即使它確實已配置),列印錯誤消息,並以狀態 0 退出。

pre-down command

在關閉介面之前執行命令。如果此命令失敗,則 ifdown 中止,將介面標記為已取消配置(即使尚未真正取消配置),並以狀態 0 退出。

此外,在 Linux 上,“net-tools”route已被棄用,應由iproute2包中的工具替換。

進一步閱讀:

引用自:https://unix.stackexchange.com/questions/84552