はじめに
このドキュメントでは、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: tunnel-groupを設定します。
図に示すように、ステップ3で作成した仮想ネットワークゲートウェイのパブリックIPv4アドレスを取得します。
次に、ASAで、group-policyとtunnel-groupを、ステップ3で定義した事前共有キーで設定します。
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がクラウドにアドバタイズしたルートを示す必要があります。
トラブルシュート
現在のところ、この設定に関する特定のトラブルシューティング情報はありません。