假设我们有一台 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
文件中。