天天看點

afd

路由器故障排除寶典

一 靜态路由故障

1. 靜态路由和有類别查找

當路由選擇表程序檢查一條使用中間位址(路由選擇表中作為下一跳引用的IP位址)的可解析的靜态路由時,這個檢查總是在有類别方式下完成的,無論是否使用ip classless指令如果在路由選擇表中有類别方式下的中間位址不能解析,則删除該靜态路由.

使用show ip route檢視路由選擇表.

使用debug 可以顯示某個網絡宕掉了.

如果使用無類别方式并有一條預設路由存在,那麼具有高管理距離的備份表态路由将永遠不會在主靜态路由失效時裝入到路由選擇表中.這是因為任何靜态路由,即便是指向不存在的中間位址的靜态路由,都會使用預設路由進行解析.

CISCO路由選擇表程序每60S調用一個檢查路由選擇表的靜态路由功能來根據動态變化的路由選擇表安裝或删除靜态路由.

2.靜态路由和中間位址

靜态路由可以使用中間網絡位址或出接口來建立.大多數情況下,使用出接口在路由選擇表程序中解析靜态路由更加有效.

隻要中間IP位址可以在路由選擇表中解析,它不必是真實的下一跳路由器的接口.靜态網絡路由(如中間位址)必須最終被解析為路由選擇表中一條具有出接口的路由.

每當路由選擇表程序需要為x.x.x.0/24網絡使用靜态路由表項時,它還需要解析中間位址y.y.y.y,稱為遞歸查找.一次額外的路由查找或許對路由選擇程序的性能沒有多少影響.但是,采取多次遞歸查找來獲得解析的靜态路由可能會影響性能.

3.靜态路由優化

為避免遞歸查找: 串行網絡:使用出接口

 以太網絡:同時使用中間位址和出接口

4.反複的靜态路由安裝和删除

盡可能地使用出接口而不是中間位址來配置靜态路由.

5.使用丢棄路由

有時網絡中有環路的産生.通過周期性的檢視路由器接口上的計數器可以看到路由選擇環路的結果.

clear counters serial0/0
show interface serial0/0       

路由環路的問題在網絡中産生了一個黑洞.一旦IP頭中的生存期(TTL)減到0就丢棄分組.

解決1:有類别模式的路由選擇(no ip classless)----在使用者網絡路由器上使用no ip classless.路由器在至少一個已知子網存在時不會使用任何超網或預設路由.但不是首選.因為它改變了所有分組的路由選擇表查找行為.

解決2:使用一條丢棄路由----當路由選擇表中沒有特定的比對,而且使用一條超網或預設路由來轉發那些分組并不合适時,一條丢棄路由把分組送給了null0,即比特桶.

   ip route x.x.0.0 255.255.0.0 null0
   ip route x.x.0.0 255.255.0.0 null0 200        

後一個指令行配置僅在主路由失效時使用的另一條丢棄路由.通過将靜态路由的預設管理距離改為比所使用的動态路由選擇協定的管理距離更高的一個值來實作.#p#

二 排除RIP故障

1.不相容的版本類型

debug ip rip
show ip protocols 對檢查接口上發送和接收的RIP分組版本十分有用.       

如果R1不支援V2的版本,隻能接收RIPv1分組,那麼R2配置成RIPv1和RIPv2.

可在接口級指定發送和接收RIP分組的特定版本

interface e0
ip rip send version 1 2
ip rip receive version 1 2      

2.不比對的認證密鑰

RIPv2的一個選項是可以認證的RIPv2更新,為了增強安全性,當使用認證時,必須在雙方配置密碼.這個密碼被稱為認證密鑰.如果這一密鑰與另一方的密鑰不比對,雙方都将忽略RIPv2更新.

在接口上配置ip rip authentication key-chain cisco

用debug ip rip調試.

3.達到RIP的路數限制

RIP度量标準的最大值是15跳.

無法克服這個問題.可以使用非15跳限制的路由選擇協定.IGRP最大跳數是255,EIGRP最大跳數是224,二者預設都是100.

4.不連續網絡

當主網絡被另一個主網絡分隔開時,被稱為不連續網絡.

解決1:使用靜态路由

解決2:在路由器之間的鍊路位址改為左右不連續網絡中的一部分.

解決3:在兩台路由器上用no auto-summary配置啟用RIPv2的無類别路由選擇版本.

   router rip
