記事一覧に戻る
FortiGate IPsec 2025年10月3日

Dead Peer Detection (DPD)とは?FortiGateでの役割と設定方法

はじめに

IPsec VPNを運用していると、次のようなトラブルに遭遇することがあります。

  • 回線が切れているのに、VPNトンネルが「確立中」のまま残る
  • 通信が止まっているのに、セッションがクリアされずフェイルオーバーできない

このような「VPNが固まる」状態を防ぐ仕組みが DPD(Dead Peer Detection) です。
本記事では、DPDの仕組みとFortiGateでの設定方法、そして利用時の注意点について解説します。

DPDとは

  • Dead Peer Detection = VPNの対向装置が生きているかどうかを確認する仕組み。
  • ICMP(ping)ではなく IKEキープアライブメッセージ で判定するのが特徴。
  • 相手が応答しない場合、既存のセッションをクリアして 再ネゴシエーションを開始する。

これにより、「相手がダウンしているのにVPNが張りっぱなし」という状態を防ぎます。

FortiGateにおけるDPDのモード

1. on-demand(デフォルト)

動作

  • FortiGateが 自分からトラフィックを送信しているのに、一定時間応答がないとき にDPDを送信。
  • トラフィックが全く流れていないアイドル時には、原則としてDPDを積極的に送らない。

メリット

  • 不要なときにはDPDを送らないため、無駄な制御トラフィックを減らせる。
  • 帯域やCPU負荷を最小化できる。

デメリット

  • 完全アイドル時に回線が落ちても検知が遅れる。
  • 「夜間に落ちて、翌朝アクセスするまで発覚しない」といったケースが起こりうる。

利用シーン

  • ダイヤルアップ接続や、アクセス頻度が低いVPN。
  • トラフィックが流れるタイミングで検知できれば十分なケース。

2. on-idle(推奨)

動作

  • トラフィックの有無に関わらず、一定間隔で必ずDPDメッセージを送信。
  • 相手が応答しない場合はセッションを削除し、再ネゴシエーションを開始。

メリット

  • アイドル時でも確実に死活監視できる。
  • 回線障害や相手機器ダウンを早期に検知可能。
  • フェイルオーバーやSD-WAN切替の安定性が向上する。

デメリット

  • 常にDPDを送るため、わずかにオーバーヘッドが増える。
  • とはいえ現代の機器ではほぼ無視できるレベル。

利用シーン

  • 拠点間VPNの標準構成。
  • 冗長回線/SD-WAN環境でのフェイルオーバー検知。

3. disable(非推奨)

動作

  • DPDを使わず、IKEの再送やタイムアウトに任せる。

メリット

  • 古い機器でDPD非対応の場合の互換性確保。

デメリット

  • 相手がダウンしてもトンネルが張りっぱなしになる。
  • フェイルオーバーが遅れ、通信断が長引く。

利用シーン

  • 相手機器がDPD非対応の特殊ケース。
  • 通常の運用では避けるべき。

設定例

Phase1-Interfaceでの設定

config vpn ipsec phase1-interface
    edit "VPN-P1"
        set interface "wan1"
        set remote-gw 198.51.100.1
        set ike-version 2
        set dpd on-idle                # DPDモードを指定
        set dpd-retryinterval 10       # チェック間隔(秒)
        set dpd-retrycount 3           # 再試行回数
    next
end

動作イメージ

上記設定なら「10秒ごとにチェック → 応答なし3回」で、約30秒でセッションが切断され再ネゴシエーションが走る。

注意点

  • DPDはping監視ではない
    → IKEメッセージで確認するため、LAN側障害は検知できない。
  • 双方向で設定することが望ましい
    → 一方だけ有効だと「片側は切れたと判断、もう片側はまだ張れている」といった不一致が起きる。
  • SD-WANヘルスチェックと混同しない
    → DPDは「VPN対向の死活監視」、ヘルスチェックは「リンク品質の監視」。併用することでフェイルオーバーを確実にできる。

まとめ

  • DPDは IPsec VPNの死活監視機能。
  • モードは on-demand(節約型)、on-idle(確実型)、disable(非推奨)の3種類。
  • 拠点間VPN構成では on-idle がベストプラクティス。
  • dpd-retryinterval と dpd-retrycount を調整することで、検知速度を環境に合わせて最適化できる。