这套配置是在模拟器上搭的一个双链路 IPsec 主备隧道场景:
RouterA:本端,总部侧,业务网段 192.168.1.0/24(用 Loopback0 模拟)。
RouterB:对端,分支侧,业务网段 172.16.1.0/24。
两端之间有两条链路:
主链路:10.0.0.0/30(RouterA G0/0 ↔ RouterB G0/0);
备链路:10.0.1.0/30(RouterA G0/1 ↔ RouterB G0/1)。
两条链路上分别建立一条 IKEv2 IPsec 隧道(IPSECP1 / IPSECP2),对 192.168.1.0/24 ↔ 172.16.1.0/24 的流量进行加密。
目标:
正常时所有业务走主链路 IPsec 隧道;
主链路或主隧道出现故障时,自动切到备链路 IPsec 隧道;
主链路恢复后,自动切回。
本地受保护网段:Loopback0 192.168.1.1/24。
远端网段:172.16.1.0/24。
acl advanced 3100
rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 172.16.1.0 0.0.0.255
两条 IPsec 策略分别绑定在主备物理接口上:
interface GigabitEthernet0/0
ip address 10.0.0.1 255.255.255.252
ipsec apply policy IPSECP1
ipsec no-nat-process enable
interface GigabitEthernet0/1
ip address 10.0.1.1 255.255.255.252
ipsec apply policy IPSECP2
ipsec no-nat-process enable
ipsec policy IPSECP1 1 isakmp
transform-set TS
security acl 3100
remote-address 10.0.0.2
ikev2-profile IKEP1
ipsec policy IPSECP2 1 isakmp
transform-set TS
security acl 3100
remote-address 10.0.1.2
ikev2-profile IKEP2
业务路由(A → B 方向)是单一静态路由,下一跳根据主备状态在两条链路之间切换:
ip route-static 172.16.1.0 24 10.0.0.2 // 正常情况指向主链路
隧道本身一直存在,真正“切换”的是指向远端网段的静态路由,从而决定走哪条 IPsec 隧道。
NQA 周期性检测远端 Loopback(172.16.1.1),关键是显式指定了 next-hop 10.0.0.2,只探测主隧道:
nqa entry admin ipsec_primary
type icmp-echo
destination ip 172.16.1.1
source ip 192.168.1.1
next-hop ip 10.0.0.2
frequency 3000
probe count 3
reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
nqa schedule admin ipsec_primary start-time now lifetime forever
track 1 nqa entry admin ipsec_primary reaction 1
当通过主链 10.0.0.2 到 172.16.1.1 连续 3 轮探测失败时,Track 1 变为 Negative;
当探测恢复正常时,Track 1 变为 Positive。
因为 NQA 写死了 next-hop 10.0.0.2,所以:
不管业务路由目前指向 10.0.0.2 还是 10.0.1.2,NQA 始终监控的是“主链路 IPsec 隧道”的真实健康状态;
主链路恢复时,NQA 会第一时间感知到,从而触发“切回主路由”。
当 Track 状态变化时,EAA 自动下发命令修改静态路由。
主隧道探测失败 → 切换到备链路:
rtm cli-policy IPSEC_TO_BACKUP
event track 1 state negative suppress-time 30
action 0 cli system-view
action 1 cli undo ip route-static 172.16.1.0 255.255.255.0 10.0.0.2
action 2 cli ip route-static 172.16.1.0 255.255.255.0 10.0.1.2
user-role network-admin
主隧道恢复 → 切回主链路:
rtm cli-policy IPSEC_TO_PRIMARY
event track 1 state positive suppress-time 30
action 0 cli system-view
action 1 cli undo ip route-static 172.16.1.0 255.255.255.0 10.0.1.2
action 2 cli ip route-static 172.16.1.0 255.255.255.0 10.0.0.2
user-role network-admin
这样就实现了:
A 端业务转发的主备切换由 NQA+Track+EAA 自动完成;
IPsec 隧道本身不需要频繁建/删,只是业务流量在两条已经建立的隧道之间“换路”。
B 端配置更加简单,没有用到 NQA/EAA,只是做了:
同样在两条物理口上各建一条 IPsec 隧道:
interface GigabitEthernet0/0
ip address 10.0.0.2 255.255.255.252
ipsec apply policy IPSECP1
ipsec no-nat-process enable
interface GigabitEthernet0/1
ip address 10.0.1.2 255.255.255.252
ipsec apply policy IPSECP2
ipsec no-nat-process enable
对 192.168.1.0/24 配置两条静态路由,使用不同的 preference 实现主备:
ip route-static 192.168.1.0 24 10.0.0.1
ip route-static 192.168.1.0 24 10.0.1.1 preference 70
正常时,优先使用 preference 默认的主路由(10.0.0.1);
当主链路/主隧道不可达、下一跳失效时,路由表会自动回退到 preference 70 的备路由(10.0.1.1),从而把业务切到备隧道上。
加上对端对称的 ACL/IPsec/IKE 配置,B 端在整套方案里扮演的是一个“静态路由优先级 + IPsec”的被动主备角色。
正常情况
A:静态路由 172.16.1.0/24 指向 10.0.0.2,业务走主隧道 IPSECP1;
B:静态路由 192.168.1.0/24 首选 10.0.0.1,也走主隧道 IPSECP1;
NQA 探测通过主隧道访问 172.16.1.1 成功,Track 1 = Positive。
→ 双向流量都在主隧道上,备隧道处于“热备”状态。
主链路 / 主隧道故障
主物理链路或 IPSECP1 相关配置/SA 出现问题;
A 端通过 next-hop 10.0.0.2 的 NQA 探测多次失败 → Track 1 = Negative;
EAA 触发 IPSEC_TO_BACKUP,将静态路由改为 172.16.1.0/24 → 10.0.1.2;
B 端检测到 10.0.0.1 不可达后,自动使用 preference 70 的备路由 192.168.1.0/24 → 10.0.1.1。
→ 双向流量全部收敛到备链路 IPSECP2 上。
主链路恢复
主物理链路与主 IPsec 隧道恢复;
NQA 通过主链路再次成功访问 172.16.1.1 → Track 1 = Positive;
EAA 触发 IPSEC_TO_PRIMARY,将 A 端静态路由切回主链路 172.16.1.0/24 → 10.0.0.2;
B 端检测到 10.0.0.1 恢复可达后,再次优先使用主路由。
→ 业务自动从备隧道“抢回”到主隧道,形成完整的主备闭环。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作