RHEL 5.x
我很乐意通过添加静态路由/etc/sysconfig/static-routes
。当我复习的时候红帽文档不过,我没有看到提到这一点。相反,建议使用/etc/sysconfig/network-scripts/route-<interface>
该static-routes
文件是否是已弃用的添加持久路由的方法?
答案1
如果关闭某个接口,则使用该接口的所有路由都将被删除。这在内核中自动发生。
如果您随后再次启动该接口,/etc/sysconfig/static-routes
则不会再次运行,因此该文件中为此接口指定的路由将丢失。但是,如果将路由放入特定于接口的文件中,那么它们将要当您再次打开该界面时,系统会恢复该信息。
因此最好将路线放入/etc/sysconfig/network-scripts/route-<interface>
文件中。
答案2
该文件看起来包含非特定于接口的静态路由,通过以下命令进行一些 grep 操作/etc
:
# grep -rl static-route .
./rc.d/init.d/network
./ppp/ipv6-up
./ppp/ip-up.ipv6to4
./sysconfig/network-scripts/ifup-sit
./sysconfig/network-scripts/ifup-ipv6
# perl -00 -ne 'print if m/static-routes/' rc.d/init.d/network
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
# Add non interface-specific static arp entries.
if [ -f /etc/ethers ]; then
/sbin/arp -f /etc/ethers
fi
这些文件存在于 RHEL5、6 和 7 上,但如果network
禁用该服务可能无法运行,因为我不知道是否NetworkManager
引用了该static-routes
文件;这需要实际启用它并可能运行它strace -o blah -ff -e trace=file ...
以查看它接触到的内容。