策略路由
策略路由技术背景
在某些场景中我们希望一些特定用户、特定业务的流量走指定的转发路径,而其余用户或业务的流量则已经根据路由表进行转发
PBR
PBR(Policy-Based Routing,策略路由):PBR使得网络设备不仅能够基于报文的目的IP地址进行数据转发,更能基于其他元素进行数据转发,例如源IP地址、源MAC地址、目的MAC地址、源端口号、目的端口号、VLAN-ID等等
- 用户还可以使用ACL匹配特定的报文,然后针对该ACL进行PBR部署
- 若设备部署了PBR,则被匹配的报文优先根据PBR的策略进行转发,即PBR策略的优先级高于传统路由表
PBR结构
PBR与Route-Policy类似,又多个节点组成,每个节点由匹配条件(条件语句)和执行动作(执行语句)组成
每个节点内可包含多个条件语句,节点内的多个条件语句之间的关系为”与”,即匹配所有条件语句才会执行本节点内的动作。节点之间的关系为”或”,PBR根据节点编号从小到大顺序执行,匹配当前节点将不会继续向下匹配
PBR命令语法
PBR的节点匹配模式
- permit表示对满足匹配条件的报文进行策略路由
- deny表示对满足匹配条件的报文不进行策略路由
PBR与路由策略区别
名称 |
操作对象 |
描述 |
路由策略(Route Policy) |
路由信息 |
路由策略是一套用于对路由信息进行过滤、属性设置等操作的方法,通过对路由的操作和控制,来影响数据报文的转发路径 |
PBR |
数据报文 |
PBR直接对数据报文进行操作,通过多种手段匹配刚兴趣的报文,然后执行丢弃或强制转发路径等操作 |
PBR的分类
- 接口PBR
- 接口PBR只对转发的报文起作用,对本地始发的报文无效
- 接口PBR调用在接口下,对接口的入方向报文生效,缺省情况下,设备按照路由表的下一跳进行报文转发,如果配置了接口PBR,则设备按照接口PBR指定的下一跳进行转发
- 本地PBR
- 本地PBR对本地始发的流量生效,如:本地始发的ICMP报文
- 本地PBR在系统视图调用
MQC
MQC(Modular QoS Command-Line Interface,模块化QoS命令行)是指通过将具有某类共同特征的数据流划分为一类,并为同一类数据流提供相同的服务,也可以对不同类的数据流提供不同的服务
MQC包含三个要素
- 流分类(traffic classifier):匹配流分类,用于匹配感兴趣数据流。可基于VLAN Tag、DSCP、ACL规则
- 流行为(traffic behavior):将刚兴趣报文进行重定向,可以设置重定向的下一跳IP地址或出接口
- 流策略(traffic policy):将流分类和流行为绑定,对分类后的报文执行对应流行为中定义的动作
流分类
定义一组流量匹配规则,以对报文进行分类
流分类支持的匹配项:
流分类中各规则之间的关系
- and:当流分类中包含ACL规则时,报文必须匹配其中一条ACL规则以及所有非ACL规则;当流分类中没有ACL规则时,报文必须匹配所有非ACL规则
- or:报文只要匹配了流分类中的一个规则,设备就认为报文匹配中该流分类
流行为
用来定义执行的动作,支持报文过滤、重标记优先级、重定向、流量统计
流策略
将流分类和流行为绑定,对分类后的报文执行对应流行为中定义的动作
- 流策略支持在接口上调用
- 流策略存在方向(inbound、outbound)的概念,策略中的流行为匹配入、出方向的报文,对匹配中的报文执行相应的流动作
- 流策略不同于PBR,PBR只能调用在三层接口,而流策略支持调用在二层接口
流量过滤
为提高网络安全性,管理人员需要控制进入网络的流量,将不信任的报文丢弃在网络边界。所谓的不信任报文是指对用户来说存在安全隐患或者不愿意接收的报文。同时保证数据访问安全性,企业网络中经常会要求一些部门之间不能相互访问
流量过滤工具
Traffic-Filter部署位置
使用Traffic-Filter过滤流量可以灵活的选择部署位置,在流量进入设备或者离开设备的接口上执行过滤动作,双向访问的业务禁止其中一个方向即可实现阻断业务的需求
原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/273430.html