近日,某同事在用寬帶撥號上網(wǎng)的過程中出現(xiàn)691撥號錯誤代碼,登錄Radius服務(wù)器查看該用戶的賬號,發(fā)現(xiàn)并沒有到期。筆者用了自己的賬號和密碼測試了一下,發(fā)現(xiàn)也是寬帶撥號691錯誤。網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
常見的691故障原因是用戶的賬戶或者密碼輸入錯誤,或用戶的賬戶到期,用戶在使用時未正常退出而造成用戶賬號駐留。筆者前期排查排除了用戶賬號密碼錯誤及賬戶到期的原因。那是不是Radius認證系統(tǒng)出現(xiàn)問題了呢?
Radius即遠程用戶撥號認證系統(tǒng),是目前應(yīng)用最廣泛的AAA協(xié)議。由于Radius協(xié)議認證機制靈活,在現(xiàn)代通信得到了廣泛應(yīng)用,筆者單位寬帶上網(wǎng)業(yè)務(wù)中,也是使用了Radius服務(wù)器進行寬帶上網(wǎng)的認證。
Radius協(xié)議的交互原理是,當(dāng)用戶輸入用戶名和口令時,Radius客戶端也就是我們網(wǎng)絡(luò)中的BRAS就會根據(jù)獲取的用戶名和口令,向Radius服務(wù)器發(fā)送認證請求包。Radius服務(wù)器將該用戶信息與Users數(shù)據(jù)庫信息進行對比分析,如果認證成功,則將用戶的權(quán)限信息以認證響應(yīng)包的方式發(fā)送給BRAS。如果認證失敗,則返回拒絕認證的響應(yīng)包。BRAS根據(jù)接收到的認證結(jié)果接入或拒絕用戶。如果可以接入用戶,則BRAS向Radius服務(wù)器發(fā)送計費開始請求包。Radius服務(wù)器返回計費開始響應(yīng)包。當(dāng)BRAS向Radius服務(wù)器發(fā)送計費停止請求包時,Radius服務(wù)器就返回計費結(jié)束響應(yīng)包。
分析了Radius協(xié)議的交互原理,那是否是Radius服務(wù)器在交互過程中,出現(xiàn)問題引發(fā)了故障呢?登錄Radius服務(wù)器進行抓包測試,報文中Radius服務(wù)器與BRAS交互正常,排除了Radius認證系統(tǒng)發(fā)生故障的可能性。
接下來排查BRAS是否產(chǎn)生相關(guān)故障。BRAS是寬帶遠程接入服務(wù)器,它是面向?qū)拵ЬW(wǎng)絡(luò)應(yīng)用的新型接入網(wǎng)關(guān),主要完成兩方面功能,一是網(wǎng)絡(luò)承載功能:負責(zé)終結(jié)用戶的PPPoE連接、匯聚用戶的流量;二是控制實現(xiàn)功能:與認證系統(tǒng)、計費系統(tǒng)和客戶管理系統(tǒng)及服務(wù)策略控制系統(tǒng)相配合實現(xiàn)用戶接入的認證、計費和管理。BRAS是通過Radius協(xié)議與Radius服務(wù)器相互通信。筆者單位根據(jù)網(wǎng)絡(luò)需求,辦公用戶統(tǒng)一在gd域名下,以便實現(xiàn)更好的網(wǎng)絡(luò)管理。以往遇到過地址池滿導(dǎo)致的691撥號錯誤。是不是地址池滿了?筆者登錄所帶用戶的BRAS查看gd域名的用戶地址池使用情況。要執(zhí)行的命令如下:
show submanage ippool used-rate domain gd
//查看gd域名的地址池使用率
由圖2可知,該地址池總數(shù)量為2045,使用率為33.69%,用戶地址充足。由于以往處理的故障中也有License限制導(dǎo)致寬帶撥號691錯誤,于是登錄BRAS查看 License信 息,BRAS的License是通常被廠商作為網(wǎng)絡(luò)設(shè)備某些功能的限制和擴展,show license是查看設(shè)備的軟件使用范圍授權(quán)。
show license
//查看BRAS License信息
由圖3可知,License為48000,當(dāng)前用戶數(shù)是20176,整機支持的最大用戶上線數(shù)量是256000,說明不是License限制的問題。
圖2 gd域名下地址池利用率
圖3 BRAS上的License信息
Show online-failedrecord user-name jnfgs123
//根據(jù)用戶名,查看用戶上線失敗的記錄
從中沒有發(fā)現(xiàn)用戶jnfgs123上線失敗的記錄信息,說明不是BRAS上的故障,根據(jù)網(wǎng)絡(luò)拓撲,我們往下排查,定位到辦公網(wǎng)交換機。
筆者采用Wireshark進行抓包分析,Wireshark是一個網(wǎng)絡(luò)封包分析軟件。仔細分析Wireshark擷取的封包能夠幫助筆者對于網(wǎng)絡(luò)行為有更清楚的了解。筆者在撥號的同時抓包,然后再進行過濾,目的是擷取PPPoE協(xié)議的相關(guān)報文,從而對故障進行定位。從報文中發(fā)現(xiàn)本機MAC地址發(fā)送認證請求給另一個MAC地址,該地址返回jnfgs123的用戶名為not user的響應(yīng)包給本機地址,拒絕認證本機用戶。我們發(fā)現(xiàn)該地址與BRAS無關(guān),根據(jù)網(wǎng)絡(luò)拓撲分析,定位故障原因來自辦公網(wǎng)交換機。
定位故障原因在辦公網(wǎng)交換機后,登錄交換機,查找MAC地址的來源。使用以下命令來實現(xiàn):
Show mac-addresstable | include 8081.00ff.be81
//查找MAC地址來源
查找到該MAC地址來自0/0/2端口,然后去排查了辦公網(wǎng)交換機的這個端口,追根溯源,找到了是一臺設(shè)置了上網(wǎng)控制認證功能的路由器,該臺路由器冒充Radius服務(wù)器,對用戶進行上網(wǎng)認證。關(guān)閉該路由器的上網(wǎng)控制認證功能后,故障得到解決。
此次的691故障排查,從Radius服務(wù)器、BRAS以及辦公網(wǎng)交換機三個方面著手,最后確定為設(shè)置上網(wǎng)認證功能的路由器冒充Radius服務(wù)器引發(fā)的故障。排查中學(xué)習(xí)和應(yīng)用了Radius協(xié)議、PPPoE原 理、Radius與BRAS之間的交互過程、路由器的上網(wǎng)認證功能等相關(guān)知識,受益匪淺。筆者在以往的網(wǎng)絡(luò)維護過程中,只注重問題是否解決,忽略了對于網(wǎng)絡(luò)知識的深入研究。通過不斷地學(xué)習(xí),并針對此次網(wǎng)絡(luò)的處理思路進行及時總結(jié),逐步提高分析故障原因的能力,相信以后解決網(wǎng)絡(luò)故障會事半功倍,為提高用戶良好的上網(wǎng)體驗打下堅實的基礎(chǔ)。