如何在 CentOs 7 中保留本地路由表的路由?

如何在 CentOs 7 中保留本地路由表的路由?

假设我们有一台 IP 为 10.123.10.10 的 CentOS 机器,我们还希望它处理来自子网 10.0.0.0/11 的请求。这些请求是来自本地还是通过其他路由在这里并不重要。为此,我们成功地使用了本地路由命令

sudo ip route add local 10.0.0.0/11 dev eth0

但问题是,当机器重新启动时,该路由会从本地表中消失。在 CentOS 7.9 中坚持这一点的正确方法是什么?

我尝试过添加路线

10.0.0.0/11 via 127.0.0.1

,但这/etc/sysconfig/network-scripts/route-eth0没有效果。

有没有办法做到这一点,或者我应该将该命令添加到某些启动脚本中?

答案1

的内容/etc/sysconfig/network-scripts/route-<interface name>有两种解析方式:

  • 传统方式:如果它包含类似于环境变量的分配的三元组NETWORK<N>=NETMASK<N>=GATEWAY<N>=(其中<N>是数字),则它们用于构造网络路由。

  • 现代方式:过滤掉任何遗留的三元组后,每个剩余的非空行都带有前缀ip route add(并且可能带有与dev <interface name>文件名匹配的后缀),并执行生成的命令行。如果文件包含多行,则会重复此操作。

我还没有尝试过,但如果你sudo ip route add local 10.0.0.0/11 dev eth0做了你需要的,我会尝试写

local 10.0.0.0/11

route-eth0文件中。

相关内容