一、核心概念 (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)。
- 封包進入 (Ingress): 封包進入交換器的介面。
- 策略匹配 (ACL Match): 系統檢查該介面是否套用了 Policy/ACL。
- ExtremeXOS 使用
.pol 策略檔案來定義。
- 執行動作 (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;
}
}
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/光世代」。
- 需求:
- Finance_Vlan (192.168.10.x):ERP 系統與財務資料必須走 MPLS VPN (Gateway: 10.1.1.254) 回總部。
- 其他流量:員工上網看 YouTube、訪客 Wi-Fi 流量必須走 ADSL (Gateway: 10.1.1.1),避免佔用專線頻寬。
ExtremeXOS 設定範例 (Configuration Example)
以下為在 Core Switch 上實作上述需求的完整指令步驟:
ExtremeXOS CLI
edit policy pbr_mpls.pol
entry finance_to_mpls {
if match {
source-address 192.168.10.0/24;
}
then {
redirect 10.1.1.254;
}
}
entry default_permit {
if match {
all;
}
then {
permit;
}
}
check policy pbr_mpls
configure access-list pbr_mpls vlan Finance_Vlan ingress
show access-list
優點 (Pros)
- 靈活性極高:不只看目的地,還能看來源或應用類型。
- 成本優化:將低價值流量導向廉價線路。
- 頻寬管理:避免非關鍵流量塞爆重要線路。
缺點 (Cons)
- 維護複雜:故障排除困難,Traceroute 可能會顯示非預期的路徑。
- 效能消耗:早期設備由 CPU 處理 PBR 會影響效能 (現代 Extreme Switch 多由 ASIC 硬體處理,影響較小)。
- 單點故障風險:若指定的 Next Hop 當機,需配置 PBR 備援機制 (如 Ping Check)。
五、隨堂測驗 (Quiz)
請回答下列問題來檢視您的學習成果: