Cisco 300-410: 路由重分佈與策略式路由 — 學習指南
屬於 Cisco CCNP Enterprise 300-410 ENARSI — 學習指南. 使用經過驗證的解答練習: Cisco 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
路由重分發與策略式路由 (PBR) 是整合異質路由網域、並影響超越預設基於目的地轉送決策的強大工具。若實作正確,它們能實現可擴展的網域間連線、選擇性流量導向、受控的預設路由傳播,以及穩健的迴圈預防。若實作不當,則會產生路由迴圈、路由回饋、次佳路徑,以及難以診斷的黑洞。本節將解釋其設計原理、運作機制與故障模式,並提供關於過濾、metric 轉換,以及帶有追蹤與驗證的 PBR 的精確指引。
重分發與過濾基礎
路由網域邊界、種子 metric 與管理距離
- 網域邊界存在於不同協定交會之處 (OSPF/EIGRP/BGP/static/connected)。在這些邊界上,重分發會綜合跨網域的可達性資訊。
- 在目標協定無法推斷 metric 的情況下 (例如 OSPF 外部 metric、EIGRP 複合 metric),種子 metric 是必要的。若無明確的種子值或預設值,重分發的路由可能會無法使用或優先級被嚴重降低。
- 管理距離 (AD) 用於在不同協定間進行裁決。典型預設值:eBGP 20、static 1、OSPF 110、EIGRP internal 90、EIGRP external 170、iBGP 200。混合 AD 的環境可能會偏好非預期的來源 (例如,若未考慮 AD,重分發的 OSPF 外部路由可能會勝過 iBGP 路徑),導致非對稱路由或迴圈。
重分發風險與雙向控制
- 雙向重分發 (A↔B) 可能會將學習到的路由重新注入回原始網域,產生持續的迴圈或路由「回饋」。可使用以下方式控制:
- 路由標記 (tagging) 以標示來源並阻止重新進入。
- 定向過濾以僅允許必要的前綴。
- 在邊界進行彙總以降低回饋的粒度。
- 被動預設策略:在適當情況下僅注入預設路由或彙總路由。
- 調整 AD 以確保主要網域偏好原生路由而非重分發的路由。
路由 tag 與迴圈預防模式
- 使用協定支援的 tag 來攜帶來源元數據:
- OSPF 外部 LSA tag (32-bit)。
- 透過 route map 設定 EIGRP 路由 tag。
- BGP community/extended community tag。
- 常見模式:
- 在重分發至目標網域時設定 tag (例如,若從 EIGRP AS 65001 學習到,則設定 tag 65001)。
- 在反向重分發時,比對該 tag 並拒絕,以避免重新產生路由。
- Tag 衝突:定義一個 tag 計畫以避免跨邊界的語意重疊。
Route map、prefix list、distribute list 與過濾粒度
- Prefix list:最適合用於比對前綴與遮罩的粒度 (支援 ge/le 運算子)。可用於 BGP 與 IGP 邊界。
- Distribute list:由 access-list/prefix-list 驅動的舊式過濾方式,直接綁定於路由程序;對 IGP 有效但上下文有限。
- Route map:多功能策略,支援比對 prefix list、tag、next hop、metric、community,並可設定動作 (metric、tag、type、community、as-path prepend)。
- 當您需要同時過濾和轉換屬性時,請使用 route map;若要進行高效、可擴展的前綴/遮罩選擇,請使用 prefix list。
路由過濾的放置位置:入向 vs. 出向
- 入向過濾:
- 透過防止不想要的路由被安裝,來減少 RIB/FIB 的增長與 CPU 使用率。
- 在保護網域免受過多或有害更新 (例如 BGP 邊界) 時為首選。
- 出向過濾:
- 防止路由洩漏與過度宣告。
- 強制執行匯出策略與屬性標準化。
- 對於 BGP,務必驗證出向的 route map,以避免非預期的屬性變更 (例如,意外的 AS-path prepending 導致鄰居看到的躍點數增加)。
預設路由管理
- 策略包括:
- 僅在需要的地方注入預設路由 (例如,使用 route map 的 OSPF default-information originate)。
- 謹慎地重分發靜態 0.0.0.0/0 路由;確保 AD 與 metric-type 能避免預設路由勝過更具體的路由。
- 對於雙邊界 (Internet 與 MPLS),為每個 VRF 分開設定預設路由,並應用匯出/匯入策略以避免交叉洩漏。
Metric 轉換與預設路由管理
OSPF、EIGRP、BGP 與靜態路由之間的 Metric 轉換
- OSPF:
- 外部路由帶有 cost 與類型。Type E1 會累計朝向 ASBR 的內部 cost;E2 預設為固定值。當內部路徑 cost 應影響出口選擇時,請選擇 E1。
- 明確設定外部 metric 以影響跨多個 ASBR 的路徑選擇。
- EIGRP:
- 複合 metric 使用 bandwidth、delay、reliability、load、MTU。在重分發時,至少要設定 bandwidth 與 delay;否則路由可能會被分配到較差的 metric 而降低優先級。
- 僅在必要時才使用 metric 權重 K1–K5;為保持互通性,請維持預設值。
- BGP:
- 不直接轉換 IGP metric。使用 local preference (AS 內部)、MED (AS 間的提示)、AS-path prepending 與 weight (路由器本地) 來控制路徑偏好。
- 將 IGP 重分發至 BGP 時,使用 route map 來設定 community、MED,並防止粒度過細。
- Static:
- 以明確的 metric 植入 IGP。注意 AD 為 1 的靜態路由會在本地覆蓋動態路由;如有需要,可針對每個前綴調整 AD (例如,ip route 0.0.0.0 0.0.0.0 x.y.z.w 5)。
簡潔範例
- OSPF ← EIGRP,帶有 tag 與 E1:
route-map EIGRP-TO-OSPF permit 10
match tag 0
set tag 65010
set metric-type type-1
set metric 50
router ospf 1
redistribute eigrp 10 subnets route-map EIGRP-TO-OSPF
- EIGRP ← OSPF,帶有複合 metric:
route-map OSPF-TO-EIGRP permit 10
match tag 0
set tag 65020
set metric 100000 50 255 1 1500
router eigrp 10
redistribute ospf 1 route-map OSPF-TO-EIGRP
- BGP 出向屬性控制 (避免意外加長本地前綴的路徑):
route-map OUT permit 10
match ip address prefix-list EXPORT
set local-preference 150
route-map OUT permit 20
router bgp 200
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 route-map OUT out
務必包含一個終止的 permit 序列;否則,您可能會無意中附加屬性 (例如 AS-path prepends) 或丟棄所有其他路由。
預設路由
- 帶有策略的 OSPF 預設路由:
route-map OSPF-DEF permit 10
match interface GigabitEthernet0/0
router ospf 1
default-information originate route-map OSPF-DEF metric 10 metric-type 1
策略式路由 (Policy-Based Routing) 設計與操作
核心行為與匹配
- PBR 會在不修改路由表的情況下,逐一封包地改變轉送決策。它會應用於介面的入向 (inbound) 流量,或本地產生的流量。
- 常見的匹配條件:來源/目的前綴、DSCP/precedence、協定/埠號 (透過擴充 ACL)、下一跳可達性。
- 關鍵的 set 動作:
- set ip next-hop x.x.x.x [y.y.y.y …]
- set interface
- set ip default next-hop x.x.x.x (僅在路由查詢失敗時使用)
- set dscp
, set ip precedence
備援與可用性感知
- 使用下一跳列表來實現有序備援。如果第一個下一跳無法解析,路由器會評估後續的下一跳。
- 使用
set ip next-hop verify-availability搭配物件追蹤 (object tracking),以優先選擇僅可達的下一跳;否則,PBR 可能會造成黑洞 (black holes)。
ip sla 10
icmp-echo 203.0.113.1 source-interface GigabitEthernet0/0
frequency 5
ip sla schedule 10 life forever start-time now
track 10 rtr 10 reachability
route-map PBR permit 10
match ip address ACL_PBR
set ip next-hop verify-availability 198.51.100.1 1 track 10
set ip default next-hop 203.0.113.2
interface GigabitEthernet0/1
ip policy route-map PBR
- 本地 PBR 與介面 PBR 的比較:
- 介面 PBR (
ip policy route-map) 處理進入該介面的轉送流量 (transit traffic)。 - 本地 PBR (
ip local policy route-map) 處理由路由器自身發起的流量 (例如,管理連線、pings)。請謹慎使用,以避免中斷控制平面 (control-plane) 的連線。
- 介面 PBR (
控制平面與安全性的互動
- PBR 在正常的路由查詢之前於資料路徑 (data path) 中運作;它不會改變 RIB。請驗證
set next-hop的 CEF 鄰接解析 (adjacency resolution)。 - 控制平面策略 (CoPP) 不會對受 PBR 影響的轉送資料進行管制,但它可以管制由重分佈網域所使用的路由更新。在驗證 CoPP 速率以避免路由抖動 (routing flaps) 時,請在測試 ACL 分類期間,初步將
conform-action設為transmit、exceed-action設為transmit,然後再視需要收緊。 - 如果在接收設備上部署了 uRPF,由 PBR 建立的非對稱路徑可能會導致封包丟失。在適當情況下,使用
ip verify unicast source reachable-via any以允許非對稱的回程路徑。
驗證、回復與故障排除策略
驗證指令
- 路由與策略狀態:
- 使用
show ip route和show ip route vrf <name>來驗證每個 VRF 的可達性。 - 使用
show ip cef exact-route <src> <dst>來觀察實際的轉送決策。 - 使用
show route-map和show access-lists來驗證序列順序與匹配條件。 - 使用
show policy-map control-plane來在不穩定期間檢查 CoPP 的效果。
- 使用
- 特定協定:
- OSPF:
show ip ospf database external、show ip ospf border-routers,並檢查 LSA 標籤;若要為 IPv4 啟用 OSPFv3 介面,請在介面下使用ospfv3 1 ipv4 area <id>。 - EIGRP:
show ip eigrp topology、show ip protocols以查看重分發來源。 - BGP:
show ip bgp neighbors x.x.x.x advertised-routes和received-routes;確認屬性變更 (AS-path、MED、communities、local preference),並在需要時,確保離埠政策允許未匹配的路由。
- OSPF:
故障排除工作流程
- 識別症狀類別:
- 路由遺失:在入口邊界檢查入埠過濾器與重分發策略。
- 路徑錯誤:檢查 AD、metric 轉換以及離埠屬性修改。
- 黑洞 (Black hole):驗證 PBR next-hop 的可用性、IP SLA/track 狀態,並確保
set ip default next-hop僅用於目的地不在路由表中的情況。 - 不穩定/抖動 (flaps):優先檢查迴圈預防標籤、過濾器洩漏與 CoPP 計數器。
- 檢查策略順序:
- Route-map 的序列順序至關重要。BGP 離埠中的
deny序列可以抑制匯出,而「permit但不帶set」則會讓路由原封不動地通過。在適當情況下,務必包含一個最終的permit 20(或類似序列) 以允許未匹配的路由。
- Route-map 的序列順序至關重要。BGP 離埠中的
- 驗證迴圈預防:
- 確認在匯出時設定了標籤,並在重新匯入時進行過濾。確保在兩端邊界的彙總與過濾是對稱的。
- 回復與變更安全:
- 使用維護視窗與分階段部署 (先套用在入埠以保護您的網域;然後再套用在離埠)。
- 保留設定檔存檔,並使用
configuration replace快速回復。 - 在可能的情況下,先在 VRF 實驗室或對一小部分鄰居套用策略,然後再進行全域部署。
簡短的目標範例
- 入埠 BGP 子網路過濾以阻擋更精確的路由 (more-specifics):
ip prefix-list PL-IN deny 172.16.0.0/16 le 23
ip prefix-list PL-IN permit 0.0.0.0/0 le 32
router bgp 100
neighbor 192.0.2.2 remote-as 200
neighbor 192.0.2.2 prefix-list PL-IN in
- 正確使用 route-map 預設值以避免過度限制:
route-map SETLP permit 10
match ip address prefix-list P1
set local-preference 99
route-map SETLP permit 20
操作上的警告與故障模式
- 錯誤設定的 metric 會導致所有流量偏好某個 ASBR,或沒有流量偏好一個原本有效的路徑。
- 非預期的 AS-path prepends 或缺少結尾的 permit 會導致鄰居認為本地前綴更遠,例如,一個本地產生的 192.168.130.0/24 被視為距離兩個 AS hop,而不是一個。
- 沒有
track/verify-availability的 PBR 可能在 next-hop 故障期間,產生無聲的資料平面 (data-plane) 黑洞。 - 沒有策略的預設重分發可能會因為 AD 值的差異而覆蓋掉特定的路由,導致次佳路由或失去可達性。
實際問題情境
NorthPeak Media 公司需要將一個基於 OSPF 的廣域網路 (WAN) 與一個基於 EIGRP 的資料中心進行整合,並需要透過兩個 ISP 實現選擇性的網際網路出口。需求:預防重分發迴圈、生產流量優先使用 ISP-A 並自動故障轉移至 ISP-B,以及避免影響控制平面 (control-plane) 的穩定性。
方法
- 定義重分發邊界與標籤
- 基本原理:需要在 OSPF (WAN) 和 EIGRP (DC) 之間進行雙向重分發。標籤用於識別路由來源並防止其被重新注入。
- 執行動作:
- 在 EIGRP-to-OSPF 的 ASBR 上,重分發
eigrp並設定tag 65010、metric-type E1及cost 50。 - 在 OSPF-to-EIGRP 的 ASBR 上,重分發
ospf並設定tag 65020及一個 EIGRP 複合 metric;拒絕任何帶有tag 65010的路由從 OSPF 返回,反之亦然。
- 在 EIGRP-to-OSPF 的 ASBR 上,重分發
- 標準化 metric 與 AD
- 基本原理:確保 OSPF 內部路由優先於 OSPF 外部路由,EIGRP 內部路由優先於 EIGRP 外部路由;避免 iBGP 非預期地覆蓋 IGPs。
- 執行動作:
- 對 OSPF 外部路由使用 E1,這樣到 ASBR 的內部 cost 會影響出口選擇。
- 如有必要,提高重分發的靜態路由的 AD 值,以避免其覆蓋特定的 IGP 路由。
- 控制預設路由的傳播
- 基本原理:只有 WAN 邊界路由器應該將 0.0.0.0/0 注入 OSPF;資料中心不應非預期地將預設路由洩漏到 OSPF 或 EIGRP 中。
- 執行動作:
- 在 WAN ABR 上,使用
default-information originate搭配一個 route map,該 route map 匹配一個 up/up 狀態的 ISP 介面;metric-type 為 E1 並設定一個適中的 cost。 - 不要從資料中心重分發靜態預設路由;在用於重分發的 route-map 條款中明確
deny 0.0.0.0/0。
- 在 WAN ABR 上,使用
- 應用 PBR 搭配 IP SLA 追蹤以實現選擇性出口
- 基本原理:將生產流量導向 ISP-A,並具備到 ISP-B 的自動、快速故障轉移能力;不要改變路由表。
- 執行動作:
- 建立一個匹配生產子網路的 ACL。
- 設定
ip slaICMP 測試到 ISP-A 的 next-hop 並設定track物件。 - 在園區網路的入口介面上,套用
ip policy route-map PBR-PROD:set ip next-hop verify-availability <ISP-A-NH> 1 track <obj>- 對於路由表中不存在的目的地,設定
set ip default next-hop <ISP-B-NH>。
- 讓非生產流量遵循正常的 IGP/BGP 路徑。
- 保護控制平面與管理流量
- 基本原理:確保由路由器發起的連線和路由鄰接關係不會被 PBR 或 CoPP 中斷。
- 執行動作:
- 僅在需要時,針對特定的管理來源位址使用
ip local policy route-map;否則,避免全域套用 local PBR。 - 在啟用 CoPP 策略期間,最初為 BGP/OSPF 類別設定
conform-action transmit和exceed-action transmit,以驗證 ACL 匹配和速率,而不會引發抖動 (flaps);然後再強制執行所需的 policing。
- 僅在需要時,針對特定的管理來源位址使用
- 過濾器的放置與驗證
- 基本原理:保護網域免受過多前綴的影響並避免洩漏。
- 執行動作:
- 在 BGP 鄰居上設定入埠 prefix lists,以阻擋不想要的更精確路由 (more-specifics) 和 bogons。
- 設定離埠 route maps,為選定的前綴設定 local preference,並確保有一個結尾的 permit。
- 使用
show ip route vrf <name>(每個 VRF)、show ip bgp neighbors advertised-routes和show route-maphit counts 進行驗證。
- 測試、監控與回復
- 基本原理:受控的部署可降低風險。
- 執行動作:
- 在部分的介面/鄰居上部署,監控 IP SLA 狀態,並驗證 PBR 計數器和 CEF 鄰接關係。
- 將基準設定存檔,並在出現異常時使用
configuration replace進行快速回復。 - 透過端到端檢查路由標籤,並使用
show ip ospf database external和show ip eigrp topology驗證沒有重新產生路由,來確認沒有迴圈。
← BGP 策略、擴展性與路徑選擇 · 所有領域 · MPLS、VRFs 與第三層 VPN 服務 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →