在路由表之前做决定
策略路由的工作位置在常规路由查表之前:报文进入接口后先按策略匹配,命中则按策略指定的下一跳转发,未命中再走普通路由表。这让它适合按来源地址、协议或端口做出口分流的场景,例如让指定业务固定走某条线路。两个检查习惯能显著缩短排查时间:一是看策略的命中计数,计数为零说明分类条件根本没匹配上;二是确认策略指定的下一跳本身可达,下一跳不可达时策略会失效,流量要么被丢弃要么退回普通转发,具体行为依平台而定。
基本信息
| 实现方式 | 用 route-map 匹配后设置下一跳或出口接口 |
|---|---|
| 作用位置 | 通常在接口入方向生效,在路由查表之前 |
| 匹配条件 | 源地址、目的地址、协议、端口等,可组合 |
| 核对手段 | 查看 route-map 与 ACL 的命中计数 |
| 平台差异 | Cisco 用 route-map,华为用 route-policy 配合策略路由 |
典型使用场景
- 多出口分流:办公上网与生产业务分别指定出口
- 语音专线引流:把语音流量固定送到质量更好的线路
- 临时绕行:某路径故障期间把特定业务改到备用路径
- 回程路径修正:让特定源地址的流量走对称路径
- 灰度验证:新线路先承载小部分业务观察效果
配置示例
配置示例
ip access-list extended VOICE
permit udp 10.1.1.0 0.0.0.255 any eq 5060 # 匹配语音信令
!
route-map PBR-ISP2 permit 10
match ip address VOICE
set ip next-hop 198.51.100.9 # 指定备用出口下一跳
!
interface GigabitEthernet0/0
ip policy route-map PBR-ISP2 # 入方向应用
!
show route-map PBR-ISP2 # 看命中计数检查项与判断
| 检查项 | 正常表现 | 异常含义 |
|---|---|---|
| 命中计数 | 随业务增长 | 为零说明匹配条件未生效 |
| 下一跳可达性 | 路由表中有对应条目 | 不可达时策略失效或流量被丢 |
| 应用方向 | 与设计方向一致 | 方向搞反则策略完全不生效 |
| 未命中处理 | 按普通路由表转发 | 平台差异会导致不同兜底行为 |
策略路由与 NAT 的执行顺序在不同平台可能不同,改动其中一项前先确认本设备的处理顺序,否则容易出现「改了这里坏了那里」。
策略路由只影响本设备转发的流量;若还要控制回程路径,必须在另一端做对应设计,否则流量去回不一路。