我在服务器上有 2 个 NIC,一个用于与 10.10.10.X IP 进行内部通信,另一个用于与 172.XXX IP 进行外部通信。
我有这样的路线表
[root@hadoopslave1 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.10.0 * 255.255.255.0 U 0 0 0 em1
172.X.X.0 * 255.255.255.0 U 0 0 0 em3
link-local * 255.255.0.0 U 1002 0 0 em1
link-local * 255.255.0.0 U 1004 0 0 em3
default 10.10.10.1 0.0.0.0 UG 0 0 0 em1
这里的默认路由是通过 10.10.10.1 网关。我删除了默认路由并为 172.XX1 网关添加了新路由,但重新启动后,路由就会恢复。
需要进行哪些更改才能确保这些更改在重启后仍能保留。
答案1
您可能需要在 /etc/sysconfig/network 和 /etc/sysconfig/network-scripts 中查找
默认网关由网络脚本确定,该脚本首先解析 /etc/sysconfig/network 文件,然后解析处于“up”状态的网络接口 ifcfg 文件。ifcfg 文件按数字升序解析,最后一个要读取的 GATEWAY 指令用于在路由表中组成默认路由。
对于 CentOS 7,你可能还需要在这些文件中查找 DEFROUTE 指令,请参阅https://wiki.centos.org/FAQ/CentOS7
答案2
您需要输入路由/etc/sysconfig/network-scripts/route-em3
,并像这样放置路由(显然要替换 IP 类别以匹配您的 IP 类别):
192.168.10.0/24 via 192.168.12.1 dev eth1
然后您只需重新启动网络服务即可service network restart
看到路由已添加。这也将使其在重启后保持不变。
答案3
我能够解决这个问题DEFROUTE=是两个 NIC 配置中的条目,em1 和 em3。
在用于内部通信的 em1 中,我将其更改为否并重新启动了网络服务。