視點:簡單介紹PBR策略路由使用方式
使用PBR策略路由有很多方式,于是我研究了一下PBR策略路由使用方式總結(jié),在這里拿出來和大家分享一下,希望對大家有用。這樣避免因為丟棄量的報文而導(dǎo)致很多ICMP的不可達消息返回。三層設(shè)備在轉(zhuǎn)發(fā)數(shù)據(jù)包時一般都基于數(shù)據(jù)包的目的地址(目的網(wǎng)絡(luò)進行轉(zhuǎn)發(fā)),那么PBR策略路由有什么特點呢?
1、可以不僅僅依據(jù)目的地址轉(zhuǎn)發(fā)數(shù)據(jù)包,它可以基于源地址、數(shù)據(jù)應(yīng)用、數(shù)據(jù)包長度等。這樣轉(zhuǎn)發(fā)數(shù)據(jù)包更靈活。
2、為QoS服務(wù)。使用route-map及PBR策略路由可以根據(jù)數(shù)據(jù)包的特征修改其相關(guān)QoS項,進行為QoS服務(wù)。
3、負(fù)載平衡。使用PBR策略路由設(shè)置數(shù)據(jù)包的行為,比如下一跳、下一接口等,這樣在存在多條鏈路的情況下,可以根據(jù)數(shù)據(jù)包的應(yīng)用不同而使用不同的鏈路,進而提供高效的負(fù)載平衡能力。
策略路由影響的只是本地的行為,所以可能會引起“不對稱路由”形式的流量。比如一個單位有兩條上行鏈路A與B,該單位想把所有HTTP流量分擔(dān)到A鏈路,F(xiàn)TP流量分擔(dān)到B鏈路,這是沒有問題的,但在其上行設(shè)備上,無法保證下行的HTTP流量分擔(dān)到A鏈路,F(xiàn)TP流量分擔(dān)到B鏈路。PBR策略路由一般針對的是接口入(in)方向的數(shù)據(jù)包,但也可在啟用相關(guān)配置的情況下對本地所發(fā)出的數(shù)據(jù)包也進行PBR策略路由。本文就PBR策略路由的以下四個方面做相關(guān)講解:
1.啟用PBR策略路由
2.啟用Fast-SwitchedPBR
3.啟用LocalPBR
4.啟用CEF-SwitchedPBR
啟用PBR策略路由:開始配置route-map。使用route-mapmap-tag[permit|deny][sequence-number]進入route-map的配置模式。使用match語句定義感興趣的流量,如果不定義則指全部流量。matchlengthminmax and/or matchipaddress{access-list-number|name}[...access-list-number|name]使用set命令設(shè)置數(shù)據(jù)包行為。
setipprecedence[number|name]
setipnext-hopip-address[...ip-address]
setinterfaceinterface-typeinterface-number[...typenumber]
setipdefaultnext-hopip-address[...ip-address]
setdefaultinterfaceinterface-typeinterface-number[...type...number]
這里要注意setipnext-hop與setipdefaultnext-hop、setinterface與setdefaultinterface這兩對語句的區(qū)別,不含default的語句,是不查詢路由表就轉(zhuǎn)發(fā)數(shù)據(jù)包到下一跳IP或接口,而含有default的語句是先查詢路由表,在找不到精確匹配的路由條目時,才轉(zhuǎn)發(fā)數(shù)據(jù)包到default語句指定的下一跳IP或接口。進入想應(yīng)用PBR策略路由的接口。應(yīng)用所定義的策略。注意必須在定義好相關(guān)的route-map后才能在接口上使用該route-map,在接口啟用route-map策略的命令為:在CiscoIOSRelease12.0之前,PBR策略路由只能通過“進程轉(zhuǎn)發(fā)”來轉(zhuǎn)發(fā)數(shù)據(jù)包,這樣數(shù)據(jù)包的轉(zhuǎn)發(fā)效率是非常低的,在不同的平臺上,基本在每秒1000到10,000個數(shù)據(jù)包。隨著緩存轉(zhuǎn)發(fā)技術(shù)的出現(xiàn),Cisco實現(xiàn)了Fast-SwitchedPBR,提升了數(shù)據(jù)包的轉(zhuǎn)發(fā)速度。啟用方法即在接口中使用iproute-cachepolicy命令。
注意:Fast-switchedPBR支持所有的match語句及多數(shù)的set語句,但其有下面的兩個限制:不支持setipdefaultnext-hop與setdefaultinterface命令。如果在route-cache中不存在set中指定的接口相關(guān)的項,那么僅在point-to-point時setinterface命令才能夠Fast-switchedPBR。而且,在進行“進程轉(zhuǎn)發(fā)”時,系統(tǒng)還會先查詢路由條目查看該interface是不是一個合理的路徑。而在fastswitching時,系統(tǒng)不會對此進行檢查。
啟用LocalPBR
默認(rèn)情況下,路由器自身所產(chǎn)生的數(shù)據(jù)包不會被PBR策略路由,如果想對路由器自身產(chǎn)生的數(shù)據(jù)包也進行PBR策略路由,那么需要在全局模式下使用如下命令來啟用:iplocalpolicyroute-mapmap-tag,啟用CEF-SwitchedPBR在支持CEF的平臺上,系統(tǒng)可以使用CEF-SwitchedPBR來提高PBR的轉(zhuǎn)發(fā)速度,其轉(zhuǎn)發(fā)速度比Fast-SwitchedPBR更快!只要你在啟用PBR的路由器上啟用了CEF,那么CEF-SwitchedPBR會自動啟用。注:iproute-cachepolicy僅僅適用于Fast-SwitchedPBR,在CEF-SwitchedPBR中并不需要,如果你在啟用了CEF的路由器上使用PBR時,這個命令沒有任何作用,系統(tǒng)會忽略此命令的存在。PBR配置案例:
案例1
路由器通過兩條不同的鏈路連接至兩ISP,對于從async1接口進入的流量,在沒有“精確路由”匹配的情況下,把源地址為1.1.1.1的數(shù)據(jù)包使用策略路由轉(zhuǎn)發(fā)至6.6.6.6,源地址為2.2.2.2的數(shù)據(jù)包轉(zhuǎn)發(fā)至7.7.7.7,其它數(shù)據(jù)全部丟棄。配置如下:
access-list1permitip1.1.1.1access-list2permitip2.2.2.2
!
interfaceasync1
ippolicyroute-mapequal-access
!
route-mapequal-accesspermit10
matchipaddress1
setipdefaultnext-hop6.6.6.6
route-mapequal-accesspermit20
matchipaddress2
setipdefaultnext-hop7.7.7.7
route-mapequal-accesspermit30
setdefaultinterfacenull0
案例2
在路由器針對不同流量,修改其precedencebit,并設(shè)置下一跳地址。對于1.1.1.1產(chǎn)生的流量,設(shè)置precedencebit為priority,并設(shè)置其下一跳轉(zhuǎn)發(fā)地址為3.3.3.3;對于2.2.2.2產(chǎn)生的流量,設(shè)置precedencebit為critical,并設(shè)置其下一跳轉(zhuǎn)發(fā)地址為3.3.3.5。配置如下:
access-list1permitip1.1.1.1
access-list2permitip2.2.2.2
!
interfaceethernet1
ippolicyroute-mapTexas
!
route-mapTexaspermit10
matchipaddress1
setipprecedencepriority
setipnext-hop3.3.3.3
!
route-mapTexaspermit20
matchipaddress2
setipprecedencecritical
setipnext-hop3.3.3.5