Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

VPN監視方法

このトピックを読むと、ファイアウォール内のVPNトンネルを監視できる複数の方法を理解できます。

VPNトンネルは常に最適に機能することを期待しています。しかし、現実世界のシナリオでは、そうはほとんど当てはまりません。VPNトンネルがダウンしている理由は複数あります。

Junos OSでは、VPNを監視するために以下の方法を提供しています。

  • インターネット制御メッセージプロトコル(ICMP)を使用してデータパスを確認するIPsecデータパス検証。

  • IKEピアのライブ性をチェックするためのデッドピア検出(DPD)プロトコル設定。

  • IPsecセキュリティアソシエーション(SA)の稼働性を確認するためのVPNトンネル監視設定

さらに、以下のグローバルVPN機能を監視に使用できます。

  • SA内のVPNピアは、ピアの1つが応答しない場合、同期しなくなる可能性があります。例えば、ピアの1つが再起動した場合、誤ったSPI(セキュリティパラメーターインデックス)を送信する可能性があります。不正なSPI応答機能を設定することで、デバイスがこのようなイベントを検出し、ピアを再同期できるようにすることができます。 respond-bad-spi max-responses オプションの詳細については、 IKE(セキュリティ)を参照してください。

  • ICMPリクエストを定期的にピアに送信して、ピアに到達可能かどうかを判断できます。 vpn-monitor-options オプションの詳細については、「 ipsec(セキュリティ)」を参照してください。

このトピックで説明した方法のいずれかを設定してVPNを監視できます。

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

プラットフォームに関連する注意事項については、「 プラットフォーム固有のVPN監視動作」 セクションを参照してください。

IPsecデータパス検証

IPsecデータパス検証は、トンネルエンドポイント間のデータパスを検証し、パスがクリアでトランジットファイアウォールによってブロックされていないことを確認するプロセスです。

IPsecデータパス検証が必要な理由

ルートベースVPNのポイントツーポイントモードにおけるセキュアトンネル(st0)インターフェイスの状態は、通常VPNトンネルの状態に基づいています。デバイスがIPsecセキュリティアソシエーション(SA)を確立すると、Junos OSはst0インターフェイスに関連するルートを転送テーブルに追加します。ネットワークにVPNトンネルエンドポイント間にトランジットファイアウォールがある場合、ファイアウォールはst0インターフェイス上のアクティブなルートを使用するIPsecデータトラフィックをブロックする可能性があります。その結果、トラフィック損失が発生する可能性があります。

このようなトラフィック損失を回避するには、IPsecデータパス検証を有効にする必要があります。この機能を有効にすると、Junos OSデバイスはデータパスを検証するまでst0インターフェイスを起動しません。以下のオプションを使用してデータパス検証を設定できます。

  • ルートベースおよびサイト間VPNトンネルのステートメント [set security ipsec vpn vpn-name vpn-monitor verify-path] で設定できます。

  • ピアトンネルエンドポイントの前にNATデバイスがある場合、ファイアウォールはピアトンネルエンドポイントのIPアドレスをNATデバイスのIPアドレスに変換します。VPN監視ICMPリクエストがピアトンネルエンドポイントに到達するには、NATデバイスの背後にあるピアトンネルエンドポイントの元の未変換のIPアドレスを明示的に指定する必要があります。これは、 [set security ipsec vpn vpn-name vpn-monitor verify-path destination-ip] 設定ステートメントで設定できます。

  • st0インターフェイスを立ち上げる前にIPsecデータパスを検証するために使用するパケットのサイズを設定できます。 [set security ipsec vpn vpn-name vpn-monitor verify-path packet-size] 設定ステートメントを使用します。設定可能なパケットサイズは、64〜1350バイトの範囲です。デフォルトは64バイトです。

