web-dev-qa-db-ja.com

IPSECトンネルの構築におけるIKEハンドシェイクの成功を妨げるものは何ですか?

EZVPN方式を使用して、IPSECVPNにCiscoASAを使用します。 ISPがネットワークに変更を加え、VPNが機能しなくなるという問題が発生することがあります。 10回のうち9回、ISPは、変更によってこの動作が停止した可能性があることを否定しています。問題の原因を正確に理解していないためだと思います。頭をバッシングするだけでなく、よりスピーディーな解決が得られる方向に向けてみてください。

現在のインシデントでは、ASAの外部インターフェイスにSSH接続して、少し突っ込んでみることができます。

 sh crypto isakmp sa

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: {Public IP address of London ASA}
    Type    : user            Role    : initiator
    Rekey   : no              State   : AM_TM_INIT_XAUTH_V6C

リンクのもう一方の端には、次のように表示されます。

Active SA: 26
<snip>
25  IKE Peer: {public IP address of Port-Au-Prince-ASA}
    Type    : user            Role    : responder
    Rekey   : no              State   : AM_TM_INIT_MODECFG_V6H

AM_TM_INIT_XAUTH_V6CまたはAM_TM_INIT_MODECFG_V6Hのドキュメントが見つかりませんが、何らかの理由でIKEハンドシェイクが失敗したことを意味していると確信しています。

IKEの成功を妨げている可能性のあることや、AM_TM_INIT_XAUTH_V6Cの意味の具体的な詳細を誰かが提案できますか?

更新:別のISPの顧客のサイトでASAを接続しました。 VPN接続はすぐに起動しました。これは、問題が構成に関連していないことを確認します。 ISPは現在、責任を受け入れ、さらに調査しています。

更新:先週突然接続がオンラインに戻りました。 ISPに何か変更があったかどうかを通知しましたが、まだ返信がありません。苛立たしいことに、私は今、別のサイトで同様の問題を見ています。 VPNでのフラグメンテーションの影響に関するCiscoドキュメント を見つけました。これが私が見ている問題の原因かもしれないと私は考え始めています。

4
dunxd

シスコの少しの支援を受けて、私は何が起こっているのかをより深く分析し、チェックする必要があることを理解しました。シスコが私に言った便利なこと:

  • debug crypto isakmp 5は、ISAKMPトラフィックで問題が発生しているかどうかを確認するのに十分な詳細を提供します
  • clear crypto isakmp saは、古いセキュリティアソシエーションをすべてクリアします。
  • clear crypto isakmp {client_ip_address}をHQで使用して、特定のセキュリティアソシエーションをクリアできます(問題が発生しているのが1つのデバイスだけの場合、必ずしもすべてのセキュリティアソシエーションをクリアする必要はありません。
  • 両端でのパケットキャプチャは、何が起こっているのかを理解するのに非常に役立ちます

IPSECスイート、およびISAKMPについて少し読んでみると、パス内のファイアウォールの通過を許可する必要があることがより具体的に示されています。

  • UDPポート500のISAKMPトラフィック
  • UDPポート4500のISAKMP(NAT-Tunnellingに使用)トラフィック
  • ESPトラフィック(IPプロトコル50)
  • AHトラフィック(IPプロトコル51)

IPプロトコルとTCP/UDPポートの重要な違いに気付いていない人が多いようです。

次のパケットキャプチャは、上記のタイプのトラフィックに焦点を当てています。これらは、リモートASAとHQASAの両方で設定されました。

object service isakmp-nat-t 
    service udp destination eq 4500 
    description 4500
object-group service ISAKMP-Services
    description Traffic required for ISAKMP
    service-object esp 
    service-object ah 
    service-object object isakmp-nat-t 
    service-object udp destination eq isakmp
access-list ISAKMP extended permit object-group ISAKMP-Services Host {hq_ip_address} Host {remote_ip_address}
access-list ISAKMP extended permit object-group ISAKMP-Services Host {remote_ip_address} Host {hq_ip_address}
capture ISAKMP access-list ISAKMP interface outside

次に、https://{device_ip_address}/capture/ISAKMP/pcapで各デバイスからキャプチャをダウンロードし、 Wireshark で分析できます。

私のパケットキャプチャは、上記のISAKMPトラフィックが断片化されていることを示しました。これらのパケットは暗号化されているため、断片化されると元に戻すのが難しく、問題が発生します。

この情報をISPに提供するということは、ISPが独自の焦点を絞ったチェックを実行できることを意味し、その結果、ファイアウォールにいくつかの変更を加えることになりました。 ISPがエッジルーターでallICMPトラフィックをブロックしていたことが判明しました。これは、パスMTUディスカバリーが壊れており、ISAKMPパケットが断片化されていることを意味します。彼らがICMPの包括的ブロッキングをやめると、VPNが登場しました(そして、すべての顧客が一般により良いサービスを受け始めたと思います)。

2
dunxd

ISPがトラフィックをP2Pファイル共有または不正なものとして誤って解釈している可能性があります。 M-Lab を見て、それが起こっている可能性があるかどうかを確認してください。

0
user65237

AM_TM_INIT_XAUTHエラーは、事前共有キーが一致しないことを意味している可能性があります。 (ソースwww.Cisco.com/warp/public/471/easyvpn-nem.pdf)

IPSecセッションを確立するために必要なのは、ポート500(IKEの場合)宛てのudpトラフィックとESPトラフィック(またはNAT-Tの場合はudp 4500))を許可することだけです。 ISPが原因の問題ではなく、構成の問題のようなものです。確認のサポートが必要な場合は、関連する構成を投稿してください。

0
JakePaulus