内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

設定

確認

トラブルシュート

はじめに

このドキュメントでは、Azureへの適応型セキュリティアプライアンス(ASA)のIPsec仮想トンネルインターフェイス(VTI)接続を構成する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- ASA 9.8.1以降を実行するパブリック静的IPv4アドレスを使用してインターネットに直接接続されたASA。

- Azureアカウント

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

ASA 9.8.1では、IPsec VTI機能はIKEv2を利用するように拡張されましたが、依然としてsVTI IPv4 over IPv4に制限されています。この構成ガイドは、ASA CLIインターフェイスとAzure Portalを使用して作成されました。Azureポータルの構成は、PowerShellまたはAPIでも実行できます。Azureの構成方法の詳細については、Azureのドキュメントを参照してください。

注：現在、VTIはシングルコンテキストルーテッドモードでのみサポートされています。

設定

このガイドでは、Azureクラウドが構成されていないことを前提としています。リソースがすでに確立されている場合、これらの手順の一部は省略できます。

ステップ 1： Azure内でネットワークを構成します。

これは、Azureクラウド内に存在するネットワークアドレス空間です。図に示すように、このアドレス空間は、その中にサブネットワークを収容するのに十分な大きさである必要があります。

[名前(Name)]

クラウドでホストされるIPアドレス空間の名前

アドレス空間

AzureでホストされているCIDR範囲全体。この例では、10.1.0.0/16が使用されます。

サブネット名

通常VMが接続される仮想ネットワーク内で作成される最初のサブネットの名前。通常、defaultという名前のサブネットが作成されます。

サブネットアドレス範囲

仮想ネットワーク内に作成されたサブネット。

ステップ 2： ゲートウェイサブネットを作成するために仮想ネットワークを変更します。

仮想ネットワークに移動し、ゲートウェイサブネットを追加します。この例では、10.1.1.0/24が使用されます。

ステップ 3： 仮想ネットワークゲートウェイを作成します。

これは、クラウドでホストされているVPNエンドポイントです。これは、ASAがIPSecトンネルを構築する際に使用するデバイスです。この手順では、仮想ネットワークゲートウェイに割り当てられるパブリックIPも作成します。  この手順の完了には15 ～ 20分かかります。

[名前(Name)]

仮想ネットワークゲートウェイの名前

ゲートウェイタイプ

これはIPsec VPNであるため、VPNを選択します。

VPNタイプ

これはVTIであるため、Route-basedを選択します。ポリシーベースは、クリプトマップVPNが実行されるときに使用されます。

SKU

必要なトラフィック量に基づいてVpnGw1以上を選択する必要があります。Basicはサポートしていません

ボーダーゲートウェイプロトコル(BGP)。

有効なアクティブ/アクティブモード

有効にしないでください。ポスティングの時点で、ASAにはループバックからBGPセッションを調達する機能がありません

インターフェイス内に配置しますAzureでは、BGPピアリングにIPアドレスを1つしか使用できません。

パブリックIPアドレス

新しいIPアドレスを作成し、リソースに名前を割り当てます。

BGP ASNの設定

リンクでBGPを有効にするには、このチェックボックスをオンにします。

ASN

これをデフォルトの65515のままにしておきます。これは、自身を表すASN Azureです。

ステップ 4： ローカルネットワークゲートウェイを作成します。

ローカルネットワークゲートウェイは、ASAを表すリソースです。

[名前(Name)]

ASAの名前

IP アドレス

ASAの外部インターフェイスのパブリックIPアドレス。

アドレス空間

サブネットは、後でVTIで設定します。

BGPの設定

BGPを有効にするには、これをオンにします。

ASN

このASNはASAで設定されます。

BGPピアのIPアドレス

IPアドレスはASA VTIインターフェイスで設定されます。

ステップ 5： 図に示すように、仮想ネットワークゲートウェイとローカルネットワークゲートウェイの間に新しい接続を作成します。

手順 6： ASA の設定.

まず、外部インターフェイスでIKEv2を有効にし、IKEv2ポリシーを設定します。

crypto ikev2 policy 10

encryption aes-gcm-256 aes-gcm-192 aes-gcm

integrity null

group 14 5 2

prf sha512 sha384 sha256 sha

lifetime seconds 86400

crypto ikev2 policy 20

encryption aes-256 aes-192 aes

integrity sha512 sha384 sha256 sha

group 14 5 2

