一手資訊 及時(shí)查看 主筆/老楊 編輯/山城 這是「網(wǎng)絡(luò)工程師俱樂部」的第555篇文章 晚上好,我是老楊。 之前我說了很多次,故障排錯(cuò),是每個(gè)網(wǎng)工的必修課。很多人一開始都是手殘,但手殘到引發(fā)嚴(yán)重的情況的還是比較少見的。 今天老楊的一位粉絲和我分享了關(guān)于他工作中親眼見到的,排錯(cuò)時(shí)發(fā)生的“慘狀” 老楊通篇看下來,覺得很有借鑒意義,可供新手網(wǎng)工們多參考。 他有一句話我覺得很認(rèn)同:“由于設(shè)備本身的軟件或者硬件出現(xiàn)問題而導(dǎo)致的故障,其實(shí)是比較少見的?!?/span> “大部分都是人為的?!?/span> 你遇到了什么尷尬的網(wǎng)絡(luò)故障?也歡迎留言區(qū)告訴我 今日文章閱讀福利:《企業(yè)網(wǎng)快速構(gòu)建與排錯(cuò)手冊(cè)》.pdf,很適合網(wǎng)工們食用。 領(lǐng)取方式:添加老楊為好友,前10名粉絲即可免費(fèi)領(lǐng)取最新高清資源。 前10名粉絲 免費(fèi)獲得高清資源 這是我之前工作中遇見過的一次網(wǎng)絡(luò)故障。 我覺得,排錯(cuò)最重要的點(diǎn)在于,你發(fā)現(xiàn)網(wǎng)絡(luò)故障后,得對(duì)這個(gè)現(xiàn)網(wǎng)的網(wǎng)絡(luò)環(huán)境有個(gè)基本的判斷。 你要判斷它的組網(wǎng)是什么樣的,它的配置是什么樣的,這些基本的信息你要收集到,你才能對(duì)故障進(jìn)行分析。 所以我先講下故障發(fā)生的背景,也給你們幾條線索,一起判斷下。 這個(gè)故障的背景其實(shí)就是一個(gè)很簡(jiǎn)單的配置變更。 在中午休息的時(shí)間,我的同事對(duì)廠區(qū)的某一棟樓的匯聚交換機(jī)進(jìn)行配置變更。 他實(shí)際上是要增加一臺(tái)接入交換機(jī),因?yàn)閺S區(qū)人員變多了,終端也就變多了,所以現(xiàn)有的網(wǎng)絡(luò)和接入設(shè)備不能滿足需求,需要新增一臺(tái)接入層的交換機(jī)。 大家都知道,在現(xiàn)網(wǎng)中新增一臺(tái)接入交換機(jī),這個(gè)配置是非常簡(jiǎn)單的。 一般只需要將接入交換機(jī)上到機(jī)架,兩根光纖連到匯聚交換機(jī)就搞定了。 而通常你接入交換機(jī)連接匯聚交換機(jī)需要做什么配置? 一般來說,都是將這個(gè)接入交換機(jī)所需要VLAN配上,再將接入交換機(jī)連接匯聚交換機(jī)的兩個(gè)接口,或者一個(gè)接口配置成Trunk,搞定就好了。 交換機(jī)之間互聯(lián)的鏈路需要配置成trunk,這是CCNA學(xué)習(xí)中很基礎(chǔ)的內(nèi)容,這里我就不多復(fù)述了。 然后為了保證這個(gè)鏈路的可靠性,需要從接入交換機(jī)到匯聚交換機(jī)配置一個(gè)鏈路聚合,這一塊也是比較基礎(chǔ)的網(wǎng)絡(luò)學(xué)習(xí)內(nèi)容,配置也很簡(jiǎn)單。 如果你還不懂,或者你有意愿系統(tǒng)學(xué)習(xí)網(wǎng)絡(luò),深入提升技術(shù),可以了解下思科/華為系列認(rèn)證。它能幫助你更加系統(tǒng)的搭建技術(shù)底層邏輯。 添加老楊微信,備注“考證”,咨詢學(xué)習(xí)/提升的詳細(xì)方法。 添加老楊好友 咨詢高效學(xué)習(xí)法 本來,按照工作的進(jìn)展,我同事刷完配置之后就回到了工位休息,而這個(gè)故障并沒有馬上出現(xiàn)。 因?yàn)楫?dāng)時(shí)午休,沒人辦公,所以也就沒人會(huì)發(fā)現(xiàn)有這樣的問題。 而等到了下午2點(diǎn)鐘,上班的人使用網(wǎng)絡(luò)的時(shí)候才發(fā)覺,“?。繕菍咏粨Q機(jī)出現(xiàn)了故障!”,或者說才發(fā)覺當(dāng)時(shí)“不能上網(wǎng)了!” 因?yàn)閷?duì)于終端用戶來說,最直觀的體驗(yàn)就是電腦上不了網(wǎng)。 那上不了網(wǎng)怎么辦?投訴唄。 所以就打電話給技術(shù)支持。 其實(shí)技術(shù)他的配置變更非常簡(jiǎn)單,只是新增了一臺(tái)設(shè)備,新增了一些配置,可這時(shí)候網(wǎng)絡(luò)卻出現(xiàn)了故障。 如果是你遇到了這種情況,你會(huì)怎么分析這個(gè)故障? 展開來看下它的網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)架構(gòu)其實(shí)就是傳統(tǒng)的三層架構(gòu),核心連接匯聚,匯聚連接樓層接入交換機(jī),簡(jiǎn)單吧? 只是說它的網(wǎng)絡(luò)架構(gòu)會(huì)用到堆疊這個(gè)技術(shù)。 它的核心交換機(jī)連接匯聚的時(shí)候,匯聚是兩臺(tái)做了堆疊,這邊拋開核心交換機(jī)不看,兩臺(tái)匯聚交換機(jī)做堆疊,堆疊完成后,接入交換機(jī)上行兩條鏈路,分別連到2臺(tái)匯聚交換機(jī)。 雖然這邊有2臺(tái)匯聚交換機(jī),但匯聚交換機(jī)在邏輯上是一臺(tái)設(shè)備,因?yàn)樗@兩條鏈路上做了鏈路捆綁。 鏈路捆綁也是堆疊的基本技術(shù)。 邏輯拓?fù)淙鐖D所示,這個(gè)拓?fù)涫莻€(gè)無環(huán)網(wǎng)絡(luò)把?因?yàn)橛昧硕询B這個(gè)技術(shù),這樣的一個(gè)拓?fù)洌鋵?shí)就是一個(gè)無環(huán)的網(wǎng)絡(luò)。 而匯聚是兩臺(tái)設(shè)備,那接入交換機(jī)只需要在連接下行的接口配上VLAN,連接下行終端——PC,只要做個(gè)VLAN劃分,然后我們的上行接口,配置鏈路聚合,同時(shí)將這個(gè)上行的鏈路聚合口配置成trunk口,就這么簡(jiǎn)單的三個(gè)配置。 那這么簡(jiǎn)單的三個(gè)配置,為什么會(huì)導(dǎo)致這個(gè)網(wǎng)絡(luò)出現(xiàn)環(huán)路? 當(dāng)然,當(dāng)時(shí)還不知道是環(huán)路。 因?yàn)槲彝庐?dāng)時(shí)覺得,這個(gè)網(wǎng)絡(luò)是沒有環(huán)路的,而且他用了堆疊,而且配置了鏈路聚合,這樣的網(wǎng)絡(luò),它是不存在環(huán)路的啊…… 所以當(dāng)時(shí)他的第一反應(yīng)不是懷疑環(huán)路的問題。 此時(shí)再看我們的第一個(gè)線索:無環(huán)網(wǎng)絡(luò)。 以及第二線索:配置及其簡(jiǎn)單,只配了vlan,trunk、鏈路聚合這三個(gè)。 你分析出什么了嗎? 往下看第三個(gè)線索:設(shè)備無法遠(yuǎn)程登錄。這該怎么理解? 實(shí)際上一般出現(xiàn)網(wǎng)絡(luò)故障之后,一般人會(huì)采取應(yīng)對(duì)做的第一步動(dòng)作是什么? 肯定是要遠(yuǎn)程登錄到網(wǎng)絡(luò)設(shè)備,進(jìn)行配置查看,要看下配置對(duì)不對(duì)。 因?yàn)槎际撬⑸先サ呐渲?,所以第一步就是遠(yuǎn)程登錄這臺(tái)設(shè)備,可以登錄匯聚交換機(jī)也可以登錄接入交換機(jī)。 但是試圖登錄的時(shí)候發(fā)現(xiàn),上不去。沒有辦法登錄到這兩臺(tái)設(shè)備上…… 登不上怎么辦? 設(shè)備無法遠(yuǎn)程登錄,通常會(huì)是什么情況? 它無法被ping通,無法對(duì)它talent,這應(yīng)該有同學(xué)在工作中遇到過吧? 通常發(fā)生這種情況,如果設(shè)備沒有辦法ping通,你只要保證被路由沒有問題,而設(shè)備卻無法ping通,無法遠(yuǎn)程管理,這就說明它的CPU已經(jīng)滿了。 因?yàn)樗行枰猵ing這臺(tái)設(shè)備,需要直接訪問這臺(tái)設(shè)備的IP地址的所有報(bào)文,都是需要CPU來處理的。 ping或者talent這臺(tái)設(shè)備,所有的遠(yuǎn)程報(bào)文都是需要CPU來處理的,這時(shí)候如果CPU飆到100%了,就會(huì)造成無法遠(yuǎn)程登錄和管理。 這時(shí)候我同事,終于開始懷疑是不是網(wǎng)絡(luò)環(huán)路了…… 因?yàn)樵诙泳W(wǎng)絡(luò)里面,能夠?qū)е翪PU 100%的情況,大概率是由環(huán)路導(dǎo)致的,所以基本上可以判斷是一個(gè)環(huán)路。 但是為什么?為什么會(huì)出現(xiàn)環(huán)路?我命名配置的無環(huán)的!哪來的環(huán)路? 這時(shí)候要怎么辦?只能跑現(xiàn)場(chǎng)了。 當(dāng)時(shí)正好我在現(xiàn)場(chǎng),由于當(dāng)天中午臨時(shí)突發(fā)了這個(gè)問題,我同事也叫我過去幫忙。 所以我就跟他們一起去現(xiàn)場(chǎng)看了下這個(gè)問題到底什么情況。 去現(xiàn)場(chǎng)一般來說你需要帶上console和筆記本。 去設(shè)備的現(xiàn)場(chǎng),一般通過console線遠(yuǎn)程或者直接連接到這個(gè)設(shè)備上,登錄這個(gè)設(shè)備查看配置。 但是大家也知道,由于設(shè)備CPU 100%爆掉了,你如果通過console線登錄設(shè)備,也會(huì)非常的卡,基本上你敲命令,過幾秒鐘才會(huì)有反應(yīng)。 所以一般遇到環(huán)路這種問題,設(shè)備本身CPU滿了,因?yàn)槟愫茈y對(duì)這個(gè)設(shè)備進(jìn)行配置查看,也就很難排查。 所以當(dāng)時(shí)用了個(gè)最笨的辦法——拔線。 在匯聚交換機(jī)上,匯聚交換機(jī)所有連接接入交換機(jī)的這個(gè)口,一條條去拔線。 最后拔到新增的這臺(tái)設(shè)備時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)恢復(fù)了,這時(shí)候基本上就可以定位到新增的這臺(tái)交換機(jī)設(shè)備,它是存在問題的。 可配置明明這么簡(jiǎn)單,卻出現(xiàn)環(huán)路了,離譜。 這個(gè)地方唯一有可能出現(xiàn)環(huán)路的是什么場(chǎng)景? 這里我直接告訴你,這是因?yàn)檫@里鏈路聚合的配置不對(duì)。他們?cè)谂渲面溌肪酆系臅r(shí)候,只配了一端,只在匯聚交換機(jī)上刷了鏈路聚合的配置。 這里可以看出,匯聚交換機(jī)這兩個(gè)口是捆綁在一起的,但下行的這臺(tái)接入交換機(jī),他的鏈路聚合沒有配,也就是說,它是2個(gè)獨(dú)立的口。 所以當(dāng)時(shí)拔線拔到了網(wǎng)絡(luò)恢復(fù),我就登錄進(jìn)了設(shè)備查看配置。 這一查看讓我哭笑不得,發(fā)現(xiàn)非常簡(jiǎn)單,只是漏了兩條配置而已,在物理接口下漏配了兩條鏈路聚合的命令,就這么簡(jiǎn)單。 而就是這么簡(jiǎn)單的一個(gè)問題,就導(dǎo)致了這次的網(wǎng)絡(luò)環(huán)路,這時(shí)候生成樹是不生效的。 其實(shí)它也開了生成樹,他就非常納悶,“我開了生成樹為什么還會(huì)有環(huán)路?是不是你設(shè)備有BUG,你設(shè)備是不是有問題?” 那為什么生成樹不起作用? 因?yàn)閷?duì)于匯聚交換機(jī)來說,只有一個(gè)口; 而對(duì)于接入交換機(jī)來說,卻存在獨(dú)立的2個(gè)口。 只是從接入交換機(jī)發(fā)出的生成樹BPDU報(bào)文,發(fā)到上行接口之后,匯聚交換機(jī)不會(huì)再?gòu)慕涌诎l(fā)出來。 因?yàn)橹挥幸粋€(gè)口,它是不會(huì)從這個(gè)接口再發(fā)出來的,所以這時(shí)候設(shè)備本身就不會(huì)認(rèn)為網(wǎng)絡(luò)有環(huán)路。 于是就導(dǎo)致了,生成樹這時(shí)候是沒有作用的,即使你開了生成樹也檢測(cè)不到環(huán)路的。 后來我把鏈路聚合的配置重新配上了,網(wǎng)絡(luò)就恢復(fù)了。 其實(shí)就是一個(gè)非常簡(jiǎn)單的一個(gè)小的疏忽,就在刷配置的時(shí)候漏刷了2條命令,從而導(dǎo)致的網(wǎng)絡(luò)故障。 實(shí)際上在現(xiàn)網(wǎng)中的網(wǎng)絡(luò)故障里,50%以上都是人為的,基本上都是人為疏忽、配置變更導(dǎo)致的故障 由于設(shè)備本身的軟件或者硬件出現(xiàn)問題而導(dǎo)致的故障是比較少見的。 大部分都是人為的,要么配置配的不合理,要么規(guī)劃不合理,才會(huì)導(dǎo)致這樣或那樣的問題。 所以:認(rèn)真+扎實(shí)的基本功=好網(wǎng)工。 在工作的早期,我想很多網(wǎng)絡(luò)工程師應(yīng)該都會(huì)出現(xiàn)類似情況,會(huì)發(fā)生這樣或那樣的不該出現(xiàn)的錯(cuò)誤。 其實(shí)沒關(guān)系,只要掌握好網(wǎng)絡(luò)理論知識(shí),認(rèn)真執(zhí)行每一個(gè)命令,很多問題都能迎刃而解。 像我這個(gè)網(wǎng)絡(luò)環(huán)路,排查步驟其實(shí)很簡(jiǎn)單。 對(duì)于環(huán)路來說,如果你的網(wǎng)絡(luò)設(shè)備沒有辦法登錄,那你只能用最笨的辦法一根根去拔線,因?yàn)樵O(shè)備無法查看,非??ā?/span> 以上就是今天我分享的排錯(cuò)經(jīng)歷,希望能給你一些啟發(fā)。 ■ 文章來源:本篇文章由網(wǎng)絡(luò)工程師俱樂部首發(fā),轉(zhuǎn)載請(qǐng)務(wù)必注明本公眾號(hào)來源。 |
|