策略路由(PBR)
- 路由策略与策略路由的区别:
- 路由策略:是一种规则,使用某种策略影响路由发布、接收或路由选择的参数而改变路由发现的结果,最终改变路由表的内容,其是在路由发现的时候产生作用,基于控制层面工作。
2)策略路由(PBR):通过流量策略来执行选路的一种转发手段,在某种特定的情况下,尽管当前路由表存在最佳路径,但是针对某些特别的主机(或应用、协议)使用指定的路径进行转发,其基于数据层面工作,在数据包转发的时候进行作用,不改变当前路由表的任何内容。
2、传统的路由表转发只能通过数据的目标地址做决策提供路由
策略路由可以根据原地址、目的地址、源端口、目的端口、协决策议、TOS等流量特征来决策提供路由、灵活性高;
3、路由表和策略路由的关系:
转发路由时,策略路由是先于路由表执行的,策略路由没有捕获的流量才会去执行路由表;
4、配置:
1)接口下配置——只能捕获该接口的入接口流量做策略;
acess-list 1 100 permit ip host 1.1.1.1 any //使用ACL捕获流量
Route-map pbr pemit 10 //定义route-map
Match ip address 100 //调用被ACL捕获的流量
Set ip next-hop 10.1.1.1 //设置下一跳
Int e0/1 //进接口
Ip policy route-map pbr //接口下调用
2)全局配置——能够捕获所有接口入接口以及本路由器产生的流量(源地址是本路由器地址)
acess-list 1 100 permit ip host 1.1.1.1 any 用ACL捕获流量
Route-map pbr pemit 10 //定义route-map
Match ip address 100 //调用被ACL捕获的流量
Set ip next-hop 10.1.1.1 //设置下一跳
Ip policy route-map pbr //全局接口下调用
3)冗余设置
acess-list 1 100 permit ip host 1.1.1.1 any
Route-map pbr permit 10
Match ip add 100
Set ip next-hop cerify-availability 10.1.24.2 1 track 1 //设置一个track监控,如果监控成功则执行该语句,如果不成功则转为执行下调set语句
Set ip next-hop 10.1.34.3 //设置另外一个下一跳
Track 1 ip sla 1 //定义一个track监控sla的结果
Ip sla 1 //定义sla
Icmp-echo 10.1.12.1 source-ip 10.4.4.4 //设置探针
Ip sla schedule 1 life forever start-time now //设置sla1的执行时间
4)default语句:
在route-map的set ip default 这个位置输入,定义为被捕获的流量的先查路由表,如果能精确匹配(如果抓的是10.5.5.5,路由表中有10.5.5.5/24这就不叫精确匹配,如果10.5.5.5/32则叫精确匹配)执行路由表,如果不能则执行策略路由;
acess-list 1 100 permit ip host 1.1.1.1 any //用ACL捕获流量
Route-map pbr pemit 10 //定义route-map
Match ip address 100 //调用被ACL捕获的流量
Set ip default next-hop 10.1.1.1 //设置下一跳
Int e0/1 //进接口
Ip policy route-map pbr //接口下调用
注:策略路由在转发层面是不如路由表的,原因是匹配的东西过多,底层芯片处理只支持有限;因此使用原则是能不用就不用,如果出现非目的地址的转发策略可以果断使用;
5、策略路由的其他功能——为流量打上TOS标记
Route-map pbr permit 10
Match ip address 1
Set ip precedence priority //设置队列优先级(优先出接口)