策略路由(Policy-Based Routing, PBR)配置

Administrator
Administrator
发布于 2026-03-05 / 0 阅读
0
0

策略路由(Policy-Based Routing, PBR)配置

策略路由(PBR)是一种基于用户定义策略而非目的地址进行转发决策的机制。与传统路由(基于最长前缀匹配)不同,PBR 可根据源 IP、协议类型、报文长度、DSCP 值等条件,将流量引导至指定下一跳、出接口或服务链(如防火墙、WAN 优化设备)。在华为 VRP5 平台中,PBR 通过 Route-Policy + Traffic Policy 实现。

1. PBR 应用场景

场景

说明

多出口选路

根据源地址选择不同 ISP 链路(如办公网走电信,服务器走联通)

流量调度

将关键业务(如 VoIP)导向低延迟链路

安全引流

将特定流量重定向至防火墙或 DPI 设备

负载分担

基于应用类型实现非对称负载

故障切换

主链路故障时自动切换至备份路径(需配合 NQA)

注意:PBR 仅影响转发平面,不改变路由表(display ip routing-table 不可见)。

2. PBR 工作原理(VRP5)

  1. 匹配条件:通过 ACL 或 MQC(Multi-Queue Complex)分类器定义流量特征

  2. 执行动作:在 Route-Policy 中指定下一跳、出接口或缺省下一跳

  3. 应用位置:在入方向接口(inbound)调用策略

  4. 处理顺序

    • 若匹配 PBR 规则 → 按策略转发

    • 若未匹配 → 回退到传统路由表转发

关键限制

  • VRP5 的 PBR 不支持基于出接口应用(仅入接口)

  • 不支持修改 DSCP、VLAN 等字段(仅转发决策)

3. 配置要素与命令速查

3.1 核心组件关系

ACL / MQC Classifier → Route-Policy (if-match + apply) → Interface (traffic-policy inbound)

3.2 关键命令说明

配置步骤

命令示例

说明

定义流量特征

[Router] acl 3000``[Router-acl-adv-3000] rule permit ip source 192.168.10.0 0.0.0.255

使用高级 ACL(3000–3999)匹配源/目的/协议

创建策略节点

[Router] route-policy PBR permit node 10

Route-Policy 用于定义转发动作

匹配 ACL

[Router-route-policy] if-match acl 3000

关联 ACL

指定下一跳

[Router-route-policy] apply ip-address next-hop 203.0.113.1

强制下一跳(必须可达)

指定出接口

[Router-route-policy] apply output-interface GigabitEthernet0/0/1

仅用于点对点链路(如 Serial)

应用到接口

[Router] interface GigabitEthernet0/0/0``[Router-GigabitEthernet0/0/0] ip policy-based-route PBR

入方向应用(VRP5 语法)

注意

  • apply ip-address next-hop 是最常用动作

  • 出接口方式在以太网中不推荐(需代理 ARP,易失败)

4. 典型配置示例

4.1 场景:多 ISP 出口选路

需求

  • 源地址 192.168.10.0/24 → 下一跳 203.0.113.1(电信)

  • 源地址 192.168.20.0/24 → 下一跳 198.51.100.1(联通)

  • 其他流量走默认路由

配置

# 步骤1:创建 ACL 匹配源网段
[Router] acl number 3000
[Router-acl-adv-3000] rule 5 permit ip source 192.168.10.0 0.0.0.255
[Router-acl-adv-3000] quit
​
[Router] acl number 3001
[Router-acl-adv-3001] rule 5 permit ip source 192.168.20.0 0.0.0.255
[Router-acl-adv-3001] quit
​
# 步骤2:创建 Route-Policy
[Router] route-policy MULTILINK permit node 10
[Router-route-policy] if-match acl 3000
[Router-route-policy] apply ip-address next-hop 203.0.113.1
[Router-route-policy] quit
​
[Router] route-policy MULTILINK permit node 20
[Router-route-policy] if-match acl 3001
[Router-route-policy] apply ip-address next-hop 198.51.100.1
[Router-route-policy] quit
​
# 步骤3:在内网接口应用 PBR
[Router] interface GigabitEthernet0/0/0   # 连接内网的接口
[Router-GigabitEthernet0/0/0] ip policy-based-route MULTILINK
[Router-GigabitEthernet0/0/0] quit

