簡介
本文檔介紹如何配置到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文檔。
設定
本指南假定尚未配置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向雲通告的路由,如圖所示。
疑難排解
目前沒有特定資訊可用於對此組態進行疑難排解。