文書番号: 314831 - 最終更新日: 2005年12月8日 - リビジョン: 2.1

Windows XP での L2TP/IPSec の基本的なトラブルシューティング

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
Microsoft Windows 2000 については、次の資料を参照してください。259335? (http://support.microsoft.com/kb/259335/ )

目次

すべて展開する | すべて折りたたむ

概要

この資料では、Windows XP におけるレイヤ 2 トンネリング プロトコル (L2TP) および IPSec (Internet Protocol Security) のトラブルシューティングについて説明します。

詳細

L2TP は、異なるネットワーク間で PPP (Point to Point Protocol) トラフィックの転送を可能にする標準です (RFC (Request for Comments) #2661 に記述されています)。L2TP は IPSec と組み合わされ、IP (Internet Protocol)、IPX (Internetwork Packet eXchange)、および IP ネットワークを経由するその他のプロトコルのパケットにトンネリングとセキュリティの両方を提供します。

L2TP は、PPP フレーム (可能な場合、圧縮を実行) の内部およびポート 1701 に割り当てられた UDP (User Datagram Protocol) 型のパケットの内部の元のパケットをカプセル化します。UDP パケットの形式は IP パケットなので、L2TP は L2TP トンネルのユーザー構成のセキュリティ設定に従い、トンネルをセキュリティで保護するために、自動的に IPSec を使用します。IPSec IKE (インターネット キー交換) プロトコルは、デフォルトで証明書ベースの認証を使用して、L2TP トンネルのセキュリティをネゴシエートします。この認証処理は、送信元と送信先の双方のコンピュータが相互に信頼関係にあることを確認するために、ユーザーの証明書ではなくコンピュータの証明書を使用します。IPSec トランスポートのセキュリティが正常に確立されると、L2TP は (圧縮とユーザー認証のオプションを含め) トンネルをネゴシエートし、ユーザー識別に基づくアクセス制御を実行します。

L2TP/IPSec パケットの構造は、次の例のようになっています。PPP ペイロードには、元の IP データグラムが含まれ、斜体のテキストは IPSec で暗号化される部分を表しています。
|IP header|IPSec ESP header|UDP header|L2TP header|PPP header|PPP payload|IPSec ESP trailer|IPSec Auth trailer|
MPPE (Microsoft Point-to-Point 暗号化プロトコル) は、EAP-TLS (拡張認証プロトコル トランスポート層セキュリティ) または MS-CHAP (Microsoft チャレンジ ハンドシェイク認証プロトコル) が使用されるときに、PPP ペイロードをセキュリティで保護するために使用されることがあります。MPPE は、L2TP ピア (クライアントまたはサーバー) が MPPE を要求したときに、Windows によりネゴシエートされます。

MPPE は RSA (Rivest-Shamir-Adleman) RC4 ストリーム暗号、および 40 ビット、56 ビット、または 128 ビットのいずれかの秘密キーを使用します。MPPE キーは MS-CHAP および EAP-TLS ユーザー認証の処理から生成されます。リモート アクセス サーバーは、データの暗号化を要求するように構成できます。リモート アクセス クライアントが要求された暗号化を実行できない場合、接続は拒否され、次のエラー メッセージ (#742) が表示されます。
リモート コンピュータでは、要求されたデータの暗号化の種類はサポートされません。
IPSec は PPP の開始前にネゴシエートされます。MPPE は PPP の開始後にネゴシエートされます。PPP は IPSec を使用して L2TP の上位で動作します。PPP 認証フェーズの間、構成された認証プロトコル (MS-CHAP など) を使用して、ユーザー名が VPN (仮想プライベート ネットワーク) サーバーの RAS (リモート アクセス サーバー) コンポーネントに送信されます。RAS サーバーは、ユーザー名およびその他の呼び出しプロパティをリモート アクセス ポリシーと照合します。それぞれのポリシーにはプロファイルがあり、RAS は受信呼び出しの条件をプロファイルと比較し、接続要求を受け入れるかどうかを判断します。

注意事項

  • VPN クライアントが NAT (Network Address Translation) を実行しているネットワーク デバイスの背後にある場合、暗号化された IPSec ESP (Encapsulating Security Payload) パケットが破損するため、L2TP セッションは失敗します。VPN クライアントが Windows インターネット接続の共有/ネットワーク アドレス変換と同一のコンピュータ上にある場合、NAT が自身のノードで生成されるパケットの IP アドレスやポートを変換しないため、そのクライアントは L2TP セッションを確立できる可能性があります。
  • 秘密キーを持つコンピュータの証明書が必要です。この証明書は、ローカル コンピュータの個人用証明書ストアに格納されています。これを確認するには、Microsoft 管理コンソール (MMC.exe) を起動して、現在のユーザーの証明書スナップインを追加します。ただし、ユーザーにはローカル コンピュータの管理者権限が必要です。

    コンピュータの証明書を検出できない場合、L2TP は証明書がないという警告を発行しますが、証明書が検出された場合、その証明書に適切にインストールされ関連付けられた秘密キーがあるかどうかは判断できません。その判断は、IKE (インターネット キー交換) が、ネゴシエーション中に行います。ローカル コンピュータの証明書スナップインを開き、証明書をダブルクリックし、[全般] タブに "この証明書に対応する秘密キーを持っています" が示されていることを確認します。また、証明書のパスが完全であり、証明書が有効であることも確認します。

    クライアントが持つコンピュータの証明書のルート証明機関は、ゲートウェイ上の証明書のルート証明機関と同一でなければなりません。認証失敗の原因は、IKE によってセキュリティ ログのイベント エントリに書き込まれます。 双方とも証明書の検証を正常に処理できなければなりません。証明書の認証が正常に行われた場合、セキュリティ ログには IPSec メイン モードの SA 確立 (ログオン/ログオフ) が成功したことを示すイベントが記録されます。
  • IKE によるネゴシエートの失敗 : Microsoft 管理コンソール (MMC.exe) を起動し、IP セキュリティ モニタを (ローカル管理者として) 追加すると、IPSec が正常に機能しているかどうかを確認できます。1 秒間隔で更新されるようにオプションを設定します。IPSec SA が表示された場合は、IPSec が成功したことを示しています。L2TP が問題の原因であると結論づけることができます。インストールされている Windows XP のサポート ツールの netdiag /test:ipsec/v /debug コマンドを実行して、IPSec ポリシーの詳細を参照します (ドメイン管理者がローカル コンピュータにポリシーを設定している場合、ポリシー全体の参照はできません)。

    以下の点にも注意する必要があります。
    • IKE のタイムアウト : VPN サーバーに接続しているルーターが UDP ポート 500 の通過を許可しない場合、IKE は最初のネゴシエーション要求中にタイムアウトする場合があります。また、VPN サーバーに適切な IPSec ポリシーが構成されてない場合もタイムアウトします。これは通常 RRAS サーバーが L2TP ポートを有効にしていないか、または手動の IPSec ポリシー設定が正しく構成されていないことを意味します。IKE がタイムアウトした場合、監査ログには、ピアが応答に失敗したことが記録され、ネットワーク キャプチャのトレースでは、クライアントのみから開始されている ISAKMP UDP パケットが表示されます。VPN クライアントが特に L2TP 用に構成されている場合、VPN クライアントは次のエラー メッセージで応答します。
      The security negotiation timed out.
      自動で構成されている場合、VPN クライアントは一覧の次にあるプロトコル、つまり PPTP を使用してタスクを再試行します。
    • IKE の失敗 : セキュリティ設定のログオン/ログオフの失敗の監査を有効にしている場合、IKE のネゴシエートに失敗したことと、その失敗の原因がセキュリティ ログに記録されます。証明書の資格情報が機能しないか、または手動で IPSec ポリシーを設定した場合 IPSec ポリシー設定に問題があることが原因で、IKE が失敗する場合があります。

      IKE のネゴシエーションの成功は、監査ログに記録されます。IPSec のセキュリティ ネゴシエーション全体が成功するには、UDP ポート 1701 用にメイン モードの SA 確立とクイック モードの SA 確立の両方が必要です。
  • 以下のいずれかの現象が発生する場合、IPSec はこの問題の原因ではありません。
    • 監査ログに、成功したメイン モードの SA 確立および成功したクイック モードの SA 確立が記録された。
    • ネットワーク キャプチャのトレースにクライアントまたはサーバーからの ESP トラフィックが表示された。
    • Ipsecmon.exe で IPSec SA が表示された。
    常に 2 つの IPSec SA が確立されています。IPSec SA は各方向に 1 つで、それぞれ SPI (セキュリティ パラメータ インデックス) を持っています。ただし、Ipsecmon.exe は送信側の SA のみを表示します。
  • ブロックされた ESP : NAT を経由してクライアントに接続しているか、ルーターを経由して VPN に接続している場合、サーバーはプロトコル 50 (ESP) の通過を許可しないことがあります。SPI 番号を持つ送信側 ESP のトラフィックは表示されますが、別の SPI 番号を持つゲートウェイからの受信側 ESP パケットは表示されません。
  • 変更された ESP : NAT、または欠陥があるスイッチやその他のネットワーク ノードが、経路上のどこかでパケットを変更または破壊している場合、パケットは IPSec ドライバにより破棄され、イベント 4285 "Failed to authenticate hash" が受信システムのシステム ログに記録されます。パケットは、IPSec オフロード機能を使用するネットワーク インターフェイスにより破損する場合もあります。インターフェイスにこの機能があるかどうかを判断するには、サポート ツールの netsh コマンドを使用します。次のように入力します。
    netsh int ip show offload
  • NIC の IPSec オフロード機能が原因と考えられる場合、ネットワーク モニタのキャプチャと Ipsecmon.exe を起動して、それぞれの接続を分析します。Ipsecmon の "機密の受信バイト数" カウンタを確認して、パケットが受信中に破棄されているかどうか判断します。また、HKLM\System\CurrentControlSet\Services\IPSEC\EnableOffload DWORD レジストリの値を 0 に設定することもできます。この後、接続が成功した場合、問題はオフロードに関連しています。別のトラブルシューティングの方法として、自動的な IPSec ポリシーを無効にする方法があります。
  • サービス スナップインまたは net stop policyagent コマンドを使用して IPSec ポリシー エージェントを停止した場合、L2TP の自動的な IPSec ポリシーの構成が失われます。VPN クライアントでは、クライアントの接続開始時にポリシーが自動的に組み込まれます。クライアントの接続を開始する前に、IPSec ポリシー エージェント サービスが起動済みで、動作中であることを確認します。[接続] をクリックして接続が進行中になった後、netdiag /test:ipsec /v /debug コマンドを使用して IPSec の統計およびアクティブ フィルタを参照できます。ドメイン管理者権限を持っていない場合、/debug スイッチは使用できません。
VPN の詳細については、次のサイトで、「プライバシ保護された Microsoft ネットワーク アクセス : 仮想プライベート ネットワークおよびイントラネット セキュリティ」を参照してください。
http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/nwpriv.mspx (http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/nwpriv.mspx)
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
314067? (http://support.microsoft.com/kb/314067/ ) Windows XP における TCP/IP 接続のトラブルシューティング
257225? (http://support.microsoft.com/kb/257225/ ) Windows 2000 での IPSec の基本的なトラブルシューティング

この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
キーワード:?
kbhowto kbinfo kbipsec kbtshoot kbtunneling KB314831
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"