第30篇:浮动静态路由:主备路径的最佳方案
关键词:浮动静态路由、路由备份、优先级、自动切换、主备路径
一、引言
在企业网络中,链路备份是提高网络可靠性的基础手段。浮动静态路由(Floating Static Route)通过配置不同优先级的静态路由,实现主备路径的自动切换:主路径正常时,主路由生效;主路径失效时,备份路由自动生效;主路径恢复后,自动切回主路径。这是最简单的链路备份方案,无需部署复杂的动态路由协议。
二、核心概念
2.1 浮动静态路由原理
浮动静态路由的本质是利用路由优先级的差异,让主备路由在路由表中形成"一主一备"的关系:
| 路由类型 | 优先级(Pre 数值) | 路由表状态 | 说明 |
|---|---|---|---|
| 主路由 | 数值较小(如 60) | Active(生效) | 优先级数值小=优先级高,进入路由表并参与转发 |
| 备路由 | 数值较大(如 80) | Inactive(不生效) | 优先级数值大=优先级低,未进入路由表(display 看不到),仅存在于配置 |
主路由失效(下一跳不可达或出接口 Down)时,备路由自动进入路由表变为 Active。
2.2 主备路由 vs 等价负载分担
| 维度 | 浮动静态路由(主备) | 等价静态路由(负载分担) |
|---|---|---|
| 优先级 | 不同 | 相同 |
| 开销值 | 可不同 | 相同 |
| 路由表状态 | 1 个 Active,1 个 Inactive | 全部 Active |
| 资源利用 | 主备链路只有一条承载流量 | 多条链路分担流量 |
| 故障切换 | 主链路失效后切换 | 某条链路失效后迁移流量 |
2.3 适用场景
| 场景 | 说明 |
|---|---|
| 双 WAN 链路备份 | 主 ISP + 备 ISP |
| 链路级备份 | 骨干链路 + 备份链路 |
| 低成本高可用 | 替代负载均衡设备的轻量方案 |
| 分支到总部 | 分支机构到总部的双上行 |
三、技术细节
3.1 主备路由的配置方法
# 主路由:优先级数值较小(60 < 80,更优)→ 优先生效
[HUAWEI] ip route-static 0.0.0.0 0 203.0.113.1 preference 60
# 备路由:优先级数值较大(80,较弱)→ 主路由失效时才生效
[HUAWEI] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
# 查看路由表
<HUAWEI> display ip routing-table
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 203.0.113.1 GE0/0/1 ← 主路由生效
# 备路由未显示(处于 Inactive 状态)
3.2 故障切换过程

3.3 链路状态联动
默认情况下,静态路由的失效判断依赖于路由表递归(下一跳不可达)。使用接口联动(Track)或 BFD/NQA 可实现更精细的故障检测。
# 配置 Track
[HUAWEI] track 1 interface GigabitEthernet 0/0/1
# 配置联动 Track 的浮动静态路由
[HUAWEI] ip route-static 0.0.0.0 0 203.0.113.1 track 1 preference 60
[HUAWEI] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
# 当 GE0/0/1 接口 DOWN 时,主路由立即失效,不再等待 ARP 超时
3.4 BFD 联动故障检测
使用 BFD(Bidirectional Forwarding Detection)实现毫秒级故障检测:
# 配置 BFD 会话(需对端支持 BFD)
[HUAWEI] bfd
[HUAWEI-bfd] quit
[HUAWEI] bfd atob bind peer-ip 203.0.113.1 interface GigabitEthernet 0/0/1
[HUAWEI-bfd-session-atob] discriminator local 10
[HUAWEI-bfd-session-atob] discriminator remote 20
[HUAWEI-bfd-session-atob] commit
[HUAWEI-bfd-session-atob] quit
# 主路由联动 BFD 会话(引用上面创建的会话名 atob)
[HUAWEI] ip route-static 0.0.0.0 0 203.0.113.1 track bfd-session atob preference 60
[HUAWEI] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
# BFD 检测到故障后 → 接口路由可达性 DOWN → 主路由切换到备路由
注意:华为 BFD 配置命令格式因 VRP 版本而异;上例为常用配置思路,实际部署请参考具体设备版本文档。
四、实战配置/案例分析
4.1 案例一:双 WAN 路由备份
网络拓扑:

路由器配置:
# 接口配置
[R] interface GigabitEthernet 0/0/0
[R-GigabitEthernet0/0/0] ip address 192.168.10.1 24
[R] interface GigabitEthernet 0/0/1
[R-GigabitEthernet0/0/1] ip address 203.0.113.2 30
[R] interface GigabitEthernet 0/0/2
[R-GigabitEthernet0/0/2] ip address 198.51.100.2 30
# 主路由(优先级 60)
[R] ip route-static 0.0.0.0 0 203.0.113.1 preference 60
# 备路由(优先级 80)
[R] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
# 验证主路由生效
<R> display ip routing-table 0.0.0.0 0
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 203.0.113.1 GE0/0/1
# 备路由未显示,处于 Inactive 状态
模拟主备切换:
# 模拟主链路接口 Down
[R] interface GigabitEthernet 0/0/1
[R-GigabitEthernet0/0/1] shutdown
[R-GigabitEthernet0/0/1] quit
# 验证备路由生效
<R> display ip routing-table 0.0.0.0 0
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 80 0 198.51.100.1 GE0/0/2 ← 备路由生效
# 恢复主链路
[R] interface GigabitEthernet 0/0/1
[R-GigabitEthernet0/0/1] undo shutdown
[R-GigabitEthernet0/0/1] quit
# 验证主路由恢复
<R> display ip routing-table 0.0.0.0 0
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 203.0.113.1 GE0/0/1 ← 切回主路由
4.2 案例二:NQA 联动检测 ISP 真实可达性
当 ISP 主干线路接口 UP 但实际不可达(如 ISP 内部故障)时,仅靠接口联动无法检测到,需使用 NQA(Network Quality Analysis)联动。
# 配置 NQA ICMP 测试
[R] nqa test-instance test1 icmp
[R-nqa-test1-icmp] destination-address ipv4 8.8.8.8
[R-nqa-test1-icmp] probe-count 3
[R-nqa-test1-icmp] interval seconds 3
[R-nqa-test1-icmp] timeout 4
[R-nqa-test1-icmp] frequency 15
[R-nqa-test1-icmp] start now
[R-nqa-test1-icmp] commit
[R-nqa-test1-icmp] quit
# 注意:frequency 需满足 frequency > (probe-count - 1) * interval + timeout + 1
# 本例:(3-1)*3 + 4 + 1 = 11,frequency=15 > 11 满足要求
# 若 frequency 过小,NQA 结果一直为 no result(只有 fail 才触发联动),路由不会切换
# 配置 Track 联动 NQA
[R] track 1 nqa test-instance test1 icmp reachability
# 主路由联动 NQA
[R] ip route-static 0.0.0.0 0 203.0.113.1 track 1 preference 60
[R] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
# 当 NQA 判定链路不可达时,主路由被置为非激活(从路由表删除),备路由生效
注意:上述 NQA 命令格式在部分 VRP 版本中可能略有差异;实际部署前请参考对应设备版本的产品文档。
4.3 案例三:主备优先级配置错误导致主备反转
故障现象:部署浮动静态路由后,备份链路成为主用链路,主链路成为备份。
# 查看路由表
<R> display ip routing-table 0.0.0.0 0
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 50 0 198.51.100.1 GE0/0/2 ← 备份路由生效!
# 检查配置
<R> display current-configuration | include route-static
ip route-static 0.0.0.0 0 203.0.113.1 preference 80 ← 主路由被配置为 80
ip route-static 0.0.0.0 0 198.51.100.1 preference 50 ← 备路由被配置为 50
# 优先级 50 < 80,主备反了
# 修复:恢复正确的优先级
[R] undo ip route-static 0.0.0.0 0 203.0.113.1
[R] ip route-static 0.0.0.0 0 203.0.113.1 preference 60
[R] undo ip route-static 0.0.0.0 0 198.51.100.1
[R] ip route-static 0.0.0.0 0 198.51.100.1 preference 80
五、总结
| 方案 | 检测速度 | 配置复杂度 | 适用场景 |
|---|---|---|---|
| 纯浮动静态路由 | 慢(依赖递归查找) | 低 | 主链路真故障检测 |
| + 接口联动 | 中(接口 DOWN 时切换) | 低 | 单链路故障检测 |
| + BFD 联动 | 快(毫秒级) | 中 | 关键业务秒级切换 |
| + NQA 联动 | 快(秒级) | 高 | ISP 上游链路检测 |
| 配置检查清单 | 说明 |
|---|---|
| 主路由优先级 < 备路由 | 确保主路由正常生效 |
| 主备路由目标网络相同 | 备份的是同一目标 |
| 下一跳可达 | 确保路由生效 |
| 保存配置 | save 防止重启丢失 |
思考
- 浮动静态路由的切换时间是多长?影响切换时间的因素有哪些?
- 如果主备链路都故障,路由表会如何?流量会丢到哪?
- 浮动静态路由与动态路由协议(OSPF/BGP)的优先级之间如何协调?
下篇预告:第31篇:路由环路是怎么产生的:TTL 计数器原理