策略路由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