在网络设备中中流量的转发一般依据由 RIB 表指导生成的 FIB 表,但有时候我们希望对流量做些额外的操作:
- 独立控制某些流的转发 - PBR:Policy Based Routing;
- 对某些流量做过滤 - traffic-filter;
- 对流量有复杂且综合的控制策略 - MQC:Modular QoS Command-Line Interface;
一. PBR
对特定流量的转发将不再遵循路由表,而是走指定的转发路径,华为的配置结构如下:
policy-based-route PBR permit node 10 # 此处的 permit 代表满足条件应用 PRB,deny 则是满足条件则不应用,也不会调用 apply 动作
if-match acl 2000 # 可以有 0-n 条, 0 条时默认匹配所有,n 条时是与的关系
apply ip-address next-hop ip-address1 # 执行的动作
Hook:
# 接口上配置: 对从该接口进入的流量的转发行为做控制;
[Huawei-GigabitEthernet0/0/0] ip policy-based-route Policy-name
# 全局配置: 所有经过该设备转发的流量都将先由 PBR 匹配控制。
[Huawei] ip local policy-based-route Policy-name
应用场景:
- 防火墙旁路引流 - 旁挂的防火墙比串接的防火墙更具灵活性;
- 多出口的流量分配 - 企业有多个互联网出口,依据一定的规则(基于源之类的)对流量细分;
与 route-policy 的对比:
- route-policy 是对路由的操控,其最终效果直接反应在路由表中,间接影响流量转发;
- 因路由本身就无法实现基于源或 3 层以上的特征的匹配,所以 route-policy 也无法对流量做这些操作;
- PBR 则是对流量细化的操控,可以实现独立于路由表的复杂的流量操作。
二. traffic-filter
traffic-filter 是调用在接口上,使用 acl 来对流量做过滤的特异化工具;
[Huawei-GigabitEthernet0/0/0] traffic-filter outbound acl 3000
三. MQC
MQC - Modular QoS Command-Line Interface 基于一定的特征分类流,定义流的行为,形成流策略,相对于之前两个的特异化,MQC 可定制性更高,结构如下:
# 定义分类
[Huawei] traffic classifier classifier-name [ operator { and | or } ]
# 定义行为
[Huawei] traffic behavior behavior-name
# 综合分类和行为形成 policy
[Huawei] traffic policy policy-name
[Huawei-trafficpolicy-policyname] classifier classifier-name behavior behavior-name
Hook:
# 仅可挂载在接口
[HUAWEI-GigabitEthernet0/0/1] traffic-policy p1 inbound