![如何在 CentOs 7 中保留本地路由表的路由?](https://linux22.com/image/216179/%E5%A6%82%E4%BD%95%E5%9C%A8%20CentOs%207%20%E4%B8%AD%E4%BF%9D%E7%95%99%E6%9C%AC%E5%9C%B0%E8%B7%AF%E7%94%B1%E8%A1%A8%E7%9A%84%E8%B7%AF%E7%94%B1%EF%BC%9F.png)
假设我们有一台 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
文件中。