IPsecデータパス検証を使用する場合は、以下の点に注意してください。

  • VPN監視操作用に設定した送信元インターフェイスと宛先IPアドレスは、IPsecデータパスの検証には影響しません。IPsecデータパス検証のICMPリクエストの送信元は、ローカルトンネルエンドポイントです。

  • IPsecデータパスの検証を有効にすると、st0インターフェイスが起動した後にのみ、Junos OSがVPN監視を自動的にアクティブ化します。IPsecデータパス検証を有効にする場合は、[edit security ipsec vpn vpn-name] 階層レベルでvpn-monitor optimizedオプション を設定することをお勧めします。

  • IPsecデータパスの検証中にシャーシクラスターのフェイルオーバーが発生した場合、新しいアクティブノードが検証を再開します。Junos OSは、検証に成功するまでst0インターフェイスをアクティブにしません。

  • IPsec SAのキー更新では、st0インターフェイスの状態はキー更新によって変更されないため、Junos OSはIPsecデータパスの検証を実行しません。

  • Junos OSは、AutoVPN、自動検出VPN(ADVPN)、および複数のトラフィックセレクターで使用されるポイントツーマルチポイントモードのst0インターフェイスでのIPsecデータパス検証をサポートしていません。

  • VPN監視とIPsecデータパス検証は、IPv6アドレスをサポートしていません。そのため、IPv6トンネルでIPsecデータパス検証を使用することはできません。

IPsecデータパス検証の仕組み

IPsecデータパス検証を設定すると、以下のイベントが発生します。

  1. デバイスは、VPNトンネルを確立した後、ICMPリクエストをピアトンネルエンドポイントに送信して、IPsecデータパスを検証します。ピアトンネルエンドポイントは、VPN監視ICMPリクエストによって到達可能であり、ICMPリクエストに応答できる必要があります。データパスの検証が進行中、show security ipsec security-association detail コマンド出力の VPN監視フィールドに文字Vが表示されます。

  2. Junos OSは 、ピアから応答を受信した場合にのみst0 インターフェイスをアクティブにします。show interface st0.x コマンドの出力は、 データパス検証 中および検証後のst0インターフェイスのステータスを示しています:検証が終了する前にLink-Layer-Down 、 検証が正常に終了した後はUp 。

  3. ピアがICMP応答を送信しない場合、デバイスは設定されたVPN監視のしきい値に達するまで、設定されたVPN監視間隔で別のICMPリクエストを送信します。デフォルトのVPN監視間隔は10秒、デフォルトのVPN監視しきい値は10回であることに注意してください。検証に成功しない場合、KMD_VPN_DOWN_ALARM_USERシステムログエントリーにVPN監視verify-pathエラーとして理由が示されます。デバイスは、show security ipsec security-association detail コマンド出力のトンネルイベントの下にエラーを記録します 。show security ipsec tunnel-events-statisticsコマンドは 、エラーの発生回数を表示します。 VPN監視間隔とVPN監視しきい値は、[edit security ipsec]階層レベルのvpn-monitor-options設定オプション を使用して 設定 できます。

  4. VPN監視のしきい値に達してもピアがICMP応答を送信しない場合、Junos OSはVPNトンネルをダウンさせ、VPNトンネルを再ネゴシエートします。

デッドピアの検出

デッドピア検出(DPD)は、ネットワークトラフィックを使用してIPsec接続内のIKEピアのライブ性を検出するスタンダードベースのプロトコルです。

DPDの仕組み

IPsecトンネルの作成中に、VPNピアはネゴシエートして、デッドピア検出(DPD)方式を使用するかどうかを決定します。ピアがDPD方式の使用に同意した場合、アクティブなトラフィックがない場合、DPDプロトコルは定期的にメッセージをピアに送信し、応答を待ちます。ピアがメッセージに応答しない場合、DPDプロトコルはピアが利用できなくなったとみなします。DPDの動作は、IKEv1プロトコルとIKEv2プロトコルの両方で同じです。DPDタイマーは、IKEがフェーズ1のセキュリティアソシエーション(SA)を確立するとすぐにアクティブになります。

ファイアウォールは、DPDプロトコルを使用してIPsec VPN接続のライブ性を検出します。