version 2
network x.x.x.0
no auto-summary      

解決4:使用無類别路由選擇協定.如OSPF,EIGRP,IS-IS替代RIPv1路由選擇協定.

5.不合法的源位址

當RIP告訴路由選擇表安裝路由時,它執行源合法性檢查.如果源所在子網與本地接口不同,RIP則忽略更新并且不在路由選擇表中安裝從這個源來的路由.

當一方是有編号而另一方是無編号時,必須關閉這個檢查.

  router rip
no validate-update-source      

6.翻動(flapping)路由

路由翻動是指路由選擇表中一條路由的不斷删除和再插入.為了檢查路由是否真的翻動,檢查路由選擇表并檢視路由的壽命(age).如果壽命被不斷的重置為00:00:00,這就意味這路由正在翻動.

RIP有180S沒有收到一條路由,那麼該路由将保持240S,然後被清除.

使用show interface來檢查接口統計值.

最常見幀中繼環境分組丢失.

使用show ip route rip可以檢查RIP多久沒有更新.

使用show interface serial 0可檢視到接口上有大量的廣播分組是否被丢棄.幀中繼情況下,可能需要調整幀中繼廣播隊列.在非幀中繼的環境中,可能需要增加輸入或輸出保留隊列.

7.大型路由選擇表

接口上使用ip summary-address彙總路由.#p#

三 排除EIGRP故障

1.不比對的K值

EIGRP為了建立它的鄰居關系,計算EIGRP度量标準的K常數值必須相同.

K1-帶寬 K2-負載 K3-延遲 K4,K5-可靠性

router eigrp 1
   network x.x.x.x
   metric weights 0 1 1 1 1 0      

2.不比對的AS編号

EIGRP不會與具有不同自治系統編号的路由器形成任何鄰居關系.

3.活動粘滞

(1)确定問題

可能的原因有:

. 壞的或擁塞的鍊路;

. 低的路由器資源,如路由器上的低記憶體和高CPU處理.

. 長的查詢範圍

. 過多的備援

預設活動粘滞定時器隻有180S.

使用show ip eigrp topology active 指令幫助故障排除EIGRP活動粘滞錯誤,僅在問題發生時有用,使用者一次隻有180S的時間來确定.鄰居有一個r跟在後面表示它沒有應答查詢.

(2)故障排除方法

追蹤查詢,一跳接一跳,在每一跳找出活動路由的狀态.

(3)最終解決方案

盡可能手工彙總路由并有一個分層次的網絡設計.EIGRP彙總的網絡越多,主收斂發生時需要做的事情越少.

4.重複的路由ID

EIGRP隻是為了外部路由而使用路由器ID的概念來防止環路.EIGRP基于路由器上回環接口的最大IP位址來選擇路由器ID.如果路由器沒有回環接口,則選擇所有接口中最大的激活IP位址作為EIGRP的路由器ID.

debug ip eigrp可以看到接口上通告某個網絡.

經驗法則:永遠不要在網絡的兩個地方配置相同的IP位址.#p#

四 排除OSPF故障

1.不比對的參數

使用debug ip ospf adj指令能夠看到大多數的不比對問題.

(1)hello/dead間隔不比對----比對才可以形成鄰居.

(2)不比對的認證類型----OSPF下有MD5和純文字認證.

router ospf 1
  area 0 authentication message-digest
  network x.x.0.0 0.0.255.255 area 0      

(3)不比對的區域ID--區域資訊在OSPF的HELLO分組中發送.不同,不會形成鄰接.

(4)不比對的短截/傳輸/NSSA區域選項----當OSPF與一個鄰居交換HELLO分組時,它所交換的一項内容是由8比特表示的可選能力.選項字段之一是E比特,即OSPF短截标志.當E比特置0時,該路由關聯的區域是一個短截區域,外部LSA不允許進入這個區域.

2.OSPF狀态問題

成為鄰居的路由器不保證交換鍊路狀态更新.一旦路由器決定與一個鄰居形成鄰接,它就開始交換其鍊路狀态資料庫的一份完整拷貝.

(1)OSPF陷入ATTEMPT----僅對neighbor語句的NBMA網絡有效.陷入ATTEMPT是指一台路由器試圖通過發送它的HELLO來聯系鄰居但是它沒有收到響應.

 show ip ospf neighbor檢視.

   原因:錯誤配置neighbor;NBMA上的單點傳播連通性斷了,這可能是由錯誤的DLCI,通路清單或轉換單點傳播的NAT引起的.

