用户这边总部是一台F1000-9320-AI 的防火墙,两条外网,一条拨号,一条固定专线,配置了负载均衡。下面有三个分支,使用的是ER8200G2-X的路由器,一个分支是固定ip,另外两个是拨号上网的。 目前有一个拨号上网分支在一个月前和 上周四周五的时候,出现了断链的情况。但是通过 reset session table ipv4 source-ip X.X.X.X 和 reset session table ipv4 destination-ip X.X.X.X 之后,ipsec vpn 又能正常使用了。另外两个分支没有出现过这个情况。各位大佬麻烦看下有什么排障的方向。谢谢!
暂无评论
# F1000‑9320‑AI IPsec VPN 断链,清空会话表后恢复
>
> 组网摘要:总部 F1000‑9320‑AI,双出口(拨号宽带 + 固定专线,做链路负载均衡);分支 ER8200G2‑X,1 个分支固定 IP,2 个分支拨号动态 IP;**仅其中一个拨号分支周期性断 VPN,执行 reset session table 源 / 目的 IP 后业务恢复,另外分支无异常**。
>
> 现象特征:**清除会话表业务恢复,说明 IKE/IPSec SA 有可能还存在,但业务报文转发会话表异常;不是单纯 IKE 协商失败**。
## 最可能根因排序
### 根因 1:总部防火墙双出口负载均衡,IKE/IPsec 报文来回路径不一致(最优先怀疑)
总部有两条外网链路做负载均衡。
- 分支拨号(野蛮模式 IKEv1)发起 IKE 协商,报文从总部**A 链路进入防火墙**;防火墙回复报文,负载均衡选路选到**B 链路**;来回路径不一致。
- 防火墙会话表生成一条旧的五元组会话,后续分支公网 IP 发生变动 / 链路抖动,**旧会话表僵死残留**;SA 可能还存在,但业务流量匹配到错误旧会话,转发异常。
- 手动`reset session table`把僵死会话删掉,重新新建会话,业务立刻恢复。
>
> 为什么另外拨号分支没问题:另外分支流量刚好来回都走同一条出口,没有触发来回路径不一致。
>
> ⚠️重点:IPsec VPN(IKE 500/4500、ESP 50)报文**不能做负载均衡选路**,必须强制绑定固定出接口。
### 根因 2:该故障分支 ER8200G2‑X 拨号公网 IP 发生变更
分支是 ADSL 拨号,运营商会不定期重拨更换公网 IP。
1. ER8200G2‑X 拨号重获取新公网 IP,分支端主动重建 IKE SA;
2. 总部 F1000‑9320‑AI 上**旧的源 IP 会话表没有及时老化删除**;
3. 业务流量过来仍然匹配老会话条目,转发错乱;SA 可能残留旧条目;
4. 清空会话表,重新生成新源 IP 会话,业务恢复。
>
> 注意:野蛮模式 ID 类型用 name,IKE SA 可以正常重建,但**防火墙转发会话表独立于 IKE SA,会话表不会跟随 IKE SA 删除自动清理**。
### 根因 3:NAT‑T、SA 生存周期、会话表老化时间不匹配
- IKE SA、IPSec SA 生存周期、防火墙 UDP 会话老化时间三者差距过大;
- NAT‑T(UDP4500)长时间无流量,防火墙会话表老化,但是 IKE SA 还没超时,不会触发重新协商;后续业务报文过来无会话,不通;清会话恢复。
### 根因 4:防火墙会话表资源压力(概率偏低)
如果设备会话表占用率高,部分会话异常僵死;但一般会多分支同时出问题,本案例仅单一分支故障,优先级放后面。
## 现场排查步骤(故障复现时操作)
>
> 故障发生时,**不要立刻清会话,先收集信息**,清完会话现场证据就丢失。
1. 查看 IKE SA、IPSec SA 状态
```
display ike sa verbose
display ipsec sa verbose
```
>
> 重点:故障不通的时候,SA 是否还存在?
- ✅SA 还存在,业务不通:几乎就是**会话表 / 来回路径不一致问题**。
- ❌SA 已经消失:说明协商断了,需要看 IKE 调试 debug。
2. 查看该分支公网 IP 对应的会话表
```
display session table source‑ip 【分支公网IP】 verbose
display session table destination‑ip 【分支公网IP】 verbose
```
观察:IKE (500)、NAT‑T (4500) 会话的出接口,看是否来回报文接口不一致。
3. 查看设备会话表资源
```
display session table statistics
```
看会话表使用率是否过高。
4. 查看日志,确认分支拨号侧 IP 变更记录
```
display logbuffer | include aggressive
display logbuffer | include peer
```
看故障发生时刻,是否有分支 IKE 对等体重新协商记录,确认是否分支公网 IP 发生变化。
## 修复优化配置(总部 F1000‑9320‑AI 上实施)
### 优化 1:IPsec VPN IKE/NAT‑T 报文强制固定出接口(解决双出口来回路径不一致)
>
> VPN 的 IKE、ESP 流量**禁止参与链路负载均衡**,强制绑定到固定外网接口(优先专线接口)。
1. 配置流分类匹配 IPsec 相关报文
```
acl number 3000
rule permit udp eq 500
rule permit udp eq 4500
rule permit esp
```
2. 配置策略路由,强制 VPN 报文从固定外网接口(比如专线接口 G0/0/1)转发,不走负载均衡。
>
> 如果是链路负载均衡(LLB),在 LLB 配置中,配置**流量过滤策略,IKE/ESP 报文排除负载均衡调度,强制绑定某一条链路**。
### 优化 2:调整会话老化时间,对齐 IKE SA 生命周期
IKE SA 默认生存时间 86400s;UDP 会话默认老化时间一般 300s。
>
> 调大 UDP 会话老化,或者调小 IKE SA 超时,尽量对齐;开启 DPD 死亡对端检测。
```
ike peer xxx
dpd interval 10 retry 3 #开启DPD检测,快速发现对端IP变更/隧道失效
```
DPD 检测发现对端失效,会主动删除旧 IKE/IPSEC SA,连带触发相关会话重建,减少僵死会话。
### 优化 3:野蛮模式检查 ID 配置(ER8200G2‑X 分支 + 总部)
拨号分支动态 IP,IKEv1 野蛮模式,**ID 必须使用 name 类型,不要用 IP 地址 ID**。
- 总部 IKE peer 配置:`id‑type name remote‑name xxx`
- ER8200G2‑X 分支侧对应配置对等体名称。
>
> 如果用 IP 作为 ID,分支公网 IP 一变,IKE 协商直接失败。
### 优化 4:NAT 策略确认
确认 IPsec 感兴趣流,已经配置**不做 NAT(no‑nat 策略)**,不要被出口 NAT 改写。
## 临时规避与长期方案
1. 临时应急:不要手动敲命令清理会话,可以配置定时任务,针对该分支对等体定时清理旧会话;但治标不治本。
2. 根治:**IPsec IKE/ESP 报文不要参与双出口负载均衡调度**,这是多出口防火墙 IPsec 最经典坑点。
3. 版本建议:检查 F1000‑9320‑AI 版本,升级到官方稳定版本,排除会话表相关已知 bug。
## 补充:分支 ER8200G2‑X 侧检查点
1. ER8200G2‑X 的 WAN 拨号重拨,是否短时间频繁重拨;
2. ER8200G2‑X 侧同样开启 DPD;
3. ER8200G2‑X 确保 IPsec 绑定在拨号 WAN 口,不要发生 WAN 口切换。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论