■ 山東 何鈺
編者按:本文通過筆者實際遇到的網絡環路故障經歷,對該故障問題進行了進一步延伸和探討,以提醒網絡管理人員對類似問題處理方法的總結。
網絡環路在日常網絡運維中比較常見,它的出現通常會給整個網絡帶來極大的危害。在出現環路后,我們多采用斷開部分網絡連接,查看交換機設備告警信息等方法來解決。這些處理問題的思路都挺好,對解決問題、排除故障都有很大的幫助。
那么故障出現一次后,我們是不是需要做點什么,來預防環路的產生?或者在環路未出現時是否能夠采取行動,以避免出現網絡震蕩?回答是肯定的。接下來我們將通過一個案例來詳細介紹一下如何給網絡打“預防針”。
近期筆者單位頻繁有同事報修,反映網絡不正常,主要表現在網絡時好時壞。
得知基本的網絡故障后,我們立刻著手開始排查。首先我們通過Ping命令發現電腦主機到網關(BRAS)出現間斷性丟包現象,然后登錄到樓層的交換機查看日志告警,出現loopback關鍵字,這就提示我們,網絡中出現了環路。
對于網絡環路根據以往的網絡經驗,我們通常先根據交換機的日志告警信息,從出現環路的端口往下查。基本的思路就是先斷開出現告警的端口,然后將有嫌疑的端口逐個恢復,通過這樣一番排查,網絡就會恢復正常。
通常情況下,這個時候就可以總結一下網絡故障。但是作為網絡運維人員,我們是不是應該根據這個故障的出現和解決,來引發自己的一番思考呢?也就說是網絡故障出現并不可怕,可怕的是你不知道對手的套路,需要做到“知己知彼,方能百戰不殆”。
接下來我們先了解下環路是怎么產生的。環路的產生有很多原因,最常見的就是錯誤地將一根網線的兩個水晶頭連接到了同一臺交換機的兩個端口上,或者兩臺交換機互聯出現了物理的環。這樣往往會導致數據來回轉發出現網絡擁塞,進而出現網絡故障。
對于此類故障,通常出現在網絡調整或者重新組網的時候。這樣就需要我們特別留意,在網絡新建、調試和涉及到傳輸介質(網線、尾纖)調整時需要貼好標簽。貼上標簽看似一個很簡單的舉動,它不但是網絡規范的要求,還為日后故障的排除提供了很好的便利條件,同時在一定程度上也能避免因為網線的錯誤連接而引起的環路故障。
除了上面貼好標簽的辦法外,我們還可以使用VLAN來劃分不同廣播域,來最大程度減小環路帶來的危害,同時也有利于故障的排查。最后我們還可以通過在交換機上做好日常預配置來預防環路的發生。目前的二層交換機大多支持環路檢測功能,下面我們以市面上的某品牌交換機為例,講解一下交換機環路檢測功能的配置方法。
首先需要在全局模式下開啟環路監測功能,具體命令為:
loopback-detect enable
//全局開啟環路檢測
接下來在每個端口下開啟環路檢測功能,同時定義一下出現環路的動作。通常該動作有關閉和阻塞兩種選擇,這里我們選擇的是關閉端口,具體的配置命令是:
interface Gigabit Eth ernet0/0/1
//進入端口
loopback-detect ena ble
//使能環路檢測功能
loopback-detect act ion shutdown
//設置發生環路后采取關閉端口的動作
這里值得一提的是,環路檢測的命令通常在access端口下生效,那么在trunk端口下怎么辦呢?
在trunk口下也有辦法,即檢測每一個通過該端口的vlan,命令如下:
loopback-detection per-vlan enable
//使能環路檢測每一個VLAN功能
通過上面的配置,我們可以很好地依靠交換機自身的功能來預防環路,并且依靠上面的命令,我們可以將某一個端口進行關閉。那我們怎么才能提前知道故障端口呢?
這里就需要交換機的網管軟件來告訴我們,以便通過告警信息的瀏覽或者告警聲音來提醒網管人員盡快處理。
這里還有一點需要補充一下,在日常網絡運維中,我們經常為了節約成本購買集線器來使用。其實筆者認為集線器可以在網絡末端接入層使用,不建議將它使用在匯聚層,而應當使用二層交換機。
退一步講,最起碼在某一個匯聚層有一臺可網管且支持二層協議的交換機,這樣才能配置一些命令來實現環路的監測,以利于我們盡早發現故障。
以上我們通過一個網絡故障的處理,引發了我們對網絡環路的思考。作為網絡運維人員就是要為網絡多想一點,從整個網絡架構的安全穩定出發,充分利用設備的功能,加以可執行的命令,開啟設備的網絡環路監測功能。這樣就可以給網絡提前打上“預防針”,以避免網絡出現故障進而引發網絡震蕩。
