两个定时器别混用
IPsec 里有两个名字相近但目的完全不同的定时器。DPD(对端失效检测)是探活机制:按配置周期发送探测报文,连续若干次没有回应就判定对端失效,进而触发清理 SA、切换备份隧道或让路由协议收敛。NAT-T 保活则是为了让中间设备的地址转换表项不过期:NAT 设备的映射有老化时间,长时间没有报文就会删除映射,于是两端周期性地发一个很小的保活包维持映射。把保活当成探活会导致故障发现不了,把探活周期设得过短又会在弱网上频繁误判,两个参数应按各自目的分别设置。
基本信息
| DPD 作用 | 探测对端是否存活,失败后触发切换 |
|---|---|
| NAT 保活作用 | 维持 NAT 映射不过期 |
| 典型取值 | DPD 10 秒 3 次;NAT 保活 20 秒 |
| 触发后果 | DPD 失败清理 SA 并由路由或备份接管 |
| 平台命令 | Cisco 用 crypto isakmp 系列,华为在 ike peer 下配置 |
| 查看 | show crypto ikev2 sa detail 中的 DPD 状态 |
典型使用场景
- 主备隧道切换:DPD 失效是切换的触发条件之一
- NAT 后长时间空闲链路:保活维持映射避免重协商失败
- 弱网环境:评估 DPD 周期与次数,减少误判
- 排障时区分断连原因:是探活超时还是映射过期
- 与路由协议联动:确认 DPD 失败后哪些机制会接管流量
Cisco 配置对照
Cisco 配置对照
# DPD:10 秒周期,3 次失败判失效
crypto isakmp keepalive 10 3
# NAT-T 保活:20 秒发一次小包维持映射
crypto isakmp nat keepalive 20
# IKEv2 侧的 DPD 配置
crypto ikev2 dpd 10 3 on-demand
! 查看 SA 详情与 DPD 状态
show crypto ikev2 sa detail
show crypto isakmp sa detail两者对照
| 维度 | DPD | NAT 保活 |
|---|---|---|
| 目的 | 检测对端存活 | 维持地址转换映射 |
| 失败后果 | 清理 SA 并触发切换 | 映射过期导致报文被丢弃 |
| 周期依据 | 故障检测时间要求 | NAT 设备映射老化时间 |
| 可用作探活 | 是 | 否 |
| 关闭影响 | 故障发现变慢 | 空闲链路更易中断 |
NAT 保活周期要比中间设备的映射老化时间短,具体值依据设备默认行为设定,无法获知时可从较小值起步观察。
DPD 在 on-demand 模式下按需探测(有出方向流量时才发),可减少空闲开销,但故障发现依赖流量存在,需结合业务特征选择。