(2)OSPF陷入INIT----INIT狀态表示路由器收到來自鄰居的HELLO分組,但是雙向通信并沒有建立 .

原因:

. 一方通路清單阻止了HELLO;

. 一方的多點傳播能力失效(一個交換機故障);

. 僅在一方啟用了認證;

. 一方的frame-relay map/dialer map語句缺少了broadcast關鍵字.

. 一方的HELLO在第2層丢失了.

(3)OSPF陷入2-WAY----雙向狀态是指路由器在HELLO分組的鄰居字段中見到了自己的路由器ID.類似于所有路由器的優先級都為0,則不會發生選舉,所有路由器停留在雙向狀态中.

解決:確定至少一台路由器具有一個至少為1的IP OSPF優先級.

(4)OSPF陷入EXSTART/EXCHANGE----在EXSTART或EXCHANGE狀态的OSPF鄰居正處于嘗試交換DBD(資料庫描述)分組的過程中.

. 不比對的接口MTU

. 鄰居上重複的路由器ID

. 無法用超過特定MTU 長度進行PING

. 斷掉的單點傳播連通性,它可能是因為錯誤的DLCI,通路清單或轉換單點傳播的NAT

(5)OSPF陷入LOADING----鄰居沒有應答或鄰居的應答從未到達本地路由器,路由器也會陷入LOADING狀态.常有"%OSPF-4-BADLSA"控制台資訊.

. 不比對的MTU

. 錯誤的鍊路狀态請求分組

3.點到點鍊路的一方是無編号的

  interface s0

ip unnumbered loopback0

解決:雙方都需要成為一個有編号點到點鍊路或一個無編号點到點鍊路.

4.ABR沒有産生一個類型4的彙總LSA

類型4的彙總LSA的一個功能是宣告到其他區域的ASBR的可達性.如果同一個區域中存在ASBR則不需要類型4的LSA.

show ip ospf database external 指令的輸出顯示在路由器的外部OSPF資料庫中是否存在路由.

show ip ospf database asbr-summary 指令的輸出顯示路由是否有類型4的LSA.

檢查R是否真是ABR.如果是,則産生類型3或類型4的彙總LSA.show ip ospf

5.轉發位址不能通過區域内或區域間路由獲知

當OSPF獲得一條外部LSA時,它在将該路由裝入路由選擇表之前要确定轉發位址可通過一條OSPF區域内或區域間路由獲知.如果轉發位址不能通過區域内或區域間路由獲知,OSPF不會将路由裝入路由選擇表中.

有可能的解決:

. 不在ABR上進行彙總

. 在ASBR上過濾再分布入OSPF中的直接子網

   router ospf 1

 redistribute rip subnets

6.路由彙總問題

兩種類型彙總:

. 可執行在ABR上的區域間路由彙總

. 可執行在ASBR上的外部路由彙總

(1)區域間彙總

   router ospf 1

 area 3 range x.x.x.0 255.255.255.0

   通過show ip ospf可以檢視

(2)外部彙總

 summary-address x.0.0.0 255.0.0.0

7.CPUHOG問題

産生在:. 鄰居形成過程

   . LSA重新整理過程

8.SPF計算和路由翻動

隻要拓撲有變化,OSPF就運作SPF算法再次計算最短路徑優先樹.,可能引起鍊路的不穩定.

原因:. 區域内的接口翻動

 . 區域内的鄰居接口翻動

 . 重複的路由器ID

使用show ip ospf指令可檢視在一個給定區域中SPF算法運作的次數;

使用debug ip ospf monitor來隔離一個翻動的LSA;

使用show log指令顯示由接口引起的翻動.

解決:

. 修複正在翻動的鍊路

. 重新定義區域邊界#p#

五 排除IS-IS故障

1.IS-IS鄰接問題

通常由鍊路故障和配置錯誤引起.

show clns neighbors 顯示所有希望與被調查的路由器成為鄰接的鄰居

debug isis adj-packets 指令來調試

2.部分或所有鄰接沒有形成

步驟1----檢查鍊路故障.show ip interface brief

步驟2----檢查配置錯誤.show run

步驟3----檢查不比對的1級和2級接口.

步驟4----檢查區域的錯誤配置.

步驟5----檢查錯誤配置的子網

步驟6----檢查重複的系統ID