prf sha512 sha384 sha256 sha

lifetime seconds 86400

crypto ikev2 enable outside

手順 6： IPsecトランスフォームセットとIPsecプロファイルを設定します。

crypto ipsec ikev2 ipsec-proposal AZURE-PROPOSAL

protocol esp encryption aes-256

protocol esp integrity sha-256

crypto ipsec profile AZURE-PROPOSAL

set ikev2 ipsec-proposal AZURE-PROPOSAL

ステップ 8： トンネルグループを設定します。

図に示すように、ステップ3で作成した仮想ネットワークゲートウェイのパブリックIPv4アドレスを取得します。

次に、ステップ3で定義した事前共有キーを使用して、ASAでグループポリシーとトンネルグループを設定します。

group-policy AZURE internal

group-policy AZURE attributes

vpn-tunnel-protocol ikev2

tunnel-group A.A.A.A type ipsec-l2l

tunnel-group A.A.A.A general-attributes

default-group-policy AZURE

tunnel-group A.A.A.A ipsec-attributes

ikev2 remote-authentication pre-shared-key *****

ikev2 local-authentication pre-shared-key *****

ステップ 9： トンネル インターフェイスを設定します。

ステップ4（ローカルネットワークゲートウェイの設定）で、BGP接続のネットワークアドレスとIPアドレスを設定しました。これは、VTIで設定するIPアドレスとネットワークです。

interface Tunnel1

nameif AZURE

ip address 192.168.100.1 255.255.255.252

tunnel source interface outside

tunnel destination A.A.A.A

tunnel mode ipsec ipv4

tunnel protection ipsec profile AZURE-PROPOSAL

no shutdown

ステップ 10：

オプション 1ダイナミックルーティングを設定します。BGPを使用してルートをAzureと交換します。

手順3で作成した仮想ネットワークゲートウェイの構成を表示するには、AzureでBGPルーターのIPアドレスを見つけます。この例では、10.1.2.254です。

ASAで、VTIトンネルから10.1.2.254を指すスタティックルートを設定します。この例では、192.168.100.2はVTIと同じサブネット内にあります。そのIPアドレスを持つデバイスがなくても、ASAはVTIインターフェイスを指すルートをインストールします。

route AZURE 10.1.2.254 255.255.255.255 192.168.100.2 1

次に、ASAでBGPを設定します。ネットワーク192.168.2.0/24はASAの内部インターフェイスであり、クラウドに伝播されるルートです。また、Azureで構成されたネットワークはASAにアドバタイズされます。

router bgp 65000

bgp log-neighbor-changes

bgp graceful-restart

address-family ipv4 unicast

neighbor 10.1.2.254 remote-as 65515

neighbor 10.1.2.254 ebgp-multihop 255

neighbor 10.1.2.254 activate

network 192.168.2.0

network 192.168.100.0 mask 255.255.255.252

no auto-summary

no synchronization

exit-address-family

オプション 2スタティックルーティングの設定：ASAとAzureの両方でルートを静的に設定します。VTIトンネルを介してAzureネットワークにトラフィックを送信するようにASAを設定します。

route AZURE 10.1.0.0 255.255.0.0 192.168.100.2 1

ステップ4で作成したローカルネットワークゲートウェイを、トンネルインターフェイス上のASAとサブネットの背後に存在するネットワークで変更し、「追加のネットワークスペース」セクションでプレフィックスを追加します。

確認

ここでは、設定が正常に機能しているかどうかを確認します。

ステップ 1： show crypto ikev2 saコマンドを使用して、IKEv2セッションが確立されていることを確認します。

ciscoasa# show crypto ikev2 sa

IKEv2 SAs:

Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1

Tunnel-id Local                                               Remote                                                  Status         Role

2006974029 B.B.B.B.    /500                                   A.A.A.A/500                                             READY          INITIATOR

Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK

Life/Active Time: 86400/4640 sec

Child sa: local selector  0.0.0.0/0 - 255.255.255.255/65535

remote selector 0.0.0.0/0 - 255.255.255.255/65535

ESP spi in/out: 0x74e90416/0xba17723a

ステップ 2：show crypto ipsec saコマンドを使用して、IPSec SAもネゴシエートされていることを確認します。

ciscoasa# show crypto ipsec sa

interface: AZURE

Crypto map tag: __vti-crypto-map-3-0-1, seq num: 65280, local addr: B.B.B.B

local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer: A.A.A.A

