策略路由PBR(Policy Based Routing)它是一種依據用戶制定的策略而進行流量轉發的機制。node
對本設備發送的報文實現策略路由,好比本機下發的ICMP、BGP等協議報文。
當用戶須要實現不一樣源地址的報文或者不一樣長度的報文經過不一樣的方式進行發送時,能夠配置本地策略路由。經常使用Policy-Based-Route工具來實現。安全
對本設備轉發的報文生效,對本機下發的報文不生效。
當用戶須要將收到的某些報文經過特定的下一跳地址進行轉發時,須要配置接口策略路由。使匹配重定向規則的報文經過特定的下一跳出口進行轉發,不匹配重定向規則的報文則根據路由表直接轉發。接口策略路由多應用於負載分擔和安全監控。經常使用Traffic-Policy工具來實現。app
基於鏈路質量信息爲業務數據流選擇最佳鏈路。
當用戶須要爲不一樣業務選擇不一樣質量的鏈路時,能夠配置智能策略路由。
通常在防火牆裏面會涉及到智能選路這一塊的內容ide
R1和R2路由器各自配置接口IP地址和環回地址,沒有啓動任何協議,讓其R1的1.1.1.1訪問R2的2.2.2.2的IP地址,咱們可使用PBR技術來實現此需求
工具
[R1]display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 8 Routes : 8 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0 12.1.1.0/24 Direct 0 0 D 12.1.1.1 GigabitEthernet 0/0/0 12.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet 0/0/0 12.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet 0/0/0 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 [R2]display ip routing-table protocol static Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Public routing table : Static Destinations : 1 Routes : 1 Configured Routes : 1 Static routing table status : <Active> Destinations : 1 Routes : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 Static 60 0 RD 12.1.1.1 GigabitEthernet 0/0/0 Static routing table status : <Inactive> Destinations : 0 Routes : 0 [R2]
# acl number 2000 rule 5 permit source 1.1.1.1 0 #
# policy-based-route PBR permit node 10 if-match acl 2000 apply ip-address next-hop 12.1.1.2 #
[R1]ip local policy-based-route PBR
[R1]ping 2.2.2.2 PING 2.2.2.2: 56 data bytes, press CTRL_C to break Request time out Request time out Request time out Request time out Request time out --- 2.2.2.2 ping statistics --- 5 packet(s) transmitted 0 packet(s) received 100.00% packet loss
得用源地址爲1.1.1.1的IP地址去訪問2.2.2.2oop
[R1]ping -a 1.1.1.1 2.2.2.2 PING 2.2.2.2: 56 data bytes, press CTRL_C to break Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=255 time=20 ms Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=10 ms Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=255 time=30 ms Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=255 time=30 ms Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=30 ms --- 2.2.2.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 10/24/30 ms
配置接口策略實現基於源的負載分擔,PC1訪問3.3.3.3走的路徑是AR1-AR2-AR3。PC2訪問3.3.3.3走的路徑是AR1-AR4-AR3
此時R1到達3.3.3.3的路由時負載的this
[R1]display ip routing-table 3.3.3.3 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 2 Destination/Mask Proto Pre Cost Flags NextHop Interface 3.3.3.3/32 OSPF 10 2 D 192.168.12.2 GigabitEthernet 0/0/0 OSPF 10 2 D 192.168.14.4 GigabitEthernet 0/0/1 [R1]
# acl number 2000 rule 5 permit source 192.168.1.1 0 acl number 2001 rule 5 permit source 192.168.1.2 0 #
# traffic classifier PC1 if-match acl 2000 traffic classifier PC2 if-match acl 2001 #
# traffic behavior R1-R2 redirect ip-nexthop 192.168.12.2 traffic behavior R1-R3 redirect ip-nexthop 192.168.14.4 #
# traffic policy PBR classifier PC1 behavior R1-R2 classifier PC2 behavior R1-R3 #
# interface GigabitEthernet0/0/2 traffic-policy PBR inbound #
在R1的路由表裏面仍是3.3.3.3是負載分擔方式 [R1]display ip routing-table 3.3.3.3 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 2 Destination/Mask Proto Pre Cost Flags NextHop Interface 3.3.3.3/32 OSPF 10 2 D 192.168.12.2 GigabitEthernet 0/0/0 OSPF 10 2 D 192.168.14.4 GigabitEthernet 0/0/1 [R1]
若是R1的G0/0/0接口故障呢?code
[R1-GigabitEthernet0/0/0]dis this [V200R003C00] # interface GigabitEthernet0/0/0 shutdown ip address 192.168.12.1 255.255.255.0 # return [R1-GigabitEthernet0/0/0] PC1訪問3.3.3.3
若是PBR可以匹配的話,走咱們PBR實現定義好的動做,若是PBR匹配不上,咱們就走路由表blog