策略路由
策略路由PBR(Policy Based Routing)它是一种依据用户制定的策略而进行流量转发的机制。
策略路由分类
本地策略路由:
对本设备发送的报文实现策略路由,比如本机下发的ICMP、BGP等协议报文。
当用户需要实现不同源地址的报文或者不同长度的报文通过不同的方式进行发送时,可以配置本地策略路由。常用Policy-Based-Route工具来实现。
接口策略路由:
对本设备转发的报文生效,对本机下发的报文不生效。
当用户需要将收到的某些报文通过特定的下一跳地址进行转发时,需要配置接口策略路由。使匹配重定向规则的报文通过特定的下一跳出口进行转发,不匹配重定向规则的报文则根据路由表直接转发。接口策略路由多应用于负载分担和安全监控。常用Traffic-Policy工具来实现。
智能策略路由:
基于链路质量信息为业务数据流选择最佳链路。
当用户需要为不同业务选择不同质量的链路时,可以配置智能策略路由。
一般在防火墙里面会涉及到智能选路这一块的内容
本地策略路由
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
第二步:用acl匹配出源地址
acl number 2000 rule 5 permit source 1.1.1.1 0
第三步:在R1上面创建PBR
policy-based-route PBR permit node 10 if-match acl 2000 apply ip-address next-hop 12.1.1.2
第四步:应用策略路由
ip local policy-based-route PBR
第五步:在R1上面pingR2的地址
[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=60 ms Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=255 time=30 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=20 ms Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=255 time=20 ms --- 2.2.2.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 20/32/60 ms
接口策略路由
配置接口策略实现基于源的负载分担,PC1访问3.3.3.3走的路径是AR1-AR2-AR3。PC2访问3.3.3.3走的路径是AR1-AR4-AR3
AR1、AR1、AR3、AR4运行ospf路由,区域为0
此时R4到达3.3.3.3的路由时负载的
[R4]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.14.1 GigabitEthernet 0/0/0 OSPF 10 2 D 192.168.24.2 GigabitEthernet 0/0/1 [R4]
第一步:通过ACL匹配数据流
acl number 2000 rule 5 permit source 192.168.1.1 0 acl number 2001 rule 5 permit source 192.168.1.2 0
第二步:创建2个流分类
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是负载分担方式 [R4]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.14.1 GigabitEthernet 0/0/0 OSPF 10 2 D 192.168.24.2 GigabitEthernet 0/0/1 [R4]
如果R4的G0/0/0接口故障呢?
如果PBR能够匹配的话,走我们PBR实现定义好的动作,如果PBR匹配不上,我们就走路由表