図1:DPDプロトコルNetwork communication setup between branch office and headquarters using SRX devices over the internet with data flow and DPD messages.でのメッセージ交換

図1は、IPsec VPNトンネル内のIKEピア間のDPDメッセージの交換を示しています。ファイアウォールデバイスがDPDを実行すると、以下のイベントが発生します。

  1. ファイアウォールSRX-Aは、指定されたDPD間隔まで待機し、ピアSRX-Bからトラフィックを受信したかどうかを確認します。

  2. 指定されたDPD間隔内にSRX-AがSRX-Bからのトラフィックを受信しない場合、暗号化されたIKEフェーズ1通知ペイロード(R-U-THEREメッセージ)をSRX-Bに送信します。

  3. SRX-A は、SRX-B からの DPD 確認応答(R-U-THERE-ACK メッセージ)を待ちます。

    1. この間隔の間にSRX-AがSRX-BからR-U-THERE-ACKメッセージを受信した場合、ピアは生きているとみなします。その後、SRX-A はそのトンネルの R-U-THERE メッセージ カウンターをリセットし、新しい間隔を開始します。

    2. 間隔中にSRX-AがR-U-THERE-ACKメッセージを受信しなかった場合、ピアであるSRX-Bがダウンしたとみなします。その後、SRX-A はそのピアのフェーズ 1 SA とすべてのフェーズ 2 SA を削除します。

設定可能なDPDパラメータ

設定する必要があるDPDパラメーターのリストは次のとおりです。

  • モード—トラフィックアクティビティに基づいて、以下のいずれかのモードでDPDを設定できます。

    • 最適化— 最適化 モードでは、開始側デバイスがピアに発信パケットを送信するときに、設定された間隔内にピアからIKEまたはIPsecトラフィックが受信しない場合、開始側デバイスはR-U-THEREメッセージをトリガーします。DPDは、別のモードを設定しない限り、このデフォルトモードで動作します。

    • プローブアイドルトンネル— プローブアイドルトンネル モードでは、設定された間隔内に着信または発信IKEまたはIPsecトラフィックがない場合、デバイスはR-U-THEREメッセージをトリガーします。デバイスは、トラフィックアクティビティが発生するまで、R-U-THEREメッセージを定期的にピアに送信します。このモードは、ダウンしているピアを早期に検出し、アクティブなトラフィックフロー中のトンネルの可用性を確保するのに役立ちます。

      注:

      このシナリオでは、プローブアイドルトンネルモードを設定すると、同じIKE SAに対して別のトンネルのトラフィックに関係なく、トンネルがアイドルになると、デバイスがR-U-THEREメッセージをトリガーします。

    • 常時送信— 常時送信 モードでは、デバイスはピア間のトラフィックアクティビティに関係なく、設定された間隔でR-U-THEREメッセージを送信します。 常時送信モードではなく、プローブアイドルトンネルモードを使用することをお勧めします。

  • 間隔— interval パラメーターを使用して、デバイスがR-U-THEREメッセージを送信する前にピアからのトラフィックを待機する時間(秒単位)を指定します。デフォルトの間隔は10秒です。R-U-THEREメッセージがピアデバイスに送信される許容間隔パラメーターの範囲は、2秒から60秒です。DPD間隔パラメーターが10秒未満に設定されている場合は、最小しきい値パラメーターを3に設定することをお勧めします。

  • しきい値— threshold パラメータを使用して、デバイスがピアがダウンしたと見なす前に、ピアから応答を受信せずにR-U-THEREメッセージを送信する最大回数を指定します。デフォルトの送信回数は5回で、許容されるリトライ回数は1回から5回です。

