萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路應用技術 >> 應用程式教學

H3C 路由器 BGP 路由策略實戰:AS_PATH 操作、缺省路由發布與網路宣告限制

BGP 作為互聯網核心路由協議,其策略控制能力最為強大靈活。本文針對 H3C 路由器 (Comware v5/v7) 環境,深度解析 AS_PATH 屬性操作限制、缺省路由發布最佳實踐、network 命令宣告邏輯,並附帶完整實驗配置案例 (AR18 系列),助網管精準掌握路由策略落地細節。

一、核心知識點速記

  1. AS_PATH 操作限制:apply as-path 僅能在 EBGP 出方向 (outbound) 向 AS_PATH 列表前端 (prepend) 添加 AS 號;不可在入方向 (inbound) 添加,亦不可刪除/修改中間 AS。
  2. 缺省路由發布黃金法則:IGP 引入 + network 宣告。即先在 IGP (靜態/OSPF/IS-IS) 引入 0.0.0.0/0,再在 BGP 下 network 0.0.0.0 0.0.0.0。切勿直接用 default-route imported 或 import-route static 將缺省路由引入 BGP,易導致路由環路或不可控洩漏。
  3. network 命令只宣告非 BGP 學習路由:R1→R2→R3,R1 本地路由在 R2 經 BGP 學習後,R2 再用 network 宣告該路由 不生效 (防止路由回授環路)。

二、實驗拓撲與完整配置 (AR18 系列)

拓撲:AR18 (AS 200) — Serial0 (1.1.1.10/30) — 骨幹網 — Serial1 (1.1.1.14/30) — AR18
Loopback1: 20.20.10.254/24 | Loopback2: 20.20.20.254/24 | Loopback3: 20.20.30.254/24

BGP 實驗拓撲圖

圖 1:BGP 路由策略實驗拓撲

AR18 完整配置 (關鍵段落已註釋)

sysname AR18
firewall enable
aaa-enable
!
acl 2000 match-order auto
 rule 5 permit source 20.20.30.0 0.0.0.255   ! 僅允許 20.20.30.0/24 通過策略
 rule 10 deny source any
!
interface Serial0
 link-protocol ppp
 ip address 1.1.1.10 255.255.255.252
!
interface Serial1
 clock DTECLK1
 link-protocol ppp
 ip address 1.1.1.14 255.255.255.252
!
interface LoopBack1
 ip address 20.20.10.254 255.255.255.0
!
interface LoopBack2
 ip address 20.20.20.254 255.255.255.0
!
interface LoopBack3
 ip address 20.20.30.254 255.255.255.0
!
bgp 200
 undo synchronization
 import-route direct route-policy lv   ! 引入直連路由 (Loopback) 並套用策略 lv
 peer 1.1.1.9 as-number 200            ! IBGP 對等體 (同 AS)
 peer 1.1.1.13 as-number 200
!
route-policy lv permit node 10
 if-match ip address 2000              ! 引用 ACL 2000,僅匹配 20.20.30.0/24
 ! 此處可添加 apply as-path 100 200 300  (EBGP out 方向 prepend)

三、進階策略應用場景

場景 1:EBGP 出方向 Prepend AS_PATH 影響入站流量

route-policy PREPEND_OUT permit node 10
 apply as-path 200 200 200 additive   ! 在 AS_PATH 前加三個 200
!
bgp 200
 peer 1.1.1.9 route-policy PREPEND_OUT export  ! 僅對 EBGP 鄰居生效

效果:對端收到路由 AS_PATH 變長,優選其他路徑,實現入站流量工程。

場景 2:缺省路由安全發布

! 方法一:靜態缺省 + network 宣告 (推薦)
ip route-static 0.0.0.0 0.0.0.0 1.1.1.9 preference 60
!
bgp 200
 network 0.0.0.0 0.0.0.0              ! 精確匹配 0.0.0.0/0
!
! 方法二:條件發布 (配合 route-policy)
route-policy DEFAULT_OUT permit node 10
 if-match ip-prefix DEFAULT_PREFIX
 apply community no-export additive   ! 附加 Community 防止傳遞至外部 AS
!
ip ip-prefix DEFAULT_PREFIX index 10 permit 0.0.0.0 0
!
bgp 200
 peer 1.1.1.9 route-policy DEFAULT_OUT export

場景 3:防止網路宣告回授環路

原則:network 僅宣告 本地路由表中非 BGP 來源 的路由 (直連、靜態、IGP)。若需宣告 BGP 學習路由,請使用 import-route bgp (需謹慎配合策略過濾)。

四、驗證與除錯命令

display bgp routing-table 20.20.30.0       ! 查看特定路由屬性 (AS_PATH, Next_Hop, MED, Local_Pref)
display bgp peer 1.1.1.9 verbose           ! 查看對等體狀態、收發封包計數、策略應用情況
display bgp routing-table as-path-acl 1    ! 查看匹配特定 AS_PATH 的路由
debugging bgp policy                       ! 除錯策略匹配過程 (慎用)

五、最佳實踐清單

  • ✅ 所有 EBGP 鄰居 強制配置路由策略 (import/export),拒絕裸奔。
  • ✅ 入方向 過濾 Bogon/私有 AS/自有前綴 (RFC 5398/6441/6811)。
  • ✅ 出方向 僅宣告自有前綴,附加 no-export 或 no-advertise Community 控制傳遞範圍。
  • ✅ 缺省路由 僅向上游/對等體發布,嚴禁向下游/客戶發布。
  • ✅ 定期 display bgp routing-table statistics 對比前後版本,監控路由表膨脹。

BGP 策略的核心哲學是「精確控制、最小權限、防禦性編程」。掌握 AS_PATH 操作邊界、缺省路由發布模式、network 宣告語義,配合 ACL/ip-prefix/route-policy 組合拳,即可駕馭複雜互聯互通場景。

copyright © 萬盛學電腦網 all rights reserved