看清楚ARP 排除网络故障

http://tech.ddvip.com   2007年06月23日    社区交流 收藏本文

内容摘要:我单位碰到一个非常奇怪的问题,一台P4品牌电脑,内置英特尔网卡,一直以来用得挺好,浏览互联网,内网的通信都很正常。突然有一天,发现这台计算机在浏览互联网时时通时断,ping互联网上的地址时,也是通一下,断一下,但ping内网时什么问题也没有,和内网的通信也非常正常,就是和互联网通信时有这种现象,非常令人费解。这台电脑的IP地址为192.168.24.55,防火墙的IP地址为192.168.24.7。

  Telnet上防火墙,检查防火墙配置,一切正常;检查端口,一切正常;检查路由表,也是一切正常。疑惑中,似乎不知该从哪里下手了。突然间,想起来为了防止内网用户盗用IP地址上网,在防火墙上做了IP地址和MAC地址的绑定的!对,检查检查ARP表。于是输入命令:get arp,显示一大串ARP表的信息,竟然全部是IP地址和MAC地址的静态绑定的信息,仅仅只有一条动态的,那是防火墙的下一跳的IP地址和下一跳的MAC地址的信息,就是没有192.168.24.55的ARP表项,难道是……ARP表的问题?似乎看到了一丝希望!

  于是决定先清除几个静态绑定的ARP表项试试,先用unset arp命令一连清除了6条静态绑定的ARP表项,然后在那台电脑上ping互联网的地址,居然不丢包了!?困扰我几天的问题难道就这样解决了吗?我简直有点不敢相信,又让我的同事在这台电脑上面测试一下,登录QQ,浏览网页,收发邮件……,居然一切正常,再也没有原来时通时断的现象了!再Telnet到防火墙上,get arp一看,192.168.24.55那台电脑的ARP表项赫然在目。看来问题真的解决了!高兴之余坐下来再好好的想一想原因吧。

  故障溯源

  这台Netscreen NS 25的防火墙最多支持128个ARP表项,如果不进行静态绑定,ARP表项会不断地进行更新,超时的自动会删掉,所以不会出现ARP表项被占满的情况。而如果是静态绑定,那么它永远就不会被清除,永远会占据一个ARP表项,留给动态使用的ARP表项空间就会越来越少,直到全部占满,导致我所碰到的情况。那么既然如此,有朋友会问了,既然都占满了,其他的电脑就会完全不通,为什么会出现时通时断的现象呢?于是我将ARP表项数了一下,静态绑定的刚好达到127个,剩下一个给防火墙的下一跳的地址占用了,注意这个是动态的,当它的更新时间到了之后,就被删掉了,那台电脑就占用了这个表项,于是网络就通了,因为还有其它的电脑在不断地访问互联网,所以192.168.24.55的ARP表项一到达更新时间马上就会被防火墙的下一跳的地址所占用,这时网络就不通了。其实在这时,我单位的所有机器在访问互联网时都会出现时通时断的现象,只不过防火墙的下一跳的地址占用ARP表项的时间长,互联网中断的时间在大家能够忍受的范围内,都没有发觉罢了。因为防火墙的下一跳的地址占用ARP表项的时间长,192.168.24.55的ARP表项写不进ARP表,产生超时,所以它不通的时间就长一些,就出现时通时断的现象了。

责编:豆豆技术应用

正在加载评论...