靜態路由故障
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
后一個命令行配置僅在主路由失效時使用的另一條丟棄路由。通過將靜態路由的默認管理距離改為比所使用的動態路由選擇協議的管理距離更高的一個值來實現。
排除 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 匯總路由。
排除 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 地址。
排除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)外部匯總
router ospf 1
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 命令顯示由接口引起的翻動。
解決:
· 修復正在翻動的鏈路
· 重新定義區域邊界
排除 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
排除 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 原因
· BGP 路由不同步
· 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
BGP 路由被抑制
抑制( dampening)是減小本地 BGP 網絡中來自 EBGP 鄰居的不穩定 BGP 路由所引起的不穩定性的方法。
抑制是一種為一條翻動的 BGP 路由指派一個罰點的方法。
router bgp 109
bgp dampening