不可忽视的NBNS广播包
2017-11-07
故障现象
公司财务部使用的是公司的内网,16台主机通过一台交换机互联,一直运行稳定。最近新增加了8台主机后,单位财务办公室反映其办公软件出现中断、卡顿等现象,严重影响了财务部门同事的工作。知悉这一简单故障现象后,我们在主机上通过使用Ping命令发现到网关有丢包,尤其是财务部门所有主机都在使用的情况下丢包更加严重,重启交换机也不能解决。
故障分析
根据以往的经验,网络的丢包一般是由于ARP攻击、环路、线路质量等原因造成的,接下来就按照上述思路开始逐一排查。
首先分析的是局域网中是否有ARP攻击。ARP攻击的原理就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP广播包使网络阻塞,攻击者只要持续不断地发出伪造的ARP响应包,就能更改目标主机ARP缓存中的条目,造成网络中断或丢包严重。
检测ARP攻击最简单的一个方法,就是在Windows命令行界面通过输入输入“arp -a”查看arp列表,其中如果存在多条与网关IP相对应的MAC地址时,表明局域网存在ARP攻击。经过查看ARP列表,没有发现网关IP地址对应多个MAC地址的情况,因此排除了ARP攻击的可能。
接下来排查线路质量和环路原因。通过使用测线器测量机房到交换机的线路,发现线路质量没有问题,但在交换机下使用笔记本进行Ping测试,发现到网关依旧丢包严重,于是通过抓包软件分析网络中是否存在环路和其他故障。使用Wireshark对抓包文件进行分析后,发现了网络中充斥着大量的NBNS广播包(如图1)。
图1 使用软件抓包示意图
NBNS是获取网络上的主机名和地址映射的协议,实现类似于DNS域名解析的功能。一般情况下,如果主机需要访问一个域名,但缓存中没有对应的域名地址信息,又不能连接互联网进行DNS话,就会不断地向局域网中发送大量的NBNS广播包。由于财务部所有主机都是内网,一些主机的操作系统中也发现了很多需要连接互联网的插件、助手等,因此,判断出本次网络故障是由于NBNS广播包拥塞造成的。
故障解决
解决故障计划分两步进行。一方面在财务内网交换机配置ACL来限制NBNS广播包的转发, 另一方面要求财务部同事把自己电脑中的插件、助手等软件卸载掉。通过查询相应资料得知,NBNS是使用端口号为137的UDP协议传输,那么只需在交换机中建立一个ACL,然后把该ACL应用到所有端口就可以了。本次操作涉及到的设备是一台三层交换机,具体的命令如下。
上面通过在交换机上创建并应用ACL,完成了NBNS广播包传播的途径。再次使用Ping命令进行了测试,发现到网关已经看不到丢包了,这样就实现了网络故障的排除。
经验总结
上面我们得知故障现象后,通过Ping命令得知网络存在丢包现象,然后对引起丢包现象的原因进行了逐一分析,并使用抓包软件找到了故障原因即网络中广播包异常。通过在交换机上应用ACL并卸载内网主机的不必要插件、助手后,故障得到了解决。
通过此次故障,我们意识到,作为网络运维人员,一定要注意内网安全防护。首先要向使用内网的员工普及一些计算机安全知识,让大家了解到维护内网的网络环境安全稳定的重要性,从而避免员工自行安装一些恶意软件,并指导大家自行对内网主机已安装的不必要插件、助手进行卸载和清理,从而杜绝问题的根源。
其次,要不定期使用抓包软件对内部局域网进行检测,如发现网络中有异常的广播数据包,一定要找出其来源。
最后,可以在交换机上使用ACL对局域网进行限制只开放业务端口,也能有效地预防故障的产生,进而维护好网络的和谐稳定。