Extreme XOS 網路架構大師

主題:策略路由 (Policy Based Routing, PBR) 深度解析

一、核心概念 (Concept)

一句話定義

策略路由 (PBR) 是一種打破傳統「僅依賴目的地位址 (Destination IP)」進行轉發的機制,允許管理者根據來源位址 (Source IP)應用程式埠號 (L4 Port)封包大小 等多種條件,靈活決定封包的下一跳 (Next Hop)。

💡生活化比喻:公車 vs. 計程車

傳統路由 (Routing Table) 就像「公車」:
公車司機只看你的「目的地」(Destination)。不管你是總經理還是實習生,只要你要去台北車站,公車就是走固定的路線,不會因為你是誰而改變。

策略路由 (PBR) 就像「計程車」或「專車」:
司機(路由器)會看「你是誰」(Source IP)。
如果是老闆(關鍵業務/高優先權封包),司機就走高速公路(專線/MPLS);
如果是普通員工(一般上網流量),司機就走一般平面道路(ADSL/Broadband)。
PBR 讓你可以根據「乘客身分」來決定路線,而不僅僅是「目的地」。

二、運作原理 (Mechanism)

技術細節

在 ExtremeXOS (以及大多數網路設備) 中,PBR 的處理優先權通常高於傳統路由表查表 (Routing Table Lookup)。

  1. 封包進入 (Ingress): 封包進入交換器的介面。
  2. 策略匹配 (ACL Match): 系統檢查該介面是否套用了 Policy/ACL。
    • ExtremeXOS 使用 .pol 策略檔案來定義。
  3. 執行動作 (Action):
    • 匹配 (Match):執行 redirect 動作,將封包強制送往指定的 Next Hop IP。
    • 未匹配 (No Match):封包回到標準轉發流程,查詢 RIB (Routing Information Base) 路由表。

ExtremeXOS 關鍵參數與指令

在 ExtremeXOS 中,PBR 是透過 ACL (Access Control List) 結合 redirect 動作來實現的。

Syntax 建立策略檔案 (pbr_policy.pol)

entry redirect_finance {
  if match {
    source-address 192.168.10.0/24; /* 財務部網段 */
  }
  then {
    redirect 10.1.1.254; /* 強制走專線 Gateway */
  }
}
entry default_flow {
  if match {
    all;
  }
  then {
    permit; /* 其他流量走正常路由 */
  }
}

注意: redirect 是 Layer 3 的轉發(改寫 Next Hop MAC),而 redirect-port 則是 Layer 2 的強制出埠 (不經過 Routing 邏輯)。PBR 通常指的是前者。

三、架構視覺化 (Visuals)

以下展示 PBR 的邏輯拓撲與封包處理流程。

圖表 1: PBR 應用拓撲 (分流架構)

graph TD subgraph 企業內部網路 UserA[財務部 PC
Src: 192.168.10.100] UserB[訪客 Guest
Src: 172.16.20.50] CoreSW{核心交換器
Extreme Switch
執行 PBR} end subgraph 外部線路 FW_MPLS[防火牆 A
MPLS 專線
Gateway: 10.1.1.254] FW_Internet[防火牆 B
一般 ADSL
Gateway: 10.1.1.1] end Cloud_HQ(總公司資料庫) Cloud_Web(Facebook/Youtube) UserA -->|VLAN 10| CoreSW UserB -->|VLAN 20| CoreSW CoreSW -->|PBR Match: Src 192.168.10.x
Action: Redirect 10.1.1.254| FW_MPLS CoreSW -->|No Match: Default Route
Gateway: 10.1.1.1| FW_Internet FW_MPLS ====> Cloud_HQ FW_Internet ====> Cloud_Web style CoreSW fill:#f9f,stroke:#333,stroke-width:2px style FW_MPLS fill:#bbf,stroke:#333 style FW_Internet fill:#bbf,stroke:#333

圖表 2: PBR 封包處理流程圖

sequenceDiagram participant Pkt as 進入封包 participant ACL as PBR Policy (ACL) participant PBR_Action as PBR 動作執行 participant RIB as 傳統路由表 (RIB) participant Egress as 出口介面 Pkt->>ACL: 封包進入 Ingress 介面 Note over ACL: 檢查 Source IP / Port 等條件 alt 規則匹配 (Match) ACL->>PBR_Action: 命中 PBR 規則 PBR_Action->>Egress: 修改 Next Hop IP 並轉發 (Redirect) else 無規則匹配 (No Match) ACL->>RIB: 未命中規則 RIB->>RIB: 查詢 Destination IP RIB->>Egress: 依路由表轉發 end

四、實務應用場景 (Use Case)

場景:企業多線路負載分流 (Source-Based Routing)

某大型企業同時擁有「昂貴但穩定的 MPLS VPN」與「便宜但頻寬大的 ADSL/光世代」。

ExtremeXOS 設定範例 (Configuration Example)

以下為在 Core Switch 上實作上述需求的完整指令步驟:

ExtremeXOS CLI # 步驟 1: 建立並編輯策略檔案 (使用 vi 編輯器)
edit policy pbr_mpls.pol

# -- 以下為編輯器內的內容 --
# 定義規則 1: 財務部流量轉向 MPLS
entry finance_to_mpls {
  if match {
    source-address 192.168.10.0/24;
  }
  then {
    redirect 10.1.1.254;
  }
}

# 定義規則 2: 其餘流量正常轉發 (避免被 Drop)
entry default_permit {
  if match {
    all;
  }
  then {
    permit;
  }
}
# -- 編輯結束,按 Esc 並輸入 :wq 存檔離開 --

# 步驟 2: 檢查策略語法是否正確
check policy pbr_mpls

# 步驟 3: 將策略套用到 Finance VLAN 的 Ingress 方向
configure access-list pbr_mpls vlan Finance_Vlan ingress

# 步驟 4: 驗證設定
show access-list
# 檢查 Hit Counter 是否隨著財務部流量增加

優點 (Pros)

  • 靈活性極高:不只看目的地,還能看來源或應用類型。
  • 成本優化:將低價值流量導向廉價線路。
  • 頻寬管理:避免非關鍵流量塞爆重要線路。

缺點 (Cons)

  • 維護複雜:故障排除困難,Traceroute 可能會顯示非預期的路徑。
  • 效能消耗:早期設備由 CPU 處理 PBR 會影響效能 (現代 Extreme Switch 多由 ASIC 硬體處理,影響較小)。
  • 單點故障風險:若指定的 Next Hop 當機,需配置 PBR 備援機制 (如 Ping Check)。

五、隨堂測驗 (Quiz)

請回答下列問題來檢視您的學習成果:

1. 在大多數網路設備中,PBR 與傳統路由表查表 (Routing Table Lookup) 的優先順序為何?
2. PBR 最常被用來依據什麼條件進行路由選擇?(與傳統路由最大的不同)
3. 在 ExtremeXOS 中,我們通常使用什麼工具來定義 PBR 的規則? Extreme
4. 如果一個封包進入介面,但不符合任何 PBR 的匹配規則,系統會如何處理?
5. 在 ExtremeXOS 的 Policy 文件中,使用哪個關鍵字來指定下一跳路由器的 IP? Extreme