#pkts encaps: 240, #pkts encrypt: 240, #pkts digest: 240

#pkts decaps: 377, #pkts decrypt: 377, #pkts verify: 377

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 240, #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.: B.B.B.B/500, remote crypto endpt.: A.A.A.A/500

path mtu 1500, ipsec overhead 78(44), media mtu 1500

PMTU time remaining (sec): 0, DF policy: copy-df

ICMP error validation: disabled, TFC packets: disabled

current outbound spi: BA17723A

current inbound spi : 74E90416

inbound esp sas:

spi: 0x74E90416 (1961427990)

SA State: active

transform: esp-aes-256 esp-sha-256-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, VTI, }

slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1

sa timing: remaining key lifetime (kB/sec): (3962863/24100)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0xFFFFFFFF 0xFFFFFFFF

outbound esp sas:

spi: 0xBA17723A (3122098746)

SA State: active

transform: esp-aes-256 esp-sha-256-hmac no compression

in use settings ={L2L, Tunnel, IKEv2, VTI, }

slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1

sa timing: remaining key lifetime (kB/sec): (4008947/24100)

IV size: 16 bytes

replay detection support: Y

Anti replay bitmap:

0x00000000 0x00000001

ciscoasa#

ステップ 3： BGPまたはエンドポイントリソースのレイヤ3ルーティングとレイヤ4接続を検証するため、スタティックルーティングを使用している場合は、pingおよびping tcpを使用してBGPリモートルータへのトンネル経由の接続を確認します。

ciscoasa# ping 10.1.2.254

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.254, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms

ciscoasa# ping tcp 10.1.2.254 179

Type escape sequence to abort.

No source specified. Pinging from identity interface.

Sending 5 TCP SYN requests to 10.1.2.254 port 179

from 192.168.100.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 41/42/42 ms

ciscoasa#

ステップ 4：BGPを使用する場合は、Azureに対して受信およびアドバタイズされたBGP接続ルートと、ASAのルーティングテーブルを確認します。

ciscoasa# show bgp summary

BGP router identifier 192.168.100.1, local AS number 65000

BGP table version is 6, main routing table version 6

4 network entries using 800 bytes of memory

5 path entries using 400 bytes of memory

2/2 BGP path/bestpath attribute entries using 416 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 1640 total bytes of memory

BGP activity 14/10 prefixes, 17/12 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

10.1.2.254      4        65515 73      60             6    0    0 01:02:26  3

ciscoasa# show bgp neighbors 10.1.2.254 routes

BGP table version is 6, local router ID is 192.168.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.1.0.0/16      10.1.2.254                         0  65515 i   <<< This is the virtual network defined in Azure

*  192.168.100.0/30 10.1.2.254                         0  65515 i

r> 192.168.100.1/32 10.1.2.254                         0  65515 i

Total number of prefixes 3

ciscoasa# show bgp neighbors 10.1.2.254 advertised-routes

BGP table version is 6, local router ID is 192.168.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 192.168.2.0      0.0.0.0              0         32768  i        <<< These are the routes being advertised to Azure

*> 192.168.100.0/30 0.0.0.0              0         32768  i        <<<

Total number of prefixes 2

ciscoasa#

ciscoasa# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is 10.1.251.33 to network 0.0.0.0

S*       0.0.0.0 0.0.0.0 [1/0] via B.B.B.C, outside

B        10.1.0.0 255.255.0.0 [20/0] via 10.1.1.254, 01:03:33

S        10.1.2.254 255.255.255.255 [1/0] via 192.168.100.2, AZURE

C        B.B.B.A 255.255.255.224 is directly connected, outside

L        B.B.B.B 255.255.255.255 is directly connected, outside

C        192.168.2.0 255.255.255.0 is directly connected, inside

L        192.168.2.2 255.255.255.255 is directly connected, inside

C        192.168.100.0 255.255.255.252 is directly connected, AZURE

L        192.168.100.1 255.255.255.255 is directly connected, AZURE

ステップ 5：トンネルを介してデバイスにpingを実行します。この例では、Azureで実行されるUbuntu VMです。

ciscoasa# ping 10.1.0.4

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.0.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms

リモートVMの有効なルートを今すぐ表示します。これらは、図に示すように、ASAがクラウドにアドバタイズしたルートを示す必要があります。

トラブルシュート

現在のところ、この設定に関する特定のトラブルシューティング情報はありません。