Linux添加了错误的默认路由

前端之家收集整理的这篇文章主要介绍了Linux添加了错误的默认路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
出于某种原因,我的Centos 5.9 Linux 2.6.18 x86_64要我有两个默认路由.

每当我重新启动服务器时,我的路由表如下所示:

[root@server1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
255.255.255.255 0.0.0.0         255.255.255.255 UH    0      0        0 bond0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 bond1
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 bond0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 bond1
0.0.0.0         192.168.10.1    0.0.0.0         UG    0      0        0 bond0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 bond1

bond1是本地网络,因此具有指向此网络的最后一个默认路由会使所有Internet请求失败.

它可以通过执行route del default gw 1​​92.168.0.254轻松修复,我可以将该命令添加到某个启动脚本中.但是,我想了解发生了什么,并找到问题的根源.

我希望有人能告诉我,为什么会这样.我的研究证实,应该始终只有一个默认网关,但我找不到为什么会自动存在两个默认网关的答案.

这是一些配置文件

[root@server1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=myhostname.com

[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.10.11
NETMASK=255.255.255.0
NETWORK=192.168.10.0
BROADCAST=192.168.10.255
GATEWAY=192.168.10.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
IPADDR=192.168.0.15
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.254
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

我知道交换bond0和bond1会使两个默认路由切换到位,有效地让我在启动时访问Internet.但我仍然认为这不是一个好的解决方案.

在互联网上,人们正在讨论/ etc / sysconfig / network-scripts / route-X中的文件,但我没有这些文件.

谢谢你的时间.

解决方法

“默认”路由是根据ifcfg-< interface>中的GATEWAY行设置的.文件.正如Dom在他的评论中提到的,如果删除不正确的GATEWAY行,您的路由表将如您所愿.

猜你在找的Linux相关文章