引言: 筆者單位組建了兩套相互獨立的局域網(wǎng),這兩個局域網(wǎng)是物理隔離的,不允許互訪。前不久,網(wǎng)絡(luò)出現(xiàn)故障,用戶明明連接的是局域網(wǎng)A的網(wǎng)口,卻獲得了局域網(wǎng)B的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)和DNS,最可能的原因是網(wǎng)絡(luò)A與網(wǎng)絡(luò)B間發(fā)生了物理連接。如何快速排查接線點呢?筆者使用思科網(wǎng)絡(luò)助手(CNA),完美解決了此故障。
筆者所在單位出于安全考慮,組建了兩套相互獨立的局域網(wǎng)。綜合化布線時為每個用戶工作區(qū)(辦公點)安置了兩個網(wǎng)絡(luò)接口,分屬兩個不同的局域網(wǎng)。這兩個局域網(wǎng)是物理隔離的,不允許互訪。每套局域網(wǎng)均為單核心、核心層-接入層的兩層式結(jié)構(gòu),網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。
局域網(wǎng)A核心層為Cisco 6504-E三層交換機,通過光纖連接29臺Cisco 2960接入層交換機,劃分了35個VLAN,IP規(guī)劃為192.168.0.0 /24,網(wǎng) 絡(luò) 出口區(qū)連接Internet。局域網(wǎng)B核心層為Cisco 6504-E三層交換機,通過光纖連接23臺Cisco 2960接 入 層交換機,劃分了 2個 VLAN,I P規(guī) 劃 為172.16.0.0/24,網(wǎng)絡(luò)出口區(qū)連接政務(wù)外網(wǎng)。所有用戶PC均為單網(wǎng)卡,同一時刻只能連接A、B網(wǎng)絡(luò)中的一個,切換網(wǎng)絡(luò)時需拔下網(wǎng)線后插入工作區(qū)另一接口。
局域網(wǎng)A、B均有各自的DHCP服務(wù)器,是在核心交換機上設(shè)置的,每個VLAN設(shè)一個DHCP服務(wù)器,所以網(wǎng)絡(luò)A有35個DHCP服務(wù)器,網(wǎng)絡(luò)B有2個DHCP服務(wù)器。
前不久,部分用戶反映無法正常上網(wǎng)。現(xiàn)場發(fā)現(xiàn),用戶明明連接的是局域網(wǎng)A的網(wǎng)口,卻獲得了局域網(wǎng)B的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)和DNS。Windows命令行下用ipconfig/renew多次向DHCP服務(wù)器重新申請IP,時而得到網(wǎng)絡(luò)B的IP,時而得到網(wǎng)絡(luò)A的IP。
憑直覺判斷,最可能的原因是網(wǎng)絡(luò)A與網(wǎng)絡(luò)B間發(fā)生了物理連接,使網(wǎng)絡(luò)A、B組成了一個大的局域網(wǎng),在這個大的局域網(wǎng)中同時存在35+2=37個DHCP服務(wù)器, DHCP服務(wù)器間是競爭關(guān)系,都具備向用戶提供IP地址的能力。
圖1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
圖2 拓撲圖左側(cè)的交換機列表
用戶網(wǎng)卡作為DHCP Client,向網(wǎng)絡(luò)中發(fā)送DHCP Discover廣播報文,兩臺DHCP服務(wù)器均接收到DHCP Discover報文,然后向DHCP Client發(fā)送一個DHCP Offer報文。DHCP Client只能處理其中的一個DHCP Offer報文,一般的原則是DHCP Client處理最先收到的DHCP Offer報文,然后發(fā)出一個廣播的DHCP Request報文……
網(wǎng)絡(luò)A與網(wǎng)絡(luò)B間發(fā)生了物理連接,該連接發(fā)生在核心層或接入層的可能性均存在。由于核心交換機放置在數(shù)據(jù)中心,由數(shù)據(jù)中心的網(wǎng)管人員管理維護,外人無法接觸,基本上不可能發(fā)生核心層錯誤連線這種低級錯誤。經(jīng)在數(shù)據(jù)中心現(xiàn)場勘查,沒有發(fā)現(xiàn)兩臺核心層交換機間有任何連接,核心層互連的可能性被排除,那么互連只可能發(fā)生在接入層。
接入層互連點又存在兩種可能,一在配線間,二在工作區(qū)。如果互連點在配線間,全單位共有十個弱電配線間,現(xiàn)場勘查找到互連點不需要太長時間。但如果互連點在工作區(qū),全單位共有500多個工作區(qū),1100多個網(wǎng)絡(luò)布線點(每工作區(qū)有網(wǎng)絡(luò)A、網(wǎng)絡(luò)B接口各一個),且網(wǎng)絡(luò)接口多數(shù)布置在辦公桌后,需移動辦公設(shè)備才能暴露網(wǎng)口和網(wǎng)線,排查的工作量非常大。那么有沒有一種簡單高效的方法來找到互連點呢?
對于Cisco的交換機,一種簡單高效的方法是,使用Cisco公司為中小型企業(yè)提供的一款免費的、幫助網(wǎng)管員配置思科設(shè)備的工具——思科網(wǎng)絡(luò)助手(CNA),優(yōu)點是圖形化、可自動產(chǎn)生網(wǎng)絡(luò)拓撲,很直觀。
到思科官網(wǎng)下載CAN,最新版本為6.3.0,安裝過程很簡單。運行CNA,首先Create community,輸入要添加到管理組的交換機的IP或IP范圍,輸入交換機口令,軟件即開始嘗試與要管理的交換機建立通信,掃描到本組所有交換機后會形成并展示一個網(wǎng)絡(luò)拓撲圖,調(diào)整拓撲圖的參數(shù),使其顯示設(shè)備鏈路接口ID、設(shè)備名稱信息。
我單位二層交換機hostname均按“建筑物名稱首字母+配線間所在樓層+F+D+本交換機在本配線間中的序號”的命名規(guī)則命名,如Z2FD3表示綜合樓二樓政務(wù)外網(wǎng)交換機中的第三臺,MD2表示門診樓政務(wù)外網(wǎng)交換機中的第二臺。目測右側(cè)區(qū)域的拓撲圖和左側(cè)區(qū)域的交換機列表(放大后如圖2),根據(jù)交換機的hostname發(fā)現(xiàn)問題。
圖3 發(fā)生錯誤互連的兩臺交換機
圖4 用 show cdp neighbors命令查看其相鄰的交換機
圖2字母d為創(chuàng)建出的community組名,表示政務(wù)外網(wǎng)組,其下方列出了本組所有二層交換機。Neighbors表示與本組交換機有鏈路相連的其他交換機,這里列出了兩臺,hostname分別為ws6504D和Z2FN1。其中ws6504D為核心交換機,由于思科網(wǎng)絡(luò)助手無法管理三層交換機,所以將其列入Neighbors組,而Z2FN1根據(jù)命名可知其是屬于網(wǎng)絡(luò)A中的交換機,不屬于網(wǎng)絡(luò)B,而網(wǎng)絡(luò)A、B應(yīng)為物理隔離,不應(yīng)有關(guān)聯(lián),所以可判斷Z2FN1這臺交換機與網(wǎng)絡(luò)B中的某一臺交換機發(fā)生了不應(yīng)有的連接。
觀察右側(cè)區(qū)域拓撲,與Z2FN1相連的交換機為Z2FD1(放大后如圖3),Z2FN1和Z2FD1均位于綜合樓二樓配線間。在綜合樓二樓配線間,現(xiàn)場勘查Z2FD1和Z2FN1這兩臺交換機之間并未發(fā)生互連,則互連必發(fā)生在工作區(qū)。查看網(wǎng)絡(luò)端口表可知,與Z2FN1的Fa0/46端口和Z2FD1的Fa0/40端口相連的信息插座均位于綜合樓一樓的同一間辦公室。經(jīng)在該辦公室現(xiàn)場勘查,發(fā)現(xiàn)用戶私接了一臺8口的微型交換機,該交換機用兩條網(wǎng)線同時連接了信息插座中分屬網(wǎng)絡(luò)A、B的兩個網(wǎng)口。將其中一條網(wǎng)線拔掉,在思科網(wǎng)絡(luò)助手中刷新拓撲圖,發(fā)現(xiàn)交換機Z2FN1消失了,說明網(wǎng)絡(luò)A、B間的連接已被清除。
其實用命令行的方式也能發(fā)現(xiàn)和排除此類故障。首先逐一telnet網(wǎng)絡(luò)B中的每臺交換機,用show cdp neighbors命令查看其相鄰的交換機是哪幾個,根據(jù)hostname名判斷其是否屬于本網(wǎng)絡(luò),如果發(fā)現(xiàn)相鄰交換機不屬于本網(wǎng)絡(luò),則可判定已找到發(fā)生錯誤連接的兩臺交換機(如圖4)。此方法需遍歷community中的所有交換機,需反復(fù)輸入telnet登錄口令并重復(fù)手工敲入命令,效率低下,遠不及使用CAN方便和高效。