【入門編】 IPsecにおけるDead Peer Detection(DPD)の動作仕様 – ゼロトラスト&エンタープライズセキュリティ実践ガイド

VPNが「沈黙」した瞬間に備える──IPsecの守護神「DPD」の仕組みを紐解く

ネットワークエンジニアの皆さん、こんにちは。現場で設計や運用をしていると、「VPNのトンネルは繋がっているはずなのに、なぜか通信が通らない」という悪夢のような状況に遭遇したことはありませんか?

VPNは、インターネットという荒波の中に専用の「秘密のトンネル」を掘る技術です。しかし、このトンネルは物理的なパイプではないため、相手がどこか遠くでプツンと切れてしまっても、こちら側からは「まだ繋がっているつもり」でパケットを送り続けてしまうことがあります。

そんな「見えない断絶」をいち早く察知し、壊れたトンネルを再構築するために欠かせないのが、今回解説する DPD(Dead Peer Detection) という仕組みです。

—

DPDを「郵便配達」でイメージしてみよう

専門用語の前に、ちょっと日常的な例え話をしましょう。

あなたが海外の友人に重要な手紙を送るとします。あなたは「郵便局(VPNゲートウェイ)」を通じて手紙を出しますが、もし相手の住所が何らかの理由でなくなっていたらどうでしょう? あなたはいつまでも返事が来るのを待ってしまいますよね。

ここで、「定期的に『元気ですか?』という短い手紙を送り、返事がなければ『あ、もうこの人いないんだな』と判断する仕組み」があったらどうでしょうか?

これがまさに DPD(Dead Peer Detection) の役割です。

  • R-U-THERE(お前はそこにいるか?): こちらから相手に「生きてる?」と問いかけるパケットを送ります。
  • I-AM-ALIVE(私は生きています): 相手が「生きてるよ!」と返事を返します。
  • 沈黙(Dead): 何度問いかけても返事がない。ここで初めて「相手は死んだ(Dead Peer)」と判定します。

—

DPDの動作ロジック:しつこさと諦めが肝心

DPDがいつ「あ、こいつはもうダメだ」と判断するか、そのロジックは主に2つのパラメータで決まります。

1. Interval(間隔): 「どれくらいの頻度で問いかけるか」。例えば10秒に1回。
2. Retries(リトライ回数): 「何回返事がなかったら諦めるか」。例えば3回。

この設定だと、相手が反応しなくなってから「3回×10秒=30秒」経過した時点で、ようやく「トンネルは死んだ!」と判定し、古くなった接続セッションを強制的に破棄します。これによって、新しいトンネルを張り直すための準備が整うわけですね。

—

現場で役立つ!Ciscoルーターでの設定例

では、実際に現場でよく使われるCiscoルーターのコマンド設定を見てみましょう。設定は非常にシンプルですが、この数字一つでネットワークの「気付き」の速さが変わります。

! DPDの設定は crypto isakmp プロファイルの中で行います
crypto isakmp profile VPN_PROFILE
  ! 10秒ごとに確認パケットを投げ、3回連続で失敗したら「死んだ」とみなす
  keepalive 10 3 
  
  ! 日本語解説:
  ! 最初の10は「インターバル(秒)」、次の3は「リトライ回数」です。
  ! ネットワークが不安定な環境なら少し長めに、
  ! 高速な切り替えが必要なら短めに設定するのがコツです。

設定時の注意点

「じゃあ、1秒間に100回送るようにすれば最強じゃない?」と思うかもしれませんが、それは間違いです。あまりに頻繁に確認パケットを投げると、VPNゲートウェイのCPU負荷が上がり、本来の通信を圧迫してしまいます。「現実的な監視頻度」を見極めるのが、凄腕エンジニアの腕の見せ所です。

—

なぜ「DPD」の設定が重要なのか?

最近のゼロトラストアーキテクチャにおいても、VPNは依然として重要な入り口の一つです。DPDがないと、以下のような泥沼のトラブルに直面します。

  • ブラックホール化: 通信ができないのにセッションが残り続け、PCやサーバーが「通信できるはずだ」と思い込んでタイムアウト待ちを繰り返す。
  • 再接続の遅延: トンネルが死んでいると認識されるまで、新しいトンネルが張れず、業務が長時間停止する。

DPDは、単なる「死活監視」ではありません。「異常をいち早く正常に検知し、自動的に復旧プロセスへ繋ぐための自動修復スイッチ」なのです。

—

まとめ:ネットワークの健康診断を忘れずに

DPDは地味な機能ですが、これがあるおかげで私たちのネットワークは「壊れてもすぐに立ち上がる」という強さ(レジリエンス)を保っています。

初めてインフラに触れる皆さんは、まずは構築したVPN設定の中に keepalive や dpd といった単語が含まれているか確認してみてください。もし見当たらないなら、それは「相手が死んでいることにも気づけないトンネル」かもしれません。

トラブルが起きてから焦るのではなく、平時のうちに「いざという時にどうやって切断を検知するか」を設計しておくこと。それが、現場で信頼されるネットワークエンジニアへの第一歩です。

それでは、また次回の技術解説でお会いしましょう!

コメント

タイトルとURLをコピーしました