IPSec DPD 模式
2025/10/29大约 2 分钟
IPSec DPD 模式
DPD 简介
- Dead Peer Detection(DPD)是一种机制,用于检测远程对等方(peer)是否仍然活跃。在 IPsec VPN 中,两个端点之间的连接可能会由于网络问题或其他原因中断,为了及时发现并处理这种情况,就引入了 DPD。
- DPD 通过在 IPsec SA(安全关联)之间定期交换检测消息来实现。这些消息通常是在 IKE(Internet Key Exchange)阶段协商的。如果一端在一定时间内没有收到来自对等方的 DPD 消息,就会认为对等方可能已经不再活跃,从而触发重新建立 IKE 通道或采取其他措施来恢复连接。
- DPD 参数不参与 IKE 协商,仅本地有效,本地的 DPD 配置决定自身的 DPD 探测机制。
DPD 模式
FortiGate 的 DPD 配置有 3 种模式:
- 禁用(disable):任何情况下都不发送 DPD 探测报文。一般情况下不建议选择此模式。
- 空闲(on-idle):IPSec 隧道内一个方向上没有流量(即 idle)时,在这个方向发送 DPD 探测报文;只有当 IPSec 隧道双向都有流量时,才不发 DPD 探测报文。推荐使用,可以较快地发现隧道中断。
- 按需(on-demand):只有 IPSec 隧道内单向有流量时,在这个方向上发送 DPD 探测报文,其他情况(双向都有流量或双向都没有流量)下都不发送 DPD 探测报文。较少的带宽占用和更少的 CPU 中断影响,但检测到隧道中断的速度较慢。
| 隧道建立阶段 | set dpd on-idle | set dpd on-demand |
|---|---|---|
| Tunnel 建立前 (阶段 1 已建立,阶段 2 未建立) | 有 DPD probe | 没有 DPD probe |
| Tunnel 建立后 (阶段 2 已建立,但没有 IPSec 流量) | 有 DPD probe | 没有 DPD probe |
| Ping over tunnel (Reques/Reply,IPSec 双向有流量) | 没有 DPD probe | 没有 DPD probe |
| Ping over tunnel (Reques/no reply,IPSec 单向流量) | Ping reply 方向有 DPD probe | Ping request 方向有 DPD probe |