怎樣快速檢測網絡環路?

2022-05-04     IT狂人日誌

原標題:怎樣快速檢測網絡環路?

在多年的IT外包服務過程中,曾經遇到過無數次網絡環路引起的廣播風暴,輕則某個部門斷網,重則整個公司的網絡癱瘓。

如果快速地定位網絡環路,在全是傻瓜交換機的網絡環境里,經驗就顯得尤為重要了。

曾經有這麼一次吧,已經是十幾年前了,三個網管在尋線測線過程中,一時手快造成了網絡環路,樓上樓下地跑了兩小時,沒找到問題所在,投標部正要投標,自然急得要命。

我一路趕過去,到機房後,幾分鐘就解決了問題:

第一步,筆記本電腦ping 網關ip -t,意思就是持續不斷地ping,此時當然是不通的;

第二步,觀察交換機,一共4台交換機,全在一個機櫃裡面,我就一台台掃描式地觀察,看哪幾個燈閃得最瘋狂,很快就鎖定了其中一台交換機的23和24兩個口——同步閃,而且閃得最瘋狂;

第三步,拔掉23口的網線,回頭看筆記本電腦,果然能ping通網關IP了,問題解決,後來才知道,兩條網線是去另外一幢樓的,一條在用,一條是備用線,平時不插交換機的,網管尋線的時候,一時手快(手賤)給插上了,環路就形成了。

老闆全程在機房看著,網管被罵了個狗血淋頭,我就收割了一波崇拜的眼神,哈哈,下面是當時寫的文章的截圖。

但凡有一台是網管型的交換機,就不至於這麼被動了,至少可以登錄上去看一下日誌或者告警信息,很容易就能排除故障了。

那麼除了看日誌,有沒有什麼檢測手段呢?答案是肯定的,今天就來講一下,如何通過 Loop Detection 功能檢測網絡環路。

Loop Detection通過從接口周期性發送檢測報文,檢查該報文是否返回本設備,從而判斷該接口、設備所在網絡或設備下掛網絡是否存在環路。注意,Loop Detection僅為單節點環路檢測技術,並不支持STP/RSTP/MSTP等環網技術。

如果發現檢測報文從發出去的接口接收到,則認為該接口發生自環或該接口下掛的網絡中存在環路。

如果發現檢測報文被本設備上的其他接口接收到,則認為該接口或設備所在的網絡中存在環路。

在發現環路後,將發送告警和記錄日誌,並能根據用戶事先的配置對接口進行處理,默認是直接關閉接口。如果是單一VLAN的網絡環境,建立就採取默認行為;如果是多個VLAN的網絡環境,則建立採用Quitvlan的處理動作,即退出出現網絡環路的VLAN。

如上圖所示,某企業網絡採用二層組網,LSW1為匯聚交換機,各交換機均配置為允許VLAN 10~20通過。由於人員流動性大,往往會因操作不慎而造成連接錯誤,進而導致VLAN 10~20中產生環路。

為防止網絡環路大面積地影響辦公網絡,所以配置 Loop Detection實現對VLAN 10~20的環路檢測。

1、使能全局的Loop Detection功能

system-view

[HUAWEI] sysname Switch

[Switch] loop-detection enable

2、使能VLAN的Loop Detection功能

[Switch] vlan batch 10 to 20

[Switch] loop-detection enable vlan 10 to 20 //配置設備對VLAN10到VLAN20下的所有接口進行環路檢測

3、配置Loop Detection檢測報文的發送周期

[Switch] loop-detection interval-time 10 //配置Loop Detection檢測報文的發送周期為10s

4、配置Loop Detection處理動作

[Switch] snmp-agent trap enable feature-name ldttrap //打開Loop Detection的告警開關,使設備具有發送Loop Detection Trap報文的功能

配置Loop Detection處理動作為Quitvlan。

[Switch] interface gigabitethernet 1/0/0

[Switch-GigabitEthernet1/0/0] port link-type hybrid

[Switch-GigabitEthernet1/0/0] stp disable //去使能接口的STP功能

[Switch-GigabitEthernet1/0/0] port hybrid tagged vlan 10 to 20

[Switch-GigabitEthernet1/0/0] loop-detection mode port-quitvlan //配置Loop Detection檢測到環路時對接口的處理動作為Quitvlan

[Switch-GigabitEthernet1/0/0] quit

[Switch] interface gigabitethernet 2/0/0

[Switch-GigabitEthernet2/0/0] port link-type hybrid

[Switch-GigabitEthernet2/0/0] stp disable //去使能接口的STP功能

[Switch-GigabitEthernet2/0/0] port hybrid tagged vlan 10 to 20

[Switch-GigabitEthernet2/0/0] loop-detection mode port-quitvlan

[Switch-GigabitEthernet2/0/0] quit

5、配置受控接口的恢復時間

[Switch] interface gigabitethernet 1/0/0

[Switch-GigabitEthernet1/0/0] loop-detection recovery-time 90 //受控接口的恢復時間為90秒

[Switch-GigabitEthernet1/0/0] quit

[Switch] interface gigabitethernet 2/0/0

[Switch-GigabitEthernet2/0/0] loop-detection recovery-time 90

[Switch-GigabitEthernet2/0/0] quit

注意,Loop Detection需要發送大量檢測報文來進行環路檢測,所以,肯定會耗費一定的系統資源,請在不需要環路檢測時及時關閉此功能。

文章來源: https://twgreatdaily.com/72851057aaa0c723108bdc944214993b.html