3.鄰接陷入INIT狀态

常見原因:不比對的接口MTU和認證參數.show clns neighbors可看到

步驟1----檢查認證 debug isis adj-packets

步驟2----檢查不比對的MTU debug isis adj-packets

步驟3----檢查IS-IS的HELLO填充禁止 (指令同上)

使用show clns interface檢視接口上的HELLO填充狀态

4.ES-IS鄰接形成代替了IS-IS鄰接形成

在IP環境中運作IS-IS的CISCO路由器仍然監聽ES-IS協定所産生的ISH.當實體層和資料鍊路層工作時,即使沒有建立IS-IS鄰接的适當條件,仍能形成ES-IS鄰接.

show clns neighbors      

5.路由通告問題

大多數路由通告問題都可被限制為源端的配置問題或鍊路狀态分組(LSP)的傳播問題.

Dijkstra算法運作在LS資料庫上來獲得每個被通告路由的最佳路徑.

debug isis update-packets
debug isis snp-packets      

以上兩個調試幫助故障排除LSP洪泛問題和鍊路狀态資料庫同步.

路由沒有到達網絡遠端的問題可能有許多潛在原因,包括鄰接問題,第1/2層問題,IS-IS錯誤配置以及其他問題.

6.路由翻動問題

網絡中SPF程序的高CPU使用率(SHOW PROCESS CPU指令)也應标記為不穩定.

不穩定鍊路.

翻動還有可能是由LSP的錯誤風暴或一個路由選擇環路引起.

show isis spf-log指令顯示哪個LSP變化最頻繁以及哪個LSP角發了SPF計算.

show isis update-packets#p#

六 排除BGP故障

1.故障排除BGP鄰居關系問題

遵循:首先,應檢查第1/2層,然後是IP連通性(第3層),TCP連接配接(第4層),最後是BGP配置.

(1)直接的外部BGP鄰居沒有初始化

自治系統(AS)不會向AS發送或從AS接收任何IP字首更新,除非鄰居關系達到established狀态,該狀态是BGP鄰居建立的最後階段.當AS有一條單一的EBGP連接配接時,直到BGP完成了它的收發IP字首操作後IP連通性

才能發生.

原因:. 第2層宕掉了,阻止了與直接的EBGP鄰居通信

 . 在BGP配置中有錯誤的鄰居IP位址

指令:show ip bgp summary和 show ip bgp neighbors檢查BGP鄰居關系

active狀态表示鄰居間沒有發生成功的通信,并且鄰居未形成.用PING測試其連通性,失敗則表示要修複第1/2層問題.

debug ip bgp能夠幫助診斷問題

(2)非直接的外部BGP鄰居沒有初始化

有些情況下,EBGP鄰居不是直連的.BGP鄰居關系能夠建立在試圖形成由一台或多台路由器分隔開的EBGP鄰居關系的路由器之間.這種鄰居在IOS中被稱為EBGP多跳.

當路由器之間存在多個接口并且需要在那些接口之間IP流量負載均衡時,通常在回環接口之間建立EBGP對等實體.

可能的原因:

. 到非直連對等實體位址的路由從路由選擇表中丢失了

. BGP配置中缺少ebgp-multihop指令

. 缺少update-source interface指令

指令:show ip bgp summary 和show bgp neighbors

 router bgp 109

   neighbor x.x.x.x remote-as 110

   neighbor x.x.x.x ebgp-multihop 2

   neighbor x.x.x.x update-source loopback0

(3)内部BGP鄰居沒有初始化

. 到非直接IBGP鄰居的路由丢失了

. BGP配置中缺少update-source interface指令

(4)BGP鄰居(外部和内部)沒有初始化

接口通路清單/過濾是BGP鄰居活動問題的一個常見原因.

2.故障排除BGP路由通告

發生在BGP路由通告的産生和接收中.

(1)沒有産生BGP路由

. IP路由選擇表中沒有比對的路由

. 發生了配置錯誤

. BGP自動彙總到有類别/網絡邊界

(2)向IBGP/EBGP鄰居傳播/産生一條BGP路由的問題

配置的分布清單過濾可能是該問題的起因,或者是政策路由選擇有問題.

(3)向EBGP鄰居但沒有向IBGP鄰居傳播一條BGP路由的問題

show run
show ip bgp
show ip bgp summary      

. 使用IBGP全互聯

. 設計一個路由反射器模型.

