Linux
在重新啟動時保留多宿主設置
在閱讀了“兩個網關/兩個具有不同 ips 的提供商”以及它連結到的 Clinton East 文章之後,我已經成功地建立了一個多宿主 RHEL5 系統。但是,我希望有一種比從 rc.local呼叫
ip rule
and命令更好的方法來保存這種狀態。ip route
是否有一個我可以編輯的配置文件可以在介面出現時被讀取?也許像 iptables-save 和 iptables-restore 這樣的東西?
在 RHEL 中,有兩個地方可能需要這些東西。
要在 RHEL 中添加靜態路由,請將它們添加到 /etc/sysconfig/network-scripts/route- INTERFACE,其中INTERFACE與 ifcfg- INTERFACE條目的名稱匹配。route-* 文件中的語句將被傳遞到
ip route add
以及ip route del
何時啟動或關閉介面。現在,對於
ip rule
命令,我能想到的最好的地方可能是/sbin/ifup-local
. 如果這個文件存在,它會在一個介面被啟動後執行。請注意,如果/sbin/ifup-local
存在,它將作為執行檔呼叫並傳遞介面名稱的參數。因此,您必須編寫處理程式碼來針對要為其添加配置的介面檢查該參數,然後採取適當的措施。舉個例子:
#/bin/bash case $1 in eth0) /sbin/ip rule foo /sbin/ip rule bar ;; eth1) /sbin/ip rule baz /sbin/ip rule quux ;; *) /usr/bin/logger -t 'ifup-local' 'Called with unknown interface: $1' ;; esac
如果您願意,您也可以在 中包含每個介面的 ip 路由規則
ifup-local
。如果您想在介面關閉時刪除相應的規則,您可以創建一個類似的/sbin/ifdown-local
腳本來處理它。如果是我,即使 RHEL 提供了一種處理靜態路由的標準化方法,我也可能會在
ifup-local
and中做所有事情ifdown-local
,只是為了將我所有的介面特定位放在一起。