解决多出来一条路由的问题:
今天一个旧项目遇到这样一个问题,凭白无故的多出来一条路由,情况类似以下:
[root@max network-scripts]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.241.0 * 255.255.255.0 U 0 0 0 vmnet8
192.168.228.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
default 192.168.228.153 0.0.0.0 UG 0 0 0 eth0
[root@max network-scripts]#
如上所示,192.168.2.0 那一行,是不想要的。有他,有时候会导致一系列问题,例如网络会时通时不通。telnet 等 服务有问题。
大致查看了一下:
[root@max network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:91:08:62:63
inet addr:192.168.228.215 Bcast:192.168.228.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:91ff:fe08:6263/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:494523 errors:0 dropped:0 overruns:1 frame:0
TX packets:615420 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:459937447 (438.6 MiB) TX bytes:101757741 (97.0 MiB)
Interrupt:11 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16555 errors:0 dropped:0 overruns:0 frame:0
TX packets:16555 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1184098 (1.1 MiB) TX bytes:1184098 (1.1 MiB)
vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01
inet addr:172.16.34.1 Bcast:172.16.34.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08
inet addr:192.168.241.1 Bcast:192.168.241.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@max network-scripts]# cat ifcfg-eth0
# 3Com Corporation 3c905C-TX/TX-M [Tornado]
DEVICE=eth0
IPADDR=192.168.228.215
NETMASK=255.255.255.0
GATEWAY=192.168.228.153
HWADDR=00:E0:91:08:62:63
ONBOOT=yes
[root@max network-scripts]#
[root@max network-scripts]# cat ifcfg-eth0
# 3Com Corporation 3c905C-TX/TX-M [Tornado]
DEVICE=eth0
IPADDR=192.168.228.215
NETMASK=255.255.255.0
GATEWAY=192.168.228.153
HWADDR=00:E0:91:08:62:63
ONBOOT=yes
[root@max network-scripts]#
一切看起来都没有问题。
那手动删掉它,再把它,写入到 rc.local 里面 ,这样做,貌似,可以,实际,不行
[root@max network-scripts]# route del -net 192.168.2.0 netmask 255.255.255.0
所以我在这个目录 下又搜索了一下,
[root@max network-scripts]# grep 192.168.* *
ifcfg-eth0:IPADDR=192.168.228.215
ifcfg-eth0:GATEWAY=192.168.228.153
ifcfg-eth01323:IPADDR=192.168.2.215
ifcfg-eth01323:GATEWAY=192.168.2.1
ifup-aliases:# IPADDR_START -- ipaddr to start range at. eg "192.168.30.1"
ifup-aliases:# IPADDR_END -- ipaddr to end range at. eg "192.168.30.254"
ifup-aliases:# ipaddrs 192.168.30.1 through 192.168.30.254, inclusive.
ifup-aliases:# block. I.e. IPADDR_START=192.168.30.1 and IPADDR_END=192.168.31.255 is
network-functions-ipv6: # test 192.168.0.0/16 (RFC 1918 / private)
[root@max network-scripts]#
发现多了
ifcfg-eth01323:IPADDR=192.168.2.215
ifcfg-eth01323:GATEWAY=192.168.2.1
,难怪。问题已经解决了80%了呵呵
赶紧,把它移到其他的目录里,记住 不要放在本目录下,尤其是以 ifcfg-开头,并且里面的DEVICE名字和本身需要的名字一样,后果,将不堪设想。
重启网络服务。
[root@max network-scripts]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.241.0 * 255.255.255.0 U 0 0 0 vmnet8
192.168.228.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.228.153 0.0.0.0 UG 0 0 0 eth0
[root@max network-scripts]#
一切都恢复正常了
有些朋友喜欢把网卡的配置文件备份在这个目录下,还以ifcfg-开头,这样不规范,容易 出现问题。
我查看了一下,这个目录下有很多以if 开头的文件,其中,ifup ifdown 就是 /sbin/ifup 和 /sbin/ifdown的 软链接。
再查看 /etc/init.d/network 这个文件
interfaces=$(ls ifcfg* | \
LANG=C sed -e "$__sed_discard_ignored_files" \
-e '/\(ifcfg-lo\|:\|ifcfg-.*-range\)/d' \
-e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
LANG=C sort -k 1,1 -k 2n | \
LANG=C sed 's/ //')
action $"Bringing up interface $i: " ./ifup $i boot
有很多 interface ifup 这些关键字眼,不过这些脚本,的确有点绕,以我现在的功力,来看,呵呵,
足以说明,网络重启的过程 了。有兴趣的朋友,可以看看,会有很多收获的,真的。
阅读(535) | 评论(0) | 转发(0) |