遇到了一个奇怪的问题,无法从 Red Hat Enterprise Linux Server 版本 5.11(我们网络上的 10.110.10.230)连接到网络上的另一台机器(10.255.10.82)
我的路由表如下所示
# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
default 10.110.10.1 0.0.0.0 UG 0 0 0 eth1
我删除了这条路线...
10.0.0.0 * 255.0.0.0 U 0 0 0 eth1
用这个命令...
/sbin/ip route del 10.0.0.0/8 dev eth1 proto kernel scope link src 10.110.10.230
这解决了我的问题,即能够访问相关 IP,但当我重新启动机器时,路由会重新填充到表中。我想也许有人在这个服务器上设置了静态路由,但看起来文件中没有定义任何内容
# cat /etc/sysconfig/networking/devices/ifcfg-eth1
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
GATEWAY=10.110.10.1
TYPE=Ethernet
DEVICE=eth1
BOOTPROTO=none
IPADDR=10.110.10.230
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
HWADDR=00:50:56:b9:48:f6
(eth1 是该服务器上的活动适配器)/etc/sysconfig/ 目录中也没有用于设置静态路由的文件。
所以,我的问题是,还可以通过哪些其他方式设置这样的路线,以及为什么它会“粘性”......在删除它之后重新启动后又会恢复?
答案1
由于您的 eth1 网络接口具有在 ifcfg-eth1 中定义的静态 IP 地址 10.110.10.230,因此会自动添加路由 10.0.0.0/8。作为 NETMASK 属性如果配置文件中没有设置,RedHat 会假定您使用的是 A 类默认掩码(CIDR 表示法中的 255.0.0.0 或 /8)。因此,此路由将自动添加,这就是它的工作方式。
如果您使用 ip route 命令删除该路由,并且由于默认网关 10.110.10.1,您可以连接到另一台机器,因此您可能需要检查 eth1 的网络掩码是否应该不同。检查您的 10.255.10.82 机器的网络掩码是多少或检查您的路由器配置。