网络通信 频道

断网疑难杂症之防ARP系统惹的祸(下)

  【IT168 专稿】在断网疑难杂症之防ARP系统惹的祸(上)一文中我们为各位IT168网络频道读者介绍了一次奇怪的断网故障排查经历,虽然最后通过恢复路由器配置到出厂设置解决了实际问题,但是之前路由器中哪个地方的参数设置造成的断网问题还是没有彻底根除,本着研究的精神,笔者再次恢复原有配置并做进一步检测,最终发现了问题根源所在。

  一,恢复配置重新再来:

  在上文中我们在恢复原厂设置前将配置文件做了导出备份,于是为了查清故障根源笔者执行了导入配置文件的操作,将之前备份的param.bin文件导入到路由器中,完成恢复配置工作。(如图1)

  恢复配置后本来能够上网的那台机器又出现了问题,故障依旧无法访问外网但是可以PING通网关和内网其他网络设备。

  二,更换地址突破过滤限制:

  为了排除因为MAC地址或IP地址等信息被路由器过滤,于是笔者通过修改网卡属性的方法,在高级标签下将“本地管理的地址”从之前的00-08-02-6b-a3-1a修改为00-08-02-6b-a3-1b。这样就算路由器上有针对MAC地址进行的过滤,只要我的MAC地址发生了改变,这种过滤限制应该就排除了。(如图2)

  修改MAC地址后通过ipconfig /all查询到相应的physical address已经被改为00-08-02-6b-a3-1b。(如图3)

  重新通过ipconfig /release释放获得的IP地址,并且执行ipconfig /renew命令从路由器获得了新的IP地址信息——192.168.1.14,这样MAC地址和IP地址等信息都已经改头换面截然一新。(如图4)

  不过另人遗憾的是全部地址改变后该计算机依然无法上网故障依旧。

  小提示:

  笔者还进行了包括设置VLAN信息初始化等工作,将所有接口都强制设定到了GROUP1,并且保存设置,但是依然没有能够解决问题。(如图5)

  三,通过sniffer发现一点蛛丝马迹:

  既然已经修改了MAC地址以及IP地址等信息依然无法上网,那么这就应该和MAC地址过滤不相关了。唯一能够解释的就是在路由器上执行了端口绑定,该端口只容许某IP或某MAC地址数据通讯,但是欣全向路由器上又没有地方对端口绑定进行配置。于是笔者决定拿出专业工具——sniffer来一查究竟。

  第一步:笔者安装wireshark这个专业的嗅探工具到出故障的计算机上。(如图6)

  第二步:经过检测笔者发现当我们在本机使用IP地址为192.168.1.14以及MAC地址是更改后的信息上网时会频繁发现ARP数据包——who has 192.168.1.13 tel 192.168.1.14,数据类型是广播数据包,发送的源地址是HEWLETTP_6B:A3:1B,这个地址应该是出故障计算机修改后的MAC地址。也就是说他会向网络发送ARP解析数据包寻找192.168.1.13机器对应的MAC地址然后记录下来。那么为什么会查找这个地址呢?这个地址不就是以前本机从路由器获得的IP地址吗?另外从网络通讯第一个数据包中笔者也发现实际上本机还是尝试和61.135.181.175外网地址进行了通讯。(如图7)

  第三步:接下来笔者将本机的MAC地址恢复到出厂设置00-08-02-6b-a3-1a,再次执行IPconfig /renew获得了192.168.1.13这个地址。上网故障依旧而且用wireshark查询后发现之前出现的who has 192.168.1.13 tel 192.168.1.14查询数据包已经消失了,而网卡频繁发送ARP广播数据包——gratuitous arp for 192.168.1.254 request。除了这个数据包外其他数据包都没有。(如图8)

  第四步:但是我们通过arp -a命令又能够查询出本机已经知道了192.168.1.254地址对应的MAC地址信息,查询路由器接口信息可以清晰看到两者地址的吻合,这说明解析没有任何问题。(如图9)

  四,断网疑难杂症缘自ARP系统惹的祸:

  既然解析正确为什么还要在网络内频繁发送gratuitous arp for 192.168.1.254 request这个ARP广播数据包呢?

  小提示:

  什么是gratuitous ARP呢?实际上他是用来探测网内是否有机器和自己的ip冲突,或者用来更新工作站的arp缓存,那么这个gratuitous ARP数据包为什么会平白无故产生呢?要知道如何是干净的系统应该只存在ARP数据包的。

  于是笔者再次询问了学校网络管理员,经过他的回忆才知道原来最早学校通过欣全向ARP免疫墙进行了学校内部的ARP防疫系统搭建工作,每台设备上都安装了ARP免疫系统客户端,同时还拿出一台服务器搭建了免疫系统监控中心,不过最近这个服务器瘫痪了,而且这台出故障的计算机最近重新安装了系统,也就是说本机没有安装ARP免疫系统客户端。

  那么是否故障缘自在搭建了ARP免疫系统后将ARP免疫系统客户端卸载呢?笔者又针对其他能够正常上网计算机进行了检测,将其上的ARP免疫系统客户端CWALL从控制面板中卸载,果不其然删除后该计算机也无法上网了,故障和之前的计算机一样。

  因此我们可以判断本次故障是由于之前搭建了ARP免疫系统而客户端又在控制中心不存在的情况进行了手工删除,进一步造成ARP免役系统紊乱而无法上网。这可能和ARP双向绑定有关,不过由于路由器自身也没有相关配置,所以个人怀疑可能还是由于ARP免疫系统自身BUG造成的。当系统搭建后监控中心与路由器之前存在着通讯与联系,当监控中心不存在时ARP免疫系统客户端CWALL还会工作,一旦将其删除马上造成路由器与终端设备ARP解析故障,从而造成网络中断。这点在修改MAC地址后依然发送who has 192.168.1.13 tel 192.168.1.14数据包中有所体现,说明CWALLARP免疫系统客户端没有卸载干净依然存在这种解析查询关系。

  五,总结:

  至此我们才彻底查明本次断网故障的根源来自于ARP免疫系统搭建以及卸载的故障,由于客户端卸载不干净,造成终端设备上ARP信息与路由器配置的信息不匹配,从而造成终端设备在删除ARP免疫系统客户端后无法顺利上网。看来日常工作中防ARP或防病毒系统的搭建与删除一定要三思而后行,弄不好就会有这样或那样的奇怪故障。

0
相关文章