利用Error-Disable特性避免交換機問題擴大
交換機等網絡設備的某些問題不僅僅會影響到某個端口的工作,而且還會影響到整臺交換機的正常運行。如下圖所示,如果IP地址為192.168.0.2的主機中了病毒,不斷的向所在的廣播域發送廣播風暴或者進行多次ARP檢測,此時連接這臺PC的交換機端口工作指示燈會不斷的閃爍,表明傳輸的數據量非常的大。如果不對這種情況進行抑制的話,則這個問題會影響到整臺交換機,甚至整個網絡,最終導致網絡性能下降或者癱瘓。
一、利用Error-Disable特性避免問題擴大
那么是否有有效的機制能夠將問題鎖定在最小的范圍之內呢,避免問題無限擴大涉及到無辜?在思科系列的交換機中,就是采用Error-Disable特性來解決這個問題。通過error-disable特性,可以實現在錯誤狀態影響到整臺交換機或者其余網絡之間,讓交換機及時的檢測到特定接口的錯誤情況并自動將這個端口設置為Error-Disable狀態,禁止任何數據的轉發。
如上圖所示,在交換機的各個端口網絡管理員都設置了嚴格的端口安全規定。此時如果192.168.0.2主機發送違規的數據包,違反了端口安全規定,此時只要交換機啟用了Error-Disable特性,那么交換機就能夠及時的檢測到這種情況。并會在第一時間將這臺主機連接的交換機端口設置為Error-Disable狀態。此時就好像禁用了這個接口一樣,交換機將不會接受來自這個違規主機的任何數據包,直到這個接口恢復為正常為止。通過這種機制,可以將網絡威脅或者故障限制在最小的范圍之內,避免影響到其它正常的交換機端口。
在啟用這個特性之前,網絡管理員需要了解交換機會自動監測哪些錯誤。這對于后續的維護與故障排除具有很大的幫助。一般來說,型號不同,其檢測的錯誤也有所不同。大部分情況下,思科系列的交換機可以檢測到如下幾種常見的錯誤。如單播擴善、風暴控制、端口安全違規、鏈路翻動、DHCP限速違規、BPDU防護檢測、ARP檢測等等多到十多種錯誤。不過由于不同的型號之間有比較大的差異,為此還需要管理員在選購交換機之前根據企業自身的需要進行確認。 #p#
二、利用自動恢復機制來恢復交換機端口
當檢測上以上任何一種錯誤代碼時,交換機就會將特定的端口設置為error-diable狀態。出于這種狀態的交換機端口,其工作狀態就類似于鏈路Down狀態。當然,這種狀態不能夠一直持續下去,等到故障解除后需要將這個狀態再改回去,讓其能夠正常工作。這就涉及到端口的恢復問題。
其實我們都知道,不少的網絡錯誤可能是突發的。如過多的廣播風暴等等,其可能是由于企業外來人員的電腦臨時接到企業網絡所造成的。因為大部分企業都有比較全面的防火墻與企業級別的防病毒軟件。病毒想從企業外界侵入的話比較困難。所以很多病毒都是從企業內部突破的。當外來人員的電腦離開企業網絡之后,這種情況就會解除。那么此時交換機的端口也要能夠自動恢復。如果過長的將交換機端口處于Error-Disable狀態,會影響到企業用戶的正常網絡通信。為了減少這個負面影響,我們就想到交換機能否有自動恢復的機制。即每隔一段時間去檢測交換機故障端口,看看故障的原因還是否存在。如果故障已經消除了,那么就自動恢復這個端口。如此的話,當終端故障消除后,就不用在手工的對交換機的端口進行恢復操作。
值得慶幸的是,思科系列的交換機正好支持這個自動恢復的策略。通過在交換機中配置合理的時間間隔,交換機就能夠自動從error-disable故障狀態恢復到正常狀態。不過其實現的比我們設想的還有一段距離。交換機的自動恢復策略并不會實時的監測交換機的故障原因是否解除。而是每隔一段時間將端口恢復,而不管連接這個端口的客戶端問題是否解決了。如果恢復后發現錯誤仍然存在,那么這個接口就會馬上再一次進入到error-diable狀態。只有問題真正的解決了,這個端口才能夠正常的工作。可見自動恢復機制也有一定的漏洞。因為端口狀態頻繁的轉換,會造成網絡的時端時續。為此筆者對思科廠商有一個建議。最好能夠有一個機制能夠對Error-Disable狀態的端口進行偵測,如果在一段時間內問題流量沒有再出現的話,那么就將這個端口進行恢復。否則的話,就一直處于Error-Disable狀態。而不是不管三七二十一,先恢復再說。
不過到目前為止,這個自動恢復機制的效果還是可以的。畢竟等到客戶端問題解決了,不需要重新維護交換機。如果要啟用這個特性的話,可以使用如下的命令實現。
Errdisable recovery interval int1.其中參數int1就是自動恢復的時間間隔。最后筆者在此強調一次,自動恢復機制并不會判斷問題是否已經解決了。也就是說,其是被動的。等到設置的間隔時間到了之后,交換機會自動恢復端口,讓其處于工作狀態。當發現故障原因還依舊時,再將端口設置為error-disable狀態。周而復始,直到故障原因真正消除為此。這一點網絡工程師在啟用這個方案時需要引起足夠的重視。 #p#
三、利用手工恢復來解決復雜的問題
如果故障的原因比較復雜,不能夠在短時間內解決,那么筆者建議最好采用手工恢復的措施。等到問題原因查明并解決之后,再將端口進行手工恢復。如此雖然可能會延長端口當機的時間,但是卻可以避免交換機由于端口狀態頻繁轉換而造成的一系列比必要的麻煩。正如上面所說的,采用自動恢復策略交換機并不能夠判斷問題是否真正消除了。
如果要使用手工恢復策略的話,主要需要用到兩個命令。首先是使用shutdown命令,將出現故障的接口關閉掉。然后再使用no shutdown命令啟用這個端口,就可以實現從error-diable狀態中恢復。不過這里需要注意的是,無論是手工恢復還是自動恢復,只要這個導致交換機處于Error-Disable狀態的原因沒有真正消除,交換機仍然會將這個端口設置為Error-Disable狀態。只有真正找到問題的根本原因才能夠避免接口重新進入到這個故障狀態。采用手工恢復明顯會延長故障的時間。
為了解決這個問題,筆者的建議是可以先查找問題的主機。如有可能在交換機的同一個接口上通過集線器等中間設備連接了多臺主機。此時可以通過其他的一些手段先查找故障的主機。找到之后先將其與企業的網絡斷掉,然后恢復交換機端口。此時由于故障主機已經與網絡斷離,就相當于故障原因已經解決了。交換機的端口就可以正常工作。然后再花時間來查明故障主機的原因。等原因查明了再連接到企業網絡中。有時候如果交換機端口連接了多個集線器等網絡設備,我們可以先一個個的斷掉集線器,以判斷是哪一部分出現問題。然后將出現問題的部分與交換機之間的連接斷掉,減少對其他正常部分網絡的影響。
可見,讓交換機的端口從eroor-disable狀態中恢復過來,解決故障的原因是一個措施。不過有時候為了減少故障的時候,即使不解決問題只要將有問題的網絡部分的隔離也行。
總之,采用error-disable特性能夠避免單個或者多個端口所發生的錯誤狀態影響到其他的交換機端口或者其他正常的網絡。為了提高網絡的穩定性,筆者建議在企業網絡部署中開啟這個特性。不過需要注意的是,這只是一個被動的措施。其只是發現問題,而不會自動的查找原因、解決問題。網絡管理員仍然需要積極的查找問題的原因,盡量減少故障的時間。