router bgp 109
  neighbor x.x.x.x route-reflector-client      

. 設計一個聰明模型

(4)向IBGP/EBGP鄰接傳播一條IBGP路由的問題

一條BGP路由隻有首先通過IGP或靜态路由獲得後才是同步的.

show ip bgp指令的輸出顯示了BGP表中的不同步路由.

3.排除路由沒有裝入IP路由選擇表中的故障

(1)IBGP原因

. IBGP路由不同步

. BGP下一跳不可達

(2)EBGP原因

. 在多跳EBGP情況下BGP下一跳不可達

. BGP路由被抑制

. 多出口鑒别器(MED)值為無窮

4.BGP下一跳不可達

. 使用靜态路由或再分布經由IGP宣告EBGP下一跳

router ospf 1
  network x.x.x.0 0.0.0.255 area 0      
. 使用next-hop-self指令将下一跳改變為一個内部對等實體位址
router bgp 109 
  router ospf x.x.x.x next-hop-self      

4.BGP路由被抑制

抑制(dampening)是減小本地BGP網絡中來自EBGP鄰居的不穩定BGP路由所引起的不穩定性的方法.

抑制是一種為一條翻動的BGP路由指派一個罰點的方法.

router bgp 109
bgp dampening      

#p#

七 排除再分布故障

1.RIP再分布問題

router rip 
  version 2
  redistribute ospf 1 metric 1
  network x.x.0.0      

因為RIP有跳數限制.為改正到達16跳時會出現路由無法再分布的問題,需要在再分布時指派有效的度量标準.其實作可以使用redistribute指令中的metric或default-metric指令.

使用show ip route檢視路由傳播情況.

2.IGRP/EIGRP的再分布問題

複合度量标準:寬帶,延遲,可靠性,負載

CISCO使用100000000/帶寬來得到該代價.
  router igrp 1
redistribute ospf 1 metric 1 10000 255 1 1500
network x.x.0.0      
或者
router igrp 1
redistribute ospf 1
redistribute static
default-metric 1 10000 255 1 1500
network x.x.0. 0
使用show ip route檢視路由傳播情況.      

 3.OSPF的再分布問題

當OSPF再分布時,它成為ASBR.

(1)OSPF沒有将外部路由裝入路由選擇表中

原因:. 不能通過區域内或區域間路由獲知轉發位址

 . ABR滑産生類型4的彙總LSA

(2)ASBR沒有通告被再分布的路由

原因:. ASBR的配置中缺少subnets關鍵字

 . distribute-list out指令阻塞了這些路由
  router ospf 1
redistribute rip subnets
network x.x.x.0 0.0.0.255 area 0
使用show ip ospf database external IP來檢視      

4.IS-IS再分布問題

(1)将靜态路由再分布入IS-IS

router isis
redistribute static ip
使用show run和show isis database檢視      
(2)将外部靜态路由加入為一個LS的IS-IS LSP
router isis
redistribute static ip metric-type external      

5.BGP的再分布問題

在AS邊界路由器上,外出路由通告影響進入的流量,而進入路由通告則影響外出流量.是以,外出和進入的通告應分開考慮.

 (1)BGP釋出進eigrp中

router eigrp 200
redistribute bgp 200 metric 10000 100 255 1 1500 passive-interface s0
network x.x.x.0
  router bgp 200
network x.x.x.0
neighbor x.x.x.x remote-as 100      

可以使用 show ip route和PING來檢測

決對不要在一個面向internet的路由器上使用BGP到IGP的再分布.一個完整的internet路由選擇表由 100000個字首組成,一個IGP程序将會因處理這麼多的路由而阻塞再分布一個完整的internet表乃至大部分的表都會不可避免的引起主網絡崩潰.

(2)為了更多地控制被通告進入BGP鄰居,可以使用靜态路由.

向BGP鄰居通告一條預設路由不會抑制更具體的路由.

如果隻發送預設路由,路由器必須使用過濾器來抑制所有更具體的路由.

router bgp 100
network 0.0.0.0
neighbor x.x.x.x remote-as 300
neighbor x.x.x.x remote-as 200
neighbor x.x.x.x remote-as 100 
neighbor x.x.x.x default-originate
neighbor x.x.x.x redistribute-list 1 out (這一句隻是BGP路由的一種方法)
  access-list 1 permit 0.0.0.0
  access-list 1 deny an      
(責任編輯:liucl)

繼續閱讀