DPDを設定する前に、以下の点に留意してください。

  • アクティブなトンネルがある既存のゲートウェイにDPD設定を追加すると、デバイスはフェーズ1またはフェーズ2のSAをクリアせずにR-U-THEREメッセージのトリガーを開始します。

  • アクティブなトンネルがある既存のゲートウェイからDPD設定を削除すると、デバイスはトンネルのR-U-THEREメッセージのトリガーを停止します。ただし、これは IKE や IPsec SA には影響しません。

  • モード、インターバル、しきい値などのDPD設定パラメータを変更すると、IKEはフェーズ1またはフェーズ2のSAをクリアせずにDPD動作を更新します。

  • トンネルをすぐに確立するオプションを指定せずに、DPDとVPN監視を備えたIKEゲートウェイを設定した場合、IKEはフェーズ1ネゴシエーションを開始しません。DPDを設定する場合、[edit security ipsec vpn vpn-name ]階層レベルでestablish-tunnels immediatelyオプションも設定して、フェーズ1およびフェーズ2のSAが利用できない場合にst0インターフェイスを破棄する必要があります。establish-tunnelsオプションについては、vpn(セキュリティ)を参照してください。

  • 複数のピアIPアドレスとDPDでIKEゲートウェイを設定しても、最初のピアIPアドレスでフェーズ1のSAを確立できない場合、IKEは次のピアIPアドレスで確立を試みます。DPD は、IKE がフェーズ 1 SA を確立した後にのみアクティブになります。 デッドピア検出を参照してください。

  • 複数のピアと DPD で IKE ゲートウェイを設定しても、現在のピアの IP アドレスでは接続に失敗した場合、IKE はフェーズ 1 とフェーズ 2 の SA をクリアし、DPD は次のピア IP アドレスへのフェイルオーバーを行います。 ゲートウェイ(セキュリティ IKE)を参照してください。

  • 同時ネゴシエーションにより、複数のフェーズ1またはフェーズ2SAを同じピアに存在できます。この場合、DPDはすべてのフェーズ1SAにR-U-THEREメッセージを送信します。ゲートウェイが設定された回数連続してDPD応答を受信できない場合、フェーズ1SAと関連するフェーズ2SA(IKEv2のみ)をクリアします。

注:

DPD実装の詳細については、RFC 3706、A Traffic-Based Method of Detecting Dead Internet Key Exchange (IKE) Peersを参照してください。

IKEピアが生きている場合、基盤となるVPNが稼働していることを意味しますか?

ヒント:

DPDがIPsec SAの有効性を保証するかどうかを考えてみましょう。 VPNトンネル監視 を参照してください。

VPNトンネル監視

VPN監視は、VPNトンネルを監視するJunos OS独自の機能です。

デッドピア検出(DPD)プロトコルは、IKEピアのライブ性をチェックしますが、基盤となるVPNのライブ性を保証するものではありません。基盤となるVPNが稼働しているかどうかをチェックするための標準ベースの方法はありません。VPN監視は、IPsecセキュリティアソシエーションのライブ性をチェックするJunos OS独自のメカニズムです。

VPNトンネル監視の仕組み

VPN監視では、ICMP(インターネット制御メッセージプロトコル)エコー要求(またはping)と、ICMPパケット内のトンネルIDなどのシグネチャデータを使用して、VPNトンネルが稼働しているかどうかを判断します。

VPN監視を有効にすると、デバイスはVPNトンネルを介してピアゲートウェイまたはトンネルのもう一方の端にある指定された宛先にICMPエコー要求を送信します。デバイスは、デフォルトで10秒間隔で最大10回連続してリクエストを送信します。10回連続してpingを実行してもデバイスが応答を受信しない場合は、VPNがダウンしたとみなし、IPsecセキュリティアソシエーションをクリアします。

VPNトンネルを監視するには、以下の動作モードを使用します。

  • 常時送信モード—このモードでは、デバイスはトンネル内のトラフィックに関係なく、設定された間隔ごとにVPN監視パケットを1回送信します。VPN監視を有効にすると、指定しない場合、Junos OSは常時送信モードをデフォルトモードとして使用します。

  • 最適化モード—このモードでは、デバイスは、間隔中に発信トラフィックがあり、その間隔中にトンネルを通過する着信トラフィックがない場合にのみ、設定された間隔ごとにVPN監視パケットを送信します。VPNトンネルを介して受信トラフィックがある場合、デバイスはそのトンネルをアクティブとみなし、ピアへのpingの送信を停止します。最適化 モードを使用してデバイスのリソースを節約できます 。このモードでは、デバイスがピアのライブ性を確認する必要がある場合にのみ ping を送信するためです。また、pingを送信することで、他の方法では使用されないコストのかかるバックアップリンクをアクティブにすることもできます。

    最適化モードを明示的に設定しない場合、デバイスはデフォルトの常時送信モードで動作します。

