目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

驗證

疑難排解

簡介

本文檔介紹如何配置到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門戶生成的。Azure門戶的配置也可以透過PowerShell或API執行。有關Azure配置方法的詳細資訊，請參閱Azure文檔。

注意：目前，VTI僅在單情景路由模式下受支援。

設定

本指南假定尚未配置Azure雲。如果已建立資源，則可以跳過其中某些步驟。

步驟 1. 在Azure內配置網路。

這是居住在Azure雲中的網路地址空間。此地址空間必須足夠大，才能容納其中的子網（如圖所示）。

名稱

雲中託管的IP地址空間的名稱

地址空間

Azure中託管的整個CIDR範圍。本例中使用的是10.1.0.0/16。

子網名稱

虛擬網路中建立的第一個子網名稱，VM通常連線到該虛擬網路。通常建立名為default的子網。

子網地址範圍

在虛擬網路中建立的子網。

步驟 2. 修改虛擬網路以建立網關子網。

導航到虛擬網路並增加網關子網。本例中使用的是10.1.1.0/24。

步驟 3. 建立虛擬網路網關。

這是託管在雲中的VPN終端。這是ASA用來構建IPSec隧道的裝置。此步驟還會建立分配給虛擬網路網關的公共IP。  完成此步驟可能需要15 ― 20分鐘。

名稱

虛擬網路閘道的名稱

閘道型別

選擇VPN，因為這是IPSec VPN。

VPN型別

選擇Route-based，因為這是VTI。加密對映VPN完成後，使用基於策略的。

SKU

需要根據所需的流量量選擇VpnGw1或更高版本。Basic不支援

邊界網關協定(BGP)。

啟用的主用/主用模式

請勿啟用。在發佈時，ASA沒有從環回中獲取BGP會話的功能

或介面內部。Azure僅允許BGP對等使用1個IP地址。

公用IP位址

建立新的IP位址並為資源指定名稱。

配置BGP ASN

選中此框可在鏈路上啟用BGP。

ASN

保留此為預設65515。這是自我展示的ASN Azure。

步驟 4. 建立本地網路網關。

本地網路網關是代表ASA的資源。

名稱

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上使用步驟3中定義的預共用金鑰配置group-policy和tunnel-group。

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交換路由。

在Azure中找到BGP路由器的IP地址，以檢視第3步中建立的虛擬網路網關的配置。在本示例中，該地址為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上靜態配置路由。配置ASA，以便透過VTI隧道向Azure網路傳送流量。

route AZURE 10.1.0.0 255.255.0.0 192.168.100.2 1

使用存在於ASA之後的網路和隧道介面上的子網修改步驟4中建立的本地網路網關，並在增加其他網路空間部分下增加字首。

驗證

使用本節內容，確認您的組態是否正常運作。

步驟 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. 使用ping和ping tcp驗證透過BGP遠端路由器的隧道的連通性，以驗證BGP或終端資源（如果使用靜態路由）的第3層路由和第4層連通性。

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

立即檢視遠端虛擬機器上的有效路由。它們必須顯示ASA向雲通告的路由，如圖所示。

疑難排解

目前沒有特定資訊可用於對此組態進行疑難排解。