现象:电信主链路故障,RBM+NQA 探测 GRE 隧道 IP,成功切移动备用 VPN;电信链路恢复,NQA 探测 GRE 隧道已经恢复可达,但业务路由、VPN 不切回电信主链路,持续跑移动。 重点:H3C RBM 双机热备【默认不开启流量回切】,故障恢复不会自动抢占回主设备H3C。
RBM 视图下没有配置delay‑time X,流量回切功能默认关闭H3C。
行为逻辑:
✅开启回切配置(两台防火墙都要配置):
system‑view
remote‑backup group
# 开启回切,单位分钟;建议3‑5分钟,给GRE隧道、路由、VPN表项收敛预留时间
delay‑time 3
quit
⚠️注意:故障发生之后再敲这条命令,对本次故障无效,仅对下一次故障生效;必须故障发生前预先配置H3C。
虽然物理链路恢复,但 GRE 隧道接口 / 对端隧道 IP 还没有通,Track 状态没有变为 Positive,RBM 认为故障依旧存在,不会触发回切。
排查命令(主 / 备墙都执行)
display track all #查看track状态是否是Positive
display nqa history #看探测记录是否Succeeded成功
display nqa result
display interface Tunnel x #GRE隧道接口是否Up
display ip routing‑table #主路由是否重新生成
坑点:
优化:track 增加 positive 延迟,等待隧道协议收敛:
track 1 nqa entry admin test reaction 1 delay positive 30
# positive 30:探测成功后,延迟30秒再上报状态正常,等待GRE隧道完全up
RBM 对 VPN 同步限制:仅 IKEv1 策略模式 IPsec 支持表项备份;GRE 隧道本身配置同步,但隧道运行表项、会话不会实时备份H3C。
优化建议:
即使 delay‑time 配置完成,设备系统未达到稳态,不会执行抢占回切。
display system stable state
查看业务板、引擎是否全部 steady 状态;如果业务板不稳定,RBM 不会执行回切动作H3C。
display current‑configuration configuration remote‑backup group
确认输出存在delay‑time N;没有就配置delay‑time 3(两台设备都配)。
display track all
display nqa history
如果 Track 状态依旧 Negative:问题出在 NQA 探测本身(GRE 隧道没真正通、源 IP、策略放通探测报文) 如果 Track 已经 Positive,但不回切:就是 RBM 回切开关没有打开,或者系统未稳态。
display remote‑backup group status
看谁是 current‑master。链路恢复后,即便 track 全部正常,如果 current‑master 仍然是备墙,就是回切没有触发。
delay positive 20~30,GRE 隧道协议协商需要时间,不要探测一成功立刻上报。delay‑time,故障发生之后配置不生效。临时手动切回测试:
remote‑backup group
switchover
手动强制主备倒换,验证切回之后业务是否正常。
暂无评论
备墙切换到移动 VPN 之后,路由表里已经存在了「移动 GRE 学到 / 静态配置的目标网段路由」;电信链路恢复时,虽然你的 NQA/Track 检测到电信 GRE 隧道 IP 通了、主静态路由本身生效,但这条主路由的优先级不高于已经存在的移动侧路由,路由表不会把移动路由踢掉,流量继续走移动。
主墙测试正常、备墙测试不正常,关键点是:主备防火墙是两台独立设备,备墙的路由来源、优先级、VRF、GRE 隧道状态逻辑和主墙不一样。
补充:H3C GRE 隧道本身是无状态!默认 Tunnel 接口只要本地有到达隧道目的公网 IP 的底层路由,Tunnel 接口就会一直 UP,哪怕隧道对端不通,Tunnel 接口协议不会自动 down。你靠 NQA ping 隧道内网 IP 来做 track,这个检测方式本身没问题,但路由优先级、路由来源才是这次回切失败的核心。
H3C 静态路由默认 preference=60,如果电信主路由、移动备路由都配 pre 60,当两条路由同时有效时,设备会做等价路由 ECMP,或者保留先注入路由表的那条(先入为主!)
✅ 正确配置逻辑:
preference 60,绑定 track 1(检测电信 GRE 对端隧道 IP)preference 100(更大数值,浮动路由,只有主路由失效才进路由表)ip route-static 对端站点网段 255.255.255.0 Tunnel0 track 1 preference 60
ip route-static 对端站点网段 255.255.255.0 Tunnel1 preference 100
原理:只有主路由失效,高 pre 的备用路由才会浮上来;主路由恢复,pre 更小的主路由自动抢占,备用路由从路由表移除。
重点:备墙上面这两条路由的 pre 必须和主墙保持一致。很多人只在主墙配了浮动 pre,备墙忘记改。
场景:GRE 隧道内跑 OSPF,移动隧道起来后,OSPF 学到对端网段,OSPF 外部路由 pre=15,比静态 60 优先级更高。
这个非常典型:你以为是静态路由切换,实际 GRE 隧道里跑了动态路由,动态路由一旦注入路由表,静态路由抢不赢。
排查命令:
display ip routing-table 对端网段
看 Proto 字段:
S = 静态;O=OSPF;R=RIP。只要不是 S,就是动态路由抢占。备墙测试场景,NQA ping 对端电信 GRE 隧道 IP:
NQA 的 ICMP-echo 一定要指定源地址为电信 GRE 隧道的源 IP / 电信公网接口 IP,不能不写 source。
nqa entry admin gre-test
type icmp-echo
destination ip 对端电信隧道IP
source interface 电信公网接口
frequency 1000
同时检查 track 的 notification-delay positive(恢复延迟),如果设置很长,链路恢复后等很久才切。
GRE 隧道依赖底层公网路由到达隧道 destination 公网 IP(电信 / 移动对端公网 IP)。
现象:NQA ping 隧道 IP 通,track 状态 Positive,主静态路由生效,但 GRE 封装的外层报文还是走移动,业务流量不走电信。
排查:
display ip routing-table 电信GRE对端公网IP
看这条底层公网路由出接口是不是电信出口,不能走移动。
#1 看track状态,确认电信恢复后track是不是Positive
display track all
#2 看目标网段路由,确认是什么协议、优先级、出接口
display ip routing-table x.x.x.x(对端业务网段)
#3 看两条tunnel接口状态
display interface Tunnel0
display interface Tunnel1
#4 看NQA探测结果
display nqa result admin gre-test
display ip routing-table 对端网段H3C Tunnel 接口默认没有 keepalive,底层公网通,Tunnel 接口就 UP,哪怕对端隧道 down。 你现在是 NQA ping 隧道内网 IP 来检测,这个方案可行。如果想让 Tunnel 接口本身感知隧道对端故障,可以配置:
interface Tunnel0
tunnel keepalive 5 3
5s 发送,重试 3 次失败,Tunnel 协议 down,绑定在 Tunnel 接口的静态路由直接失效。
暂无评论
你遇到的这个问题,核心原因在于RBM主备状态与路由/隧道状态出现了脱节。简单来说,电信链路恢复后,备墙虽然检测到了,但控制路由切换的“开关”(Track项)并未同步恢复,导致它认为电信方向依旧不可用,因此路由无法切回。
检测对象错位:你在备墙上检测的是“对端GRE隧道IP”,这不同于直接检测“公网下一跳”。如果备墙的GRE隧道因配置冲突(如源地址与主墙相同)而未能恢复UP状态,那么负责切换路由的Track项就会持续为Negative,路由自然不会切回电信。
RBM与路由控制脱节:RBM负责主备状态切换,而静态路由本身不会感知RBM状态。当电信恢复后,如果备墙上关联电信路径的Track项仍为Negative,那么指向移动的备用路由会因优先级更高而继续生效。
备墙角色与抢占延迟:在RBM主备模式下,默认流量回切功能可能未开启,或回切延迟(delay-time)设置过长,导致备墙在电信恢复后仍长时间保持业务主状态,不将流量回切。
在备墙上执行以下命令,确认关联电信路径的Track项状态:
重点关注Track项状态是 Positive(正常)还是 Negative(异常)。如果电信恢复后仍为Negative,说明NQA探测失败或Track未联动。
接着检查NQA测试结果:
确认对端GRE隧道IP是否可达。如果不可达,需排查备墙GRE隧道的源/目的地址、路由及对端配置。
将NQA检测目标从“对端GRE隧道IP”改为检测电信公网的下一跳网关IP。这样只要电信线路本身恢复,Track项就能立即变为Positive,触发路由回切。
注意:如果无法修改检测对象,也可在备墙上配置EAA(Embedded Automation Architecture),通过脚本在NQA状态恢复后自动执行命令,间接实现路由回切。
确保RBM的流量回切功能已开启,并设置合理的抢占延迟,避免链路抖动导致频繁切换:
同时,检查 delay-time 参数,它控制RBM切换后的延迟时间,建议设置为30秒至5分钟,给路由收敛留出足够时间。
在备墙上执行 display interface tunnel,确认电信方向的GRE隧道接口状态是否为 UP。如果为DOWN,说明隧道本身未建立成功,需要检查:
隧道源地址(通常为备墙的电信接口IP)是否正确。
隧道目的地址是否可达。
对端是否允许备墙建立隧道(部分场景下对端可能只允许主墙的隧道源地址)。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论