デッドピア検出を設定する

開始する前に、IKEゲートウェイが設定されていることを確認します。詳細については、「 ゲートウェイ(セキュリティ IKE) 」を参照してください。

このトピックでは、ファイアウォールでデッドピア検出(DPD)プロトコルとそのパラメーターを構成する方法を学習します。デバイスをDPDで有効にするには:

  1. DPDモードprobe-idle-tunnel[edit security ike gateway gateway-name]階層レベルで指定します。詳細については、設定可能なDPDパラメータデッドピア検出を参照してください。
    ここではvpngw1を gateway-nameとして使用します。
  2. [edit security ike gateway gateway-name]階層レベルで間隔を設定します。詳細については、設定可能なDPDパラメータデッドピア検出を参照してください。
    ここでは、40秒の間隔を設定します。
  3. [edit security ike gateway gateway-name]階層レベルでしきい値を指定します。詳細については、設定可能なDPDパラメータデッドピア検出を参照してください。
    ここでは、しきい値を3に設定しています。つまり、デバイスはピアがダウンしたと見なす前に、ピアに3回pingを実行します。
注:

ファイアウォールがIPsec VPNサービスの iked プロセスを実行すると、ゲートウェイごとに複数のピアアドレスでDPDを使用できます。詳細については、「 ゲートウェイ(セキュリティ IKE) 」を参照してください。

VPNトンネル監視の設定

開始する前に、既存のVPNトンネルが必要です。

このトピックでは、VPNトンネル監視を有効にし、ファイアウォールでVPN監視に使用するpingパケットの間隔としきい値パラメーターを設定する方法を学習します。

  1. [edit security ipsec vpn vpn-name]階層レベルのvpn-monitorオプションを使用して、特定のVPNトンネルのVPN監視を有効にします。vpn-monitorを参照してください。
    ここでは、vpn1 を vpn-nameとして使用します。
  2. VPN監視モードをoptimizedとして設定します。
  3. 宛先IPアドレスを指定します。ピアゲートウェイのIPアドレスがデフォルトの宛先です。ただし、トンネルのもう一方の端にある別の宛先IPアドレス(サーバーのIPアドレスなど)を指定することはできます。
  4. source-interfaceアドレスを指定します。ローカルトンネルエンドポイントはデフォルトの送信元インターフェースですが、別のインターフェース名を指定することもできます。
  5. デバイスがpingを送信する間隔と、デバイスが送信する連続pingの数を、それぞれintervalオプションとthresholdオプションを使用して、[edit security ipsec vpn-monitor-options]階層レベルで設定します。これらのオプションを設定しない場合、デバイスはデフォルトの10秒間隔で、最大10回連続してpingを送信します。デバイスが応答を受信しない場合、デバイスはVPNがダウンしたとみなします。その後、デバイスはIPsecセキュリティアソシエーションをクリアします。ipsec(セキュリティ)を参照してください。
注意:

VPN監視は、パケットの送信元または宛先IPアドレスに基づいてピアがpingパケットを受け入れない場合、一部の環境でトンネルフラッピングが発生することがあります。

プラットフォーム固有の VPN監視 動作

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

お使いのプラットフォームに固有の動作を確認するには、以下の表を使用してください。

表1:プラットフォーム固有の動作

プラットフォーム

違い

SRXシリーズ

  • VPN監視をサポートするSRX5400、SRX5600、およびSRX5800デバイスでは、 vpn-monitor の宛先はローカルインターフェイスである必要があります。ファイアウォールは、PC などの外部接続デバイスの VPN 監視を実行できません。