首页/网络/BGP 与广域网速查/DPD 与 NAT-T 保活:两种定时器别混用
IPsec VPN60 条

DPD 与 NAT-T 保活:两种定时器别混用

DPD 检测对端是否存活并触发邻居/路由切换;NAT-T 保活只为维持转换表项不过期,不用于故障检测。两者周期与目的都不同。

BGP 与广域网速查网络更新于 2026-10-13

两个定时器别混用

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

两者对照

维度DPDNAT 保活
目的检测对端存活维持地址转换映射
失败后果清理 SA 并触发切换映射过期导致报文被丢弃
周期依据故障检测时间要求NAT 设备映射老化时间
可用作探活是否
关闭影响故障发现变慢空闲链路更易中断
NAT 保活周期要比中间设备的映射老化时间短,具体值依据设备默认行为设定,无法获知时可从较小值起步观察。
DPD 在 on-demand 模式下按需探测(有出方向流量时才发),可减少空闲开销,但故障发现依赖流量存在,需结合业务特征选择。

易错点

  • 只配 NAT 保活而不配 DPD:对端真正失效时不会触发切换,流量黑洞持续到路由协议自己发现
  • 把 DPD 周期设得过短:广域网丢包即判失效,隧道反复重建
  • 两端 DPD 参数差异大:一端已判定失效并清理 SA,另一端仍认为正常,状态不一致
  • 保活周期长于 NAT 映射老化时间:空闲链路映射被删,业务恢复时报文被丢
  • DPD 失效后没有备份机制接管:SA 清理了但路由仍指向隧道,业务中断时间更长

数据来源与参考

  • RFC 3706: DPD
  • Cisco: keepalive 配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