策略路由不生效是什么问题
策略路由(PBR)按源地址、目的地址、协议端口等条件把流量强行导向指定出口或下一跳,优先级高于普通路由表查找。它不生效通常不是设备故障,而是四个环节之一出了问题:匹配条件没写准、策略应用在了错误的接口或方向、下一跳不可达、或者被更高优先级的策略先匹配走。按固定顺序核查,比反复修改配置更快定位。
基本信息
| 适用设备 | 华为 USG/AR、H3C、思科 IOS 等支持策略路由的网关设备 |
|---|---|
| 匹配要素 | 源地址、目的地址、协议与端口、入接口 |
| 应用位置 | 入接口方向生效,方向写错策略形同虚设 |
| 优先级 | 策略路由高于路由表;同表内按序匹配,先命中先生效 |
| 辅助手段 | 策略命中计数、会话表查询、接口抓包 |
典型使用场景
- 多出口办公网:要求访客网段只走一条线路,办公网段走另一条
- 指定业务走专线:数据库同步、备份流量不占用互联网出口
- 按目的地址分流:国内地址走本地出口,境外地址走另一条链路
- 双线路负载与备份:主线路故障时把流量牵引到备份线路
- 排查阶段临时牵引:为定位某条链路问题,把测试源地址强制指向特定出口
排查步骤
排查步骤
# 1. 查策略命中计数,确认流量到底有没有匹配上这条策略
# 2. 核对策略应用的接口与方向,是否落在流量的入接口上
# 3. ping 或探测下一跳,确认可达性与出接口是否与预期一致
# 4. 检查有无更靠前的策略先匹配,造成实际走的不是这条
# 5. 出口抓包看源地址与出接口,确认实际转发路径
# 6. 清会话或等老化后复测,避免旧会话掩盖新策略效果原因与验证方法
| 可疑原因 | 表现 | 验证方法 |
|---|---|---|
| 匹配条件不精确 | 部分流量未被牵引,部分被误牵引 | 查命中计数并列出实际源地址分布 |
| 应用方向错误 | 策略配置存在但计数长期为零 | 核对接口与 in/out 方向 |
| 下一跳不可达 | 流量被静默丢弃,不回退路由表 | 探测下一跳并查看接口状态 |
| 优先级冲突 | 行为随机,时好时坏 | 梳理策略顺序与路由优先级 |
| 探测联动异常 | 探测失败自动切换造成出口漂移 | 查看 NQA 或健康检查状态与切换记录 |
策略路由与普通路由最关键的差别是:下一跳不可达时流量通常被丢弃,而不是回落到路由表重新选路,所以主备牵引必须配合探测或健康检查。
修改策略路由可能让部分业务整体改道,变更前先记录原策略与命中情况,保留可快速还原的配置版本。