策略路由

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

[R2]

第二步:用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  
#

第四步:应用策略路由

[R1]ip local policy-based-route PBR

第五步:在R1上面pingR2的地址

[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.2

[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的路由时负载的

[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匹配数据流

#
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是负载分担方式
[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接口故障呢?

[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匹配不上,我们就走路由表