验证

  • 从 192.168.10.10 执行 tracert 8.8.8.8,第一跳应为 203.0.113.1

  • 路由表中仍存在默认路由,但 PBR 优先级更高

4.2 场景:关键业务引流至防火墙

需求

  • 所有访问服务器 10.1.1.100 的流量 → 先经过防火墙 192.168.100.2

配置

[Router] acl number 3002
[Router-acl-adv-3002] rule permit tcp destination 10.1.1.100 0 destination-port eq www
[Router-acl-adv-3002] rule permit tcp destination 10.1.1.100 0 destination-port eq 443
[Router-acl-adv-3002] quit
​
[Router] route-policy TO_FW permit node 10
[Router-route-policy] if-match acl 3002
[Router-route-policy] apply ip-address next-hop 192.168.100.2
[Router-route-policy] quit
​
[Router] interface GigabitEthernet0/0/1   # 用户接入接口
[Router-GigabitEthernet0/0/1] ip policy-based-route TO_FW
[Router-GigabitEthernet0/0/1] quit

5. 高级特性:PBR 与 NQA 联动(链路健康检测)

VRP5 支持 PBR 与 NQA(Network Quality Analysis)联动,实现智能链路切换

5.1 配置示例(主备链路)

# 步骤1:配置 NQA 测试实例
[Router] nqa test-instance admin isp1
[Router-nqa-test-admin-isp1] test-type icmp
[Router-nqa-test-admin-isp1] destination-address ipv4 203.0.113.1
[Router-nqa-test-admin-isp1] frequency 10
[Router-nqa-test-admin-isp1] start now
[Router-nqa-test-admin-isp1] quit
​
# 步骤2:在 Route-Policy 中引用 NQA
[Router] route-policy SMART_PBR permit node 10
[Router-route-policy] if-match acl 3000
[Router-route-policy] apply ip-address next-hop 203.0.113.1 track nqa admin isp1
[Router-route-policy] apply ip-address next-hop 198.51.100.1   # 备份下一跳
[Router-route-policy] quit

工作逻辑

  • 当 NQA 检测到 203.0.113.1 不可达时,自动切换至 198.51.100.1

  • 链路恢复后自动切回主路径

6. 注意事项

  1. 下一跳必须可达

    • PBR 不检查下一跳是否在路由表中,但若下一跳不可达,报文将被丢弃

    • 建议确保下一跳有直连路由或静态路由

  2. PBR 优先级高于传统路由

    • 即使路由表中有更优路径,匹配 PBR 的流量仍按策略转发

  3. 不支持本地生成报文

    • 路由器自身产生的流量(如 ping、SNMP)不受 PBR 影响

  4. 性能影响

    • PBR 需逐包匹配,可能增加 CPU 负载

    • 建议使用硬件支持的设备(如 S5700-EI 及以上)

  5. 调试命令

    [Router] display policy-based-route
    [Router] display ip policy-based-route statistics    # 查看命中计数

7. 故障排查要点

问题现象

检查步骤

PBR 未生效

1. 确认策略应用在入接口2. 检查 ACL 是否匹配实际流量3. display ip policy-based-route statistics 查看命中数

流量被丢弃

1. 检查下一跳是否可达(ping 下一跳)2. 确认出接口状态 UP

NQA 联动失效

1. display nqa results test-instance admin isp1 查看探测结果2. 确认 NQA 实例已启动

最佳实践

  • 使用 高级 ACL(3000+) 精确匹配流量

  • 为每个策略节点添加 描述性注释(通过 description

  • 在生产环境部署前,先在测试节点验证

  • 结合 NQA 实现高可用链路切换

通过合理配置 PBR,可实现灵活的流量工程,满足复杂网络环境下的业务需求。


评论