一、Enable PBR
route-map xxxx permit 10
match length min max //最小包長度,最大包長度
match ip address //IP ACCESS-LIST
set ip precedence //優先級
set ip next-hop //下一跳
set interface //輸出接口
set ip default next-hop //未清晰指定情況下,預設下一跳
set default interface //未清晰指定情況下,預設出口
int s0/0
ip policy route-map xxxx //應用于接口,注意指令
注意:match語句後面可接多個ACL,它們是或運算,隻需比對其中一個就會繼續執行下面的語句
多個match語句時,需全部比對才能執行SET語句(橫向為或運算,縱向為與運算)
當沒有match語句時為全部比對,match語句的ACL為空時也為全部比對;每個ROUTE-MAP後面都會有條預設語句route-map XXX deny 65535
本路由器産生的資料不會比對政策路由,需設定ip local policy route-map xxx
還有一條指令用來驗證下一跳是否可達
set ip next-hop verfy-avaliability
二、Enable Fast-Switched PBR
之前版的IOS,實施PBR後,采用的是process-switched處理機制,每秒隻有1000-10000個包的傳輸速率。
12.20後,可以進行fast switching,快速轉發.
打開快速轉發的指令是:
router(config-if)#ip route-cache policy
// show ip cache policy
// show ip policy
注意:
1、set ip default next-hop
set default interface
與fast switching不相容。
2、set interface隻用于point-to-point接口上,如有多出口時,會查詢路由表(PROCESS BASED),但是運作fast switching後,便不再做查詢,不管路由存在否都進行轉發。可能會出現錯誤。
三、Enable Local PBR
router(config)# ip local policy route-map xxxx
// show ip local policy
四、Enable CEF-Switched PBR
比fast switching有更好的效果,隻需簡單地ip cef即可。
激活ip cef時不需再激活:ip route-cache policy
// 案例 //
一、進入asynchronous interface 1的資料包,如果源自1.1.1.1并且沒有明确路由指向則轉發至6.6.6.6。如果源自2.2.2.2并且沒有明确路由指向的則轉發至7.7.7.7。所有其它流量被丢棄。
access-list 1 permit 1.1.1.1
access-list 2 permit 2.2.2.2
int async 1
ip policy route-map equal-access
route-map equal-access permit 10
match ip address 1
set ip default next-hop 6.6.6.6
route-map equal-access permit 20
match ip ad 2
set ip default next-hop 7.7.7.7
route-map equal-access permit 30
set default interface null0
二、源自1.1.1.1的資料包被發往3.3.3.3并且precedence被置為priority,源自2.2.2.2的被發往3.3.3.5并且precedence被置為critical。
備注:routine 0
priority 1
immediate 2
flash 3
flash-override 4
critical 5
internet 6
network 7
int e1
ip policy route-map xxxx
match ip ad 1
set ip precedence priority
set ip next-hop 3.3.3.3
route-map xxxx permit 20
set ip precedence critical
set ip next-hop 3.3.3.5
本文轉自 tangfangxiao 51CTO部落格,原文連結:http://blog.51cto.com/tangfangxiao/629620