公司財(cái)務(wù)部使用的是公司的內(nèi)網(wǎng),16臺(tái)主機(jī)通過一臺(tái)交換機(jī)互聯(lián),一直運(yùn)行穩(wěn)定。最近新增加了8臺(tái)主機(jī)后,單位財(cái)務(wù)辦公室反映其辦公軟件出現(xiàn)中斷、卡頓等現(xiàn)象,嚴(yán)重影響了財(cái)務(wù)部門同事的工作。知悉這一簡單故障現(xiàn)象后,我們?cè)谥鳈C(jī)上通過使用Ping命令發(fā)現(xiàn)到網(wǎng)關(guān)有丟包,尤其是財(cái)務(wù)部門所有主機(jī)都在使用的情況下丟包更加嚴(yán)重,重啟交換機(jī)也不能解決。
根據(jù)以往的經(jīng)驗(yàn),網(wǎng)絡(luò)的丟包一般是由于ARP攻擊、環(huán)路、線路質(zhì)量等原因造成的,接下來就按照上述思路開始逐一排查。
首先分析的是局域網(wǎng)中是否有ARP攻擊。ARP攻擊的原理就是通過偽造IP地址和MAC地址實(shí)現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP廣播包使網(wǎng)絡(luò)阻塞,攻擊者只要持續(xù)不斷地發(fā)出偽造的ARP響應(yīng)包,就能更改目標(biāo)主機(jī)ARP緩存中的條目,造成網(wǎng)絡(luò)中斷或丟包嚴(yán)重。
檢測(cè)ARP攻擊最簡單的一個(gè)方法,就是在Windows命令行界面通過輸入輸入“arp -a”查看arp列表,其中如果存在多條與網(wǎng)關(guān)IP相對(duì)應(yīng)的MAC地址時(shí),表明局域網(wǎng)存在ARP攻擊。經(jīng)過查看ARP列表,沒有發(fā)現(xiàn)網(wǎng)關(guān)IP地址對(duì)應(yīng)多個(gè)MAC地址的情況,因此排除了ARP攻擊的可能。
接下來排查線路質(zhì)量和環(huán)路原因。通過使用測(cè)線器測(cè)量機(jī)房到交換機(jī)的線路,發(fā)現(xiàn)線路質(zhì)量沒有問題,但在交換機(jī)下使用筆記本進(jìn)行Ping測(cè)試,發(fā)現(xiàn)到網(wǎng)關(guān)依舊丟包嚴(yán)重,于是通過抓包軟件分析網(wǎng)絡(luò)中是否存在環(huán)路和其他故障。使用Wireshark對(duì)抓包文件進(jìn)行分析后,發(fā)現(xiàn)了網(wǎng)絡(luò)中充斥著大量的NBNS廣播包(如圖1)。
圖1 使用軟件抓包示意圖
NBNS是獲取網(wǎng)絡(luò)上的主機(jī)名和地址映射的協(xié)議,實(shí)現(xiàn)類似于DNS域名解析的功能。一般情況下,如果主機(jī)需要訪問一個(gè)域名,但緩存中沒有對(duì)應(yīng)的域名地址信息,又不能連接互聯(lián)網(wǎng)進(jìn)行DNS話,就會(huì)不斷地向局域網(wǎng)中發(fā)送大量的NBNS廣播包。由于財(cái)務(wù)部所有主機(jī)都是內(nèi)網(wǎng),一些主機(jī)的操作系統(tǒng)中也發(fā)現(xiàn)了很多需要連接互聯(lián)網(wǎng)的插件、助手等,因此,判斷出本次網(wǎng)絡(luò)故障是由于NBNS廣播包擁塞造成的。
解決故障計(jì)劃分兩步進(jìn)行。一方面在財(cái)務(wù)內(nèi)網(wǎng)交換機(jī)配置ACL來限制NBNS廣播包的轉(zhuǎn)發(fā), 另一方面要求財(cái)務(wù)部同事把自己電腦中的插件、助手等軟件卸載掉。通過查詢相應(yīng)資料得知,NBNS是使用端口號(hào)為137的UDP協(xié)議傳輸,那么只需在交換機(jī)中建立一個(gè)ACL,然后把該ACL應(yīng)用到所有端口就可以了。本次操作涉及到的設(shè)備是一臺(tái)三層交換機(jī),具體的命令如下。
上面通過在交換機(jī)上創(chuàng)建并應(yīng)用ACL,完成了NBNS廣播包傳播的途徑。再次使用Ping命令進(jìn)行了測(cè)試,發(fā)現(xiàn)到網(wǎng)關(guān)已經(jīng)看不到丟包了,這樣就實(shí)現(xiàn)了網(wǎng)絡(luò)故障的排除。
上面我們得知故障現(xiàn)象后,通過Ping命令得知網(wǎng)絡(luò)存在丟包現(xiàn)象,然后對(duì)引起丟包現(xiàn)象的原因進(jìn)行了逐一分析,并使用抓包軟件找到了故障原因即網(wǎng)絡(luò)中廣播包異常。通過在交換機(jī)上應(yīng)用ACL并卸載內(nèi)網(wǎng)主機(jī)的不必要插件、助手后,故障得到了解決。
通過此次故障,我們意識(shí)到,作為網(wǎng)絡(luò)運(yùn)維人員,一定要注意內(nèi)網(wǎng)安全防護(hù)。首先要向使用內(nèi)網(wǎng)的員工普及一些計(jì)算機(jī)安全知識(shí),讓大家了解到維護(hù)內(nèi)網(wǎng)的網(wǎng)絡(luò)環(huán)境安全穩(wěn)定的重要性,從而避免員工自行安裝一些惡意軟件,并指導(dǎo)大家自行對(duì)內(nèi)網(wǎng)主機(jī)已安裝的不必要插件、助手進(jìn)行卸載和清理,從而杜絕問題的根源。
其次,要不定期使用抓包軟件對(duì)內(nèi)部局域網(wǎng)進(jìn)行檢測(cè),如發(fā)現(xiàn)網(wǎng)絡(luò)中有異常的廣播數(shù)據(jù)包,一定要找出其來源。
最后,可以在交換機(jī)上使用ACL對(duì)局域網(wǎng)進(jìn)行限制只開放業(yè)務(wù)端口,也能有效地預(yù)防故障的產(chǎn)生,進(jìn)而維護(hù)好網(wǎng)絡(luò)的和諧穩(wěn)定。