策略路由(本地策略和接口策略)

会影响数据包的转发过程,不依赖于路由表,只要匹配到定义的策略,就可以进行转发

策略路由和路由策略差别:

路由策略可以对路由的引入,转发等行为进行控制,属于控制平面,为路由协议服务,并且路由策略中没有匹配到的会直接丢弃

策略路由是基于策略的转发,属于转发平面,需要逐跳配置策略,以保证策略可以正常转发,如果策略未匹配,再按照路由表转发

可以得出:策略路由是在查看路由表之前就执行,并且不会因为没有匹配就对数据包丢弃

策略路由分类:

1. 本地策略
需要在本机(配置的那台设备)下发,只会对本机发送的数据包进行匹配,如果是别的设备转发过来的不会生效

2. 接口策略
会对其他设备转发的数据包进行匹配,需要在接口的入方向进行调用(如果在出方向,路由表都以及查看完毕了,路也选好了,还要策略干啥呢)

语法格式:
本地策略使用的是:policy-based-route

一个policy里面可以绑定多个if-match,if-match之间是与关系
也可以都多个节点(node),不同的节点是或关系

policy-based-route xxx(策略名)  permit/deny  node 10
if-match xxxx  (eg:acl)
apply xxxxx  (eg:指定下一跳,优先级,开销....)

接口策略使用的MQC流策略

一个策略里面可以绑定多对流分类和流行为

traffic classifier xxx(name)---->里面调用acl一类的匹配工具(流分类)
traffic behavior xxx(name)-->里面配置匹配对匹配到的感兴趣流的行为(流行为)
traffic policy xxx(name)----->将流分类和流行为进行绑定

实验环境:

基于端口的vlan前沿技术有哪些 基于端口的策略路由_基于端口的vlan前沿技术有哪些

整个拓扑使用ospf协议,划分了一个区域area 0 ,主机的地址通过dhcp获取

配置:

sw1
undo te mo
sys
sys sw1
vlan ba 10 20 30 100
int g0/0/1
port l ac
port de vlan 10
int g0/0/2
port l ac
port de vlan 20
int g0/0/3
port l ac
port de vlan 30
int g0/0/4
port l ac
port de vlan 100
dhcp en
int vlan 10
ip add 192.168.10.254 24
dhcp select int
int vlan 20
ip add 192.168.20.254 24
dhcp select int
int vlan 30
ip add 192.168.30.254 24
dhcp select int
int vlan 100
ip add 192.168.100.253 24
ospf 1 router-id 100.100.100.100
a 0
net 192.168.0.0 0.0.255.255
----------------------------------------------------------------------
sys
sys rt1
int g0/0/0
ip add 192.168.100.1 24
int g0/0/1
ip add 12.0.0.1 24
int g0/0/2
ip add 13.0.0.1 24
ospf 1 router-id 1.1.1.1
a 0
net 12.0.0.0 0.0.0.255
net 13.0.0.0 0.0.0.255
net 192.168.0.0 0.0.255.255
----------------------------------------------------------------------
sys 
sys rt2 
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 24.0.0.2 24
ospf 1 router-id 2.2.2.2
a 0
net 12.0.0.0 0.0.0.255
net 24.0.0.0 0.0.0.255
---------------------------------------------------------------------
sys 
sys rt3 
int g0/0/0
ip add 13.0.0.3 24
int g0/0/1
ip add 34.0.0.3 24
ospf 1 router-id 3.3.3.3
a 0
net 12.0.0.0 0.0.0.255
net 34.0.0.0 0.0.0.255
--------------------------------------------------------------------
sys 
sys rt4
dhcp en
int g0/0/0
ip add 24.0.0.4 24
int g0/0/1
ip add 34.0.0.4 24
int g0/0/2
ip add 10.0.0.254 24
dhcp select int
ospf 1 router-id 4.4.4.4
a 0
net 24.0.0.0 0.0.0.255
net 34.0.0.0 0.0.0.255
net 10.0.0.0 0.0.0.255

配置完成后,主机分配到的地址分别是:

pc1

192.168.10.253/24

pc2

192.168.20.253/24

pc3

192.168.30.253/24

pc4

10.0.0.253/24

如果通过本地策略配置pc1到pc4从rt3上走,会有什么效果
配置:

rt1 
acl 2000
rule 5 permit source 192.168.10.0 0.0.0.255
policy-based-route ops permit node 10
 if-match acl 2000
 apply ip-address next-hop 13.0.0.3 
ip local policy-based-route ops

发现pc1仍旧从RT2上走,并没有匹配上RT1的策略

基于端口的vlan前沿技术有哪些 基于端口的策略路由_路由表_02

但是

在RT1上测试却发现,只有RT1的192.168.10.0才会从RT3上走(在RT1上设置了一个地址为192.168.10.100的回环口)
从抓包来看,对方回应的包并没有走RT3这条路

基于端口的vlan前沿技术有哪些 基于端口的策略路由_基于端口的vlan前沿技术有哪些_03


基于端口的vlan前沿技术有哪些 基于端口的策略路由_路由表_04

如果用接口策略配置会有什么样的效果

配置:

acl number 2000  
 rule 5 permit source 192.168.10.0 0.0.0.255 
#
traffic classifier pc1 operator or
 if-match acl 2000
#
traffic behavior pc1
 redirect ip-nexthop 13.0.0.3
#
traffic policy link
 classifier pc1 behavior pc1

手动指定下一跳是13.0.0.3,当pc1的数据包到达RT1后,接口处调用策略,查看是否匹配classifier中的if-match,匹配后按照行为将数据包发送到下一跳为13.0.0.3的路由器上,到达RT3后,发现没有策略,于是按照正常的路由表进行转发

并且不仅仅是对于本机(被配置的设备),转发设备也可以被匹配上

基于端口的vlan前沿技术有哪些 基于端口的策略路由_网络_05

整体策略的配置:

acl number 2000  
 rule 5 permit source 192.168.10.0 0.0.0.255 
acl number 2001  
 rule 5 permit source 192.168.20.0 0.0.0.255 
#
traffic classifier pc2 operator or
 if-match acl 2001
traffic classifier pc1 operator or
 if-match acl 2000
#
traffic behavior pc2
 redirect ip-nexthop 12.0.0.2
traffic behavior pc1
 redirect ip-nexthop 13.0.0.3
#
traffic policy link
 classifier pc1 behavior pc1
 classifier pc2 behavior pc2

因为pc3的网段需求是默认路径,则不需要进行额外的配置
验证可以看出pc2和pc3都是从RT2上进行转发

基于端口的vlan前沿技术有哪些 基于端口的策略路由_基于端口的vlan前沿技术有哪些_06