Chinaunix首页 | 论坛 | 博客
  • 博客访问: 109095
  • 博文数量: 55
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-13 10:59
文章分类
文章存档

2011年(1)

2009年(37)

2008年(17)

我的朋友

分类: LINUX

2009-01-06 19:34:54

解决多出来一条路由的问题:
    今天一个旧项目遇到这样一个问题,凭白无故的多出来一条路由,情况类似以下:

[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) |
0

上一篇:logrotate

下一篇:裸设备-征集

给主人留下些什么吧!~~