この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Cisco ASAとCisco Secure Firewall、およびMicrosoft Azureクラウドサービス間のVPNの概念と設定について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
IPアドレス範囲IPSecにより、VPNトンネルへの参加が許可されます。暗号化ドメインは、ローカルトラフィックセレクタとリモートトラフィックセレクタを使用して定義され、IPSecでキャプチャおよび暗号化するローカルおよびリモートサブネット範囲を指定します。
VPN暗号化ドメインを定義する方法には、ルートベースのトラフィックセレクタとポリシーベースのトラフィックセレクタの2つがあります。
ルートベース:
暗号化ドメインは、IPSecトンネルに入るすべてのトラフィックを許可するように設定されます。IPSecローカルおよびリモートトラフィックセレクタは0.0.0.0に設定されます。つまり、IPSecトンネルにルーティングされるすべてのトラフィックは、送信元/宛先サブネットに関係なく暗号化されます。
Cisco適応型セキュリティアプライアンス(ASA)は、バージョン9.8以降の仮想トンネルインターフェイス(VTI)を使用したルートベースのVPNをサポートします。
Firepower Management Center(FMC)で管理されるCisco Secure FirewallまたはFirepower Threat Defense(FTD)は、バージョン6.7以降のVTIを使用してルートベースのVPNをサポートします。
ポリシーベース:
暗号化ドメインは、送信元と宛先の両方について、特定のIP範囲のみを暗号化するように設定されます。 ポリシーベースのローカルトラフィックセレクタとリモートトラフィックセレクタは、IPSecで暗号化するトラフィックを特定します。
ASAは、バージョン8.2以降で暗号マップを使用するポリシーベースのVPNをサポートします。
Microsoft Azureは、シミュレートされたポリシーベースのトラフィックセレクタを使用して、ルートベース、ポリシーベース、またはルートベースをサポートします。Azureは現在、VPNで選択された方法に基づいて構成できるインターネットキーエクスチェンジ(IKE)のバージョンを制限しています。 ルートベースにはIKEv2が必要で、ポリシーベースにはIKEv1が必要です。 IKEv2を使用する場合は、Azureのルートベースを選択する必要があり、ASAはVTIを使用する必要があります。
コードバージョンが原因でASAが暗号マップのみをサポートする場合、Azureはポリシーベースのトラフィックセレクタを使用してルートベース用に設定する必要があります。
これは、PowerShellスクリプトのデプロイを介してAzureポータルで実行され、次に説明するように、MicrosoftがUsePolicyBasedTrafficSelectorsを呼び出すオプションを実装します。
複数のオンプレミスのポリシーベースVPNデバイスへのVPNゲートウェイの接続
ASAとFTDの設定の観点から集約するには、次の手順を実行します。
設定手順を実行します。IKEv1、VTIに基づくIKEv2ルートベース、またはUse Policy-Based Traffic Selectors(ASAでのクリプトマップ)に基づくIKEv2ルートベースのいずれかを設定します。
ASAからAzureへのサイト間IKEv1 VPNでは、次のASA設定を実装します。Azureポータルでポリシーベースのトンネルを構成していることを確認してください。この例では、ASAでクリプトマップを使用しています。
ASAでのIKEv1の全設定については、「ASAvでASDMまたはCLIを使用したIKEv1 IPsecサイトツーサイトトンネルの設定」を参照してください。
ステップ 1:外部インターフェイスでIKEv1を有効にします。
Cisco-ASA(config)#crypto ikev1 enable outside
ステップ 2:ハッシュ、認証、Diffie-Hellmanグループ、ライフタイム、および暗号化に使用するアルゴリズムと方式を定義するIKEv1ポリシーを作成します。
注:示されているフェーズ1のIKEv1属性は、『サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて』からのベストエフォートで提供されています。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ikev1 policy 1
Cisco-ASA(config-ikev1-policy)#authentication pre-share
Cisco-ASA(config-ikev1-policy)#encryption aes
Cisco-ASA(config-ikev1-policy)#hash sha
Cisco-ASA(config-ikev1-policy)#group 14
Cisco-ASA(config-ikev1-policy)#lifetime 28800
ステップ 3:IPsec属性でトンネルグループを作成し、ピアIPアドレスとトンネル事前共有キーを設定します。
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco
ステップ 4:暗号化およびトンネル化するトラフィックを定義するアクセスリストを作成します。
この例では、対象のトラフィックは10.2.2.0サブネットから10.1.1.0へのトンネルからのものです。 サイト間に複数のサブネットが関係する場合は、複数のエントリを含めることができます。
バージョン8.4以降では、ネットワーク、サブネット、ホストIPアドレス、または複数のオブジェクトのコンテナとして機能するオブジェクトまたはオブジェクトグループを作成できます。
ローカルサブネットとリモートサブネットを持つ2つのオブジェクトを作成し、それらを暗号アクセスコントロールリスト(ACL)文とネットワークアドレス変換(NAT)文の両方に使用します。
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
ステップ 5:キーワードを含むトランスフォームセットIKEv1.
(TS)を設定します。リモートエンドにも同じTSを作成する必要があります。
注:示されているフェーズ2のIKEv1属性は、『サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて』からベストエフォートで提供されています。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
手順 6:暗号マップを設定し、次のコンポーネントを含む外部インターフェイスに適用します。
・ ピアIPアドレス
・ 対象のトラフィックを含む定義済みアクセスリスト
・TS
・ この構成では、PFS(Perfect Forward Secrecy)は設定されません。 「サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて」では、AzureでIKEv1のPFSが無効であると記述されています。
オプションのPFS設定では、データを保護するために使用されるDiffie-Hellmanキーの新しいペアが作成されます(フェーズ2が起動する前に、両側でPFSが有効になっている必要があります)。
この設定は、次の設定を使用することで有効になります。 crypto map outside_map 20 set pfs
。
・ フェーズ2のIPSecライフタイム設定は、「VPNデバイスについて」と「サイト間VPNゲートウェイ接続用のIPSec/IKEパラメータ」に基づいています。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto map outside_map 20 match address 100
Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1
Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000 Cisco-ASA(config)#crypto map outside_map interface outside
手順 7:VPNトラフィックが他のNATルールの影響を受けないことを確認します。 NAT免除ルールを作成します。
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
注:複数のサブネットを使用する場合は、すべての送信元および宛先サブネットを含むオブジェクトグループを作成し、NATルールで使用する必要があります。
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
ASAコードのサイト間IKEv2ルートベースVPNの場合は、次の設定を使用します。AzureがルートベースのVPN用に構成されていることを確認し、AzureポータルでUsePolicyBasedTrafficSelectorsを構成していないことを確認してください。VTIがASAで設定されます。
完全なASA VTI設定情報については、『CLIブック3:Cisco ASAシリーズVPN CLIコンフィギュレーションガイド9.8』を参照してください。
ステップ 1:外部インターフェイスでIKEv2を有効にします。
Cisco-ASA(config)#crypto ikev2 enable outside
ステップ 2:IKEv2フェーズ1ポリシーを追加します。
注: Microsoftは、Azureで使用される特定のIKEv2フェーズ1暗号化、整合性、およびライフタイム属性に関して競合する情報を公開しています。示されている属性は、『サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて』からのベストエフォートです。MicrosoftのIKEv2属性と競合する情報は、Cisco ASAデバイス(IKEv2/no BGP)の設定例です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
ステップ 3:IKEv2フェーズ2 IPsecプロポーザルを追加します。暗号IPsec ikev2 ipsec-proposal
(IPSec)コンフィギュレーションモードでセキュリティパラメータを指定します。
プロトコルesp暗号化{des | 3DES | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | AES-GMAC | aes-gmac-192 | aes-gmac-256 | null}
protocol esp integrity {md5;プロトコルesp整合性{md5 | sha-1 | sha-256 | sha-384 | sha-512 | null}
注:Microsoftは、Azureが使用する特定のフェーズ2 IPSec暗号化および整合性の属性に関して競合する情報を公開しています。示されている属性は、『サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて』からのベストエフォートです。Microsoftからのフェーズ2 IPSec属性と競合する情報は、『Cisco ASAデバイス(IKEv2/no BGP)の設定例』です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
ステップ 4:次を指定するIPSecプロファイルを追加します。
注:Microsoftは、Azureが使用する特定のフェーズ2 IPSecライフタイムおよびPFS属性に関して競合する情報を公開しています。示されている属性は、RouteBased VPN IPsec Security Association(IKEクイックモードSA)オファーからのベストエフォートです。Microsoftからのフェーズ2 IPSec属性と競合する情報は、『Cisco ASAデバイス(IKEv2/no BGP)の設定例』です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ipsec profile PROFILE1
Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000
Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited
Cisco-ASA(config-ipsec-profile)#set pfs none
ステップ 5:IPsec属性でトンネルグループを作成し、ピアIPアドレスとIKEv2ローカルおよびリモートトンネル事前共有キーを設定します。
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
手順 6:次を指定するVTIを作成します。
Cisco-ASA(config)#interface tunnel 100 Cisco-ASA(config-if)#nameif vti Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252 Cisco-ASA(config-if)#tunnel source interface outside Cisco-ASA(config-if)#tunnel destination [Azure Public IP] Cisco-ASA(config-if)#tunnel mode ipsec ipv4 Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1
手順 7:トラフィックをトンネルに向かわせるためのスタティックルートを作成します。スタティックルートを追加するには、次のコマンドを入力します。 route if_name dest_ip mask gateway_ip [distance]
dest_ip
と mask
は、Azureクラウド内の宛先ネットワークのIPアドレスです(例:10.0.0.0/24)。gateway_ipは、10.254.0.2などのトンネルインターフェイスサブネット上の任意のIPアドレス(存在するまたは存在しない)である必要があります。このgateway_ipの目的は、トラフィックをトンネルインターフェイスに向けることですが、特定のゲートウェイIP自体は重要ではありません。
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 10.254.0.2
FTDからAzureへのサイト間IKEv1 VPNの場合、FTDデバイスをFMCに事前に登録しておく必要があります。
ステップ 1:サイト間ポリシーを作成します。に移動します。 FMC dashboard > Devices > VPN > Site to Site.
ステップ 2:新しいポリシーを作成します。「 Add VPN
」ドロップダウンメニューをクリックし、 Firepower Threat Defense device.
ステップ 3:「 Create new VPN Topology
」ウィンドウで、「protocol」チェックボックスを Topology Name,
オンにし IKEV1
て「 IKE
」タブをクリックします。この例では、認証方法として事前共有キーを使用します。
「 Authentication Type
」ドロップダウンメニューをクリックし、「 Pre-shared manual key
」を選択します。「 Key
」フィールドとConfirm Key
「text」フィールドに手動事前共有キーを入力します。
ステップ 4:新しいISAKMPポリシーを作成して、ISAKMPポリシーまたはフェーズ1パラメータを設定します。同じウィンドウで、「 green plus button
」をクリックして新しいISAKMPポリシーを追加します。ポリシーの名前を指定し、必要なEncryption、Hash、Diffie-Hellman Group、Lifetime、およびAuthentication Methodを選択して、 Save.
ステップ 5:IPSecポリシーまたはフェーズ2パラメータを設定します。「 IPsec
」タブにナビゲートし、「 Static
」チェックボックスを Crypto Map Type
選択します。「 edit pencil
」オプションの「 IKEV1 IPsec Proposals
」アイコンをクリ Transform Sets
ックします。
手順 6:新しいIPSecプロポーザルを作成します。「 IKEv1 IPSec Proposal
」ウィンドウで、「 green plus button
」をクリックして新しいプロファイルを追加します。ポリシーの名前と、ESP暗号化およびESPハッシュアルゴリズムに必要なパラメータを指定し、 Save.
ステップ7:「 IKEV1 IPsec Proposal
」ウィンドウで、新しいIPsecポリシーを「 Selected Transform Sets
」セクションに追加し、 OK.
ステップ 8:「 IPSec
」タブに戻り、目的のライフタイム期間とサイズを設定します。
ステップ 9:Encryption Domain/Traffic Selectors/Protected Networksを選択します。「 Endpoints
」タブにナビゲートします。「 Node A
」セクションで「 green plus button
」をクリックして新しいプロファイルを追加します。この例では、ノードAがFTDへのローカルサブネットとして使用されています。
ステップ 10:「 Add Endpoint
」ウィンドウで、「 Device
」ドロップダウンで使用するFTDを、使用する物理インターフェイスおよびIPアドレスとともに指定します。
ステップ 11ローカルトラフィックセレクタを指定するには、 Protected Networks
オプションに移動し、 green plus button
をクリックして新しいオブジェクトを作成します。
ステップ 12「 Network Objects
」ウィンドウで、「 green plus button
」テキストの横にある「 Available Networks
」をクリックして、新しいローカルトラフィックセレクタオブジェクトを作成します。
ステップ 13「 New Network Object
」ウィンドウでオブジェクトの名前を指定し、それに応じて「host/network/range/FQDN」を選択します。次に、Save
をクリックします。
ステップ 14:オブジェクトを Selected Networks
ウィンドウの Network Objects
セクションに追加し、ウィンドウで OK.
Click OK
をクリ Add Endpoint
ックします。
ステップ 15:ノードBエンドポイント(この例ではAzureエンドポイント)を定義します。「 Create New VPN Topology
」ウィンドウで「 Node B
」セクションに移動し、「 green plus button
」をクリックしてリモートエンドポイントトラフィックセレクタを追加します。ノードAと同じFMCで管理されていないすべてのVPNピアエンドポイントに対して Extranet
を指定します。デバイスの名前(ローカルでのみ有効)とIPアドレスを入力します。
ステップ 16:リモートトラフィックセレクタオブジェクトを作成します。「 Protected Networks
」セクションに移動し、「 green plus button
」をクリックして新しいオブジェクトを追加します。
ステップ 17:「 Network Objects
」ウィンドウで、「 green plus button
」テキストの横にある「 Available Networks
」をクリックして新規オブジェクトを作成します。「 New Network Object
」ウィンドウでオブジェクトの名前を指定し、それに応じてhost/range/network/FQDNを選択して、 Save.
ステップ 18:「 Network Objects
」ウィンドウに戻り、新しいリモートオブジェクトを「 Selected Networks
」セクションに追加して、「 OK.
Click Ok
on the Add Endpoint
」ウィンドウをクリックします。
ステップ 19:「 Create New VPN Topology
」ウィンドウで、適切なトラフィックセレクタと保護されたネットワークを使用して両方のノードを確認できます。クリック Save.
ステップ 20:FMCダッシュボードで、右上のペインで Deploy
をクリックし、FTDデバイスを選択して、 Deploy.
ステップ 21:コマンドラインインターフェイスでは、VPN設定はASAデバイスの設定と同じように表示されます。
暗号マップを使用するASA上のサイト間IKEv2 VPNの場合は、次の設定を使用します。AzureがルートベースのVPN用に構成されていること、およびPowerShellを使用してUsePolicyBasedTrafficSelectorsをAzureポータルで構成する必要があることを確認してください。
「Microsoftからの複数のオンプレミスのポリシーベースVPNデバイスへのVPNゲートウェイの接続」では、ルートベースのAzure VPNモードと組み合わせたUsePolicyBasedTrafficSelectorsの設定について説明しています。この手順が完了しないと、Azureから受信したトラフィックセレクタの不一致が原因で、暗号マップを持つASAが接続を確立できません。
暗号マップを使用した完全なASA IKEv2の設定情報については、『CLIブック3:Cisco ASAシリーズVPN CLIコンフィギュレーションガイド9.8』を参照してください。
ステップ 1:外部インターフェイスでIKEv2を有効にします。
Cisco-ASA(config)#crypto ikev2 enable outside
ステップ 2:IKEv2フェーズ1ポリシーを追加します。
注: Microsoftは、Azureで使用される特定のIKEv2フェーズ1暗号化、整合性、およびライフタイム属性に関して競合する情報を公開しています。示されている属性は、『サイト間VPNゲートウェイ接続のVPNデバイスとIPsec/IKEパラメータについて』からのベストエフォートです。競合するMicrosoftからのIKEv2属性情報は、設定例:Cisco ASAデバイス(IKEv2/no BGP)です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
ステップ 3:IPsec属性でトンネルグループを作成し、ピアIPアドレスとIKEv2ローカルおよびリモートトンネル事前共有キーを設定します。
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
ステップ 4:暗号化およびトンネル化するトラフィックを定義するアクセスリストを作成します。この例では、対象のトラフィックは、10.2.2.0サブネットから10.1.1.0に送信されたトンネルからのトラフィックです。サイト間に複数のサブネットが関係する場合は、複数のエントリを含めることができます。
バージョン8.4以降では、ネットワーク、サブネット、ホストIPアドレス、または複数のオブジェクトのコンテナとして機能するオブジェクトまたはオブジェクトグループを作成できます。ローカルサブネットとリモートサブネットを持つ2つのオブジェクトを作成し、クリプトACLとNAT文の両方に使用します。
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
ステップ 5:IKEv2フェーズ2 IPsecプロポーザルを追加します。crypto IPsec ikev2 ipsec-proposalコンフィギュレーションモードでセキュリティパラメータを指定します。
プロトコルesp暗号化{des | 3DES | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | AES-GMAC | aes-gmac-192 | aes-gmac-256 | null}
protocol esp integrity {md5;プロトコルesp整合性{md5 | sha-1 | sha-256 | sha-384 | sha-512 | null}
注: Microsoftは、Azureで使用される特定のフェーズ2 IPSec暗号化と整合性の属性に関して競合する情報を公開しています。示されている属性は、RouteBased VPN IPsec Security Association(IKEクイックモードSA)オファーからのベストエフォートです。競合するMicrosoftからのフェーズ2のIPSec属性情報は、設定例:Cisco ASAデバイス(IKEv2/no BGP)です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
手順 6:暗号マップを設定し、次のコンポーネントを含む外部インターフェイスに適用します。
・ ピアIPアドレス
・ 対象のトラフィックを含む、定義済みのアクセスリスト。
・ IKEv2フェーズ2 IPSecプロポーザル
・ フェーズ2のIPSecライフタイム(秒)。
・ オプションのPFS(Perfect Forward Secrecy)設定。データを保護するために使用されるDiffie-Hellmanキーの新しいペアを作成します(フェーズ2が起動する前に、両側でPFSが有効になっている必要があります)。
Microsoftは、Azureが使用する特定のフェーズ2 IPSecライフタイムおよびPFS属性に関して競合する情報を公開しています。
リストされている属性は、次の場所からベストエフォートで提供されます。 RouteBased VPN IPsec Security Association(IKEクイックモードSA)オファー.
競合するMicrosoftからのフェーズ2のIPSec属性情報は、設定例:Cisco ASAデバイス(IKEv2/no BGP)です。詳細については、Microsoft Azureサポートにお問い合わせください。
Cisco-ASA(config)#crypto map outside_map 20 match address 100 Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1 Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited Cisco-ASA(config)#crypto map outside_map 20 set pfs none Cisco-ASA(config)#crypto map outside_map interface outside
ステップ 8:VPNトラフィックが他のNATルールの影響を受けないことを確認します。 NAT免除ルールを作成します。
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
注:複数のサブネットを使用する場合は、すべての送信元および宛先サブネットを含むオブジェクトグループを作成し、NATルールで使用する必要があります。
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
ASAとAzureゲートウェイの両方で構成が完了すると、AzureはVPNトンネルを開始します。次のコマンドを使用して、トンネルが正しく構築されていることを確認できます。
フェーズ1のセキュリティアソシエーション(SA)が作成されたことを確認します。
次に、UDPポート500上のローカル外部インターフェイスIP 192.168.1.2からリモート宛先IP 192.168.2.2に構築されたIKEv2 SAが示されます。また、暗号化されたトラフィックを通過させるために構築された有効な子SAもあります。
Cisco-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 3208253 192.168.1.2/500 192.168.2.2/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/142 sec *-->Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 192.168.3.0/0 - 192.168.3.255/65535 ESP spi in/out: 0x9b60edc5/0x8e7a2e12
ここでは、ASAをピアIP 192.168.2.2に対するイニシエータとして構築され、残りのライフタイムが86388秒であるIKEv1 SAを示します。
Cisco-ASA# sh crypto ikev1 sa detail IKEv1 SAs: 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: 192.168.2.2 Type : L2L Role : initiator Rekey : no State : MM_ACTIVE Encrypt : aes Hash : SHA Auth : preshared Lifetime: 86400 Lifetime Remaining: 86388
フェーズ2のIPSecセキュリティアソシエーションが show crypto ipsec sa peer [peer-ip].
Cisco-ASA# show crypto ipsec sa peer 192.168.2.2
peer address: 192.168.2.2
Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2
access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
current_peer: 192.168.2.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#TFC rcvd: 0, #TFC sent: 0
#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500
path mtu 1500, ipsec overhead 74(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: 8E7A2E12
current inbound spi : 9B60EDC5
inbound esp sas:
spi: 0x9B60EDC5 (2606820805)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (4193279/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0x8E7A2E12 (2390371858)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (3962879/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
4個のパケットが送信され、4個のパケットがエラーなしでIPSec SAを介して受信されます。SPI 0x9B60EDC5を使用する1つの着信SAとSPI 0x8E7A2E12を使用する1つの発信SAが予期したとおりにインストールされます。
また、 vpn-sessiondb l2l
のエントリをチェックすることで、データがトンネルを通過していることも確認できます。
Cisco-ASA#show vpn-sessiondb l2l
Session Type: LAN-to-LAN
Connection : 192.168.2.2
Index : 44615 IP Addr : 192.168.2.2
Protocol : IKEv2 IPsec
Encryption : IKEv2: (1)AES256 IPsec: (1)AES256
Hashing : IKEv2: (1)SHA256 IPsec: (1)SHA256
Bytes Tx : 400 Bytes Rx : 400
Login Time : 18:32:54 UTC Tue Mar 13 2018
Duration : 0h:05m:22s
バイトTx:とバイトRx:IPSec SAを介した送信および受信データカウンタを示します。
ステップ 1:VPNのトラフィックが、Azureプライベートネットワークを宛先とする内部インターフェイス上のASAによって受信されることを確認します。テストするには、内部クライアントからの連続pingを設定し、ASAでパケットキャプチャを設定して、パケットが受信されたことを確認します。
capture [cap-name] interface [if-name] match [protocol] [src-ip] [src-mask] [dest-ip] [dest-mask]
show capture [cap-name]
Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]
Cisco-ASA#show capture inside 2 packets captured 1: 18:50:42.835863 192.168.0.2 > 192.168.3.2: icmp: echo request 2: 18:50:42.839128 192.168.3.2 > 192.168.0.2: icmp: echo reply 2 packets shown
Azureからの応答トラフィックが表示される場合、VPNは適切に構築され、トラフィックを送受信します。
送信元トラフィックがない場合は、送信者がASAに適切にルーティングしていることを確認します。
ソーストラフィックは見られるものの、Azureからの応答トラフィックがない場合は、続けて理由を確認します。
ステップ 2:ASA内部インターフェイスで受信したトラフィックがASAによって適切に処理され、VPNにルーティングされることを確認します。
ICMPエコー要求をシミュレートするには、次の手順を実行します。
packet-tracer input [inside-interface-name] icmp [inside-host-ip] 8 0 [azure-host-ip]詳細
packet-tracerの使用に関するガイドラインの全文は、次のリンクから入手できます。Packet-Tracerを使用したアクセス問題のトラブルシューティング
Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail Phase: 1 Type: CAPTURE Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0000.0000.0000 input_ifc=inside, output_ifc=any Phase: 2 Type: ACCESS-LIST Subtype: Result: ALLOW Config: Implicit Rule Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c195971f0, priority=1, domain=permit, deny=false hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8 src mac=0000.0000.0000, mask=0000.0000.0000 dst mac=0000.0000.0000, mask=0100.0000.0000 input_ifc=inside, output_ifc=any Phase: 3 Type: ROUTE-LOOKUP Subtype: Resolve Egress Interface Result: ALLOW Config: Additional Information: found next-hop 192.168.1.1 using egress ifc outside Phase: 4 Type: NAT Subtype: per-session Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 5 Type: IP-OPTIONS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 6 Type: QOS Subtype: Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0 src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=any Phase: 7 Type: INSPECT Subtype: np-inspect Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: in id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1 src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0 input_ifc=inside, output_ifc=any Phase: 8 Type: VPN Subtype: encrypt Result: ALLOW Config: Additional Information: Forward Flow based lookup yields rule: out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0 src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0 input_ifc=any, output_ifc=outside Phase: 9 Type: FLOW-CREATION Subtype: Result: ALLOW Config: Additional Information: New flow created with id 43, packet dispatched to next module Module information for forward flow ... snp_fp_tracer_drop snp_fp_inspect_ip_options snp_fp_inspect_icmp snp_fp_adjacency snp_fp_encrypt snp_fp_fragment snp_ifc_stat Module information for reverse flow ... Result: input-interface: inside input-status: up input-line-status: up output-interface: outside output-status: up output-line-status: up Action: allow
NATはトラフィックを除外します(変換は有効になりません)。VPNトラフィックでNAT変換が発生していないことを確認します。 また、「 output-interface
」が正しいことの確認(暗号マップが適用されている物理インターフェイスか、仮想トンネルインターフェイスのいずれか)も必要です。
アクセスリストドロップが発生していないことを確認します。 VPNフェーズでトンネルがすでに構築されていることが「 ENCRYPT: ALLOW,
」と表示され、encapを使用してインストールされたIPSec SAを確認できます。
ステップ 2.1:パケットトレーサで「 ENCRYPT: ALLOW
」が表示される場合。
IPSec SAがインストールされ、IPSecを使用してトラフィックが暗号化されていることを show crypto ipsec sa.
外部インターフェイスでキャプチャを実行して、暗号化されたパケットがASAから送信され、暗号化された応答がAzureから受信されていることを確認できます。
ステップ 2.2:パケットトレーサで「 ENCRYPT:DROP
」が表示される場合。
VPNトンネルはまだ確立されていませんが、ネゴシエーション中です。これは、最初にトンネルを起動する際に想定される状態です。デバッグを実行してトンネルネゴシエーションプロセスを表示し、障害が発生した場所と障害が発生した場合は特定します。
最初に、正しいバージョンのIKEがトリガーされ、ike-commonプロセスで関連するエラーが表示されていないことを確認します。
Cisco-ASA#debug crypto ike-common 255 Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1. Map Tag = outside. Map Sequence Number = 10.
VPNトラフィックの開始時にike-common debug出力が表示されない場合は、トラフィックが暗号化プロセスに到達する前にドロップされているか、ボックスでcrypto ikev1/ikev2が有効になっていません。暗号設定とパケットドロップを再確認します。
ike-commonデバッグで暗号化プロセスがトリガーされたことが示された場合、IKE構成バージョンをデバッグしてトンネルネゴシエーションメッセージを表示し、Azureを使用したトンネル構築でエラーが発生した場所を特定します。
ikev1の完全なデバッグ手順と分析については、『ASA IPsecおよびIKEデバッグ(IKEv1メインモード)トラブルシューティングテクニカルノート』を参照してください。
Cisco-ASA#debug crypto ikev1 127
Cisco-ASA#debug crypto ipsec 127
ikev2の完全なデバッグ手順と分析については、こちらを参照してください。PSKによるサイト間VPNにASA IKEv2デバッグを使用する
Cisco-ASA#debug crypto ikev2 platform 127 Cisco-ASA#debug crypto ikev2 protocol 127 Cisco-ASA#debug crypto ipsec 127
改定 | 発行日 | コメント |
---|---|---|
4.0 |
07-Oct-2024 |
記事の説明、画像リンク、スタイル要件、およびフォーマットを更新。 |
3.0 |
09-Sep-2022 |
コンテンツのレビュー/再認定 |
2.0 |
28-Feb-2022 |
FTD 6.7のサポートは、firestarter要求の一部として追加されました。 |
1.0 |
27-Mar-2019 |
初版 |