公司財務部使用的是公司的內網,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對局域網進行限制只開放業務端口,也能有效地預防故障的產生,進而維護好網絡的和諧穩定。