重启后保留多宿主设置

重启后保留多宿主设置

读过“两个网关/两个具有不同 IP 的提供商”以及它链接到的 Clinton East 文章,我已成功设置了多宿主 RHEL5 系统。但是,我希望有一种比从 rc.local 调用ip ruleip route命令更好的方法来保留此状态。是否有一个我可以编辑的配置文件,它会在接口启动时被读取?也许像 iptables-save 和 iptables-restore 这样的文件?

答案1

在 RHEL 中,这些东西可能应该放在两个地方。

要在 RHEL 中添加静态路由,请将其添加到 /etc/sysconfig/network-scripts/route-界面在哪里界面匹配 ifcfg- 的名称界面条目。当接口启动或关闭时,route-* 文件中的语句将被传递给 和ip route addip 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

如果需要,您ifup-local也可以在 中包含每个接口的 IP 路由规则。如果您想在接口关闭时删除相应的规则,您可以创建类似的/sbin/ifdown-local脚本来处理该问题。

如果是我的话,尽管 RHEL 提供了处理静态路由的标准化方法,我可能还是会按照ifup-local和的方式做所有事情ifdown-local,只是为了将所有特定于接口的位保持在一起。

答案2

红帽: 我手头没有任何可以检查的箱子,但应该有一个类似/etc/sysconfig/network/routes文件的东西来配置静态路由。

SuSE:

$ cat /etc/sysconfig/network/ifroute-eth-id-MAC:
#NETWORK/MASK GATEWAY_IP
192.168.100.0/24 192.168.1.1

Debian:

$ cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
up ip route add 192.168.100.0/24 via 192.168.1.1
down ip route del 192.168.100.0/24 via 192.168.1.1

相关内容