首页/网络/网络设备配置速查/策略路由不生效:命中与下一跳两查
设备排障72 条

策略路由不生效:命中与下一跳两查

PBR 不生效两步查:报文是否被策略命中(ACL/匹配条件)、命中的下一跳是否可达。命中了但下一跳不可达,报文会被丢弃或回落默认路由。

网络设备配置速查网络更新于 2026-10-13

策略路由为什么没生效

策略路由(PBR)的转发路径不来自路由表,而来自策略的匹配结果,所以它失效往往有两类原因:报文根本没被策略命中,或者命中了但指定的下一跳不可达。第一类要查匹配条件(ACL、源地址、报文长度等)和策略是否应用在正确的接口与方向;第二类要确认下一跳地址可达、出接口未 down、ARP 或邻居有解析结果。PBR 只影响本机流量转发,不改动路由表内容,因此排障时只盯路由表会完全跑偏。

基本信息

适用平台三厂通用(路由器与三层交换机)
思科命令族route-map + 接口下 ip policy route-map
华为/H3C 命令族policy-based-route 策略
生效范围仅本机转发,不改变路由表与其他设备的选路
关键检查点匹配条件是否命中、下一跳是否可达

典型使用场景

  • 双出口网络让特定业务走指定链路(如办公流量走专线、其余走宽带)
  • 旁路设备引流:把某些流量引到防火墙或审计设备上过一遍再放行
  • 按源地址分流:不同部门的流量从不同出口出去,用于带宽与审计隔离
  • 临时应急绕行:主链路故障时用 PBR 把关键业务引到备用路径
  • 验证策略是否正确:上线后确认命中计数增长,说明策略真的在起作用

华为与 H3C 查看

华为与 H3C 查看
<Huawei> display policy-based-route        ! 策略内容是否完整、是否已应用
<Huawei> display acl 3000                 ! 确认匹配条件与命中计数
display ip routing-table 10.2.2.0         ! 确认下一跳对应网段有没有路由
# H3C 命令同名,输出格式略有差异

思科 IOS 查看

思科 IOS 查看
SW-CORE-01# show route-map                 ! 各条 match/set 与序号
SW-CORE-01# show ip policy                 ! 接口上应用了哪张 route-map
SW-CORE-01# show ip access-lists 100       ! ACL 是否命中(看匹配计数)
SW-CORE-01# show ip route 10.2.2.2         ! 下一跳是否可达

两个检查点怎么判断

检查点判断依据不通过时的处理
策略命中ACL 或 match 的计数持续增长核对源地址、方向与应用接口是否正确
方向应用接口 inbound 方向已绑定策略补上接口下的策略引用命令
下一跳可达下一跳地址能 ping 通且有 ARP/邻居补路由或修正下一跳地址与出接口
接口状态出接口未 down、未被 shutdown恢复链路或改用可用出口
策略顺序先匹配到的规则先行生效调整序号,把精确规则放在靠前位置
PBR 命中的报文会按策略给出的下一跳转发,如果该下一跳不可达,报文通常被丢弃而不是自动回落到路由表,这也是配置正确但业务不通的最常见原因。
PBR 的匹配粒度比路由表更靠前,优先级高于普通路由但低于某些更精细的转发动作。做排障时先确认流量到底走在哪一层决策上,不要与路由表选路混在一起分析。

易错点

  • 只看路由表:PBR 不改路由表,路由表完全正常也可能业务走错出口,必须查策略与接口应用情况
  • 命中计数一直为零却不查 ACL:源地址写错、掩码写反、方向配成 outbound 都会导致策略空转
  • 下一跳不可达时以为会回落默认路由:多数平台会直接丢弃报文,业务中断且现象隐蔽
  • 忽略策略顺序:过于宽泛的规则排在前面会把精确规则完全遮住,表现为策略写了但没效果

数据来源与参考

  • 华为 PBR 命令
  • Cisco PBR route-map
  • H3C PBR 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