本文檔介紹思科ASA與思科安全防火牆和Microsoft Azure雲服務之間的VPN的概念和配置。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
使用IPSec的IP地址範圍允許其參與VPN隧道。使用本地流量和遠端流量選擇器定義加密域,以指定IPSec捕獲和加密的本地和遠端子網范圍。
以下是定義VPN加密域的兩種方法:基於路由或基於策略的流量選擇器:
基於路由:
加密域設定為允許任何進入IPSec隧道的流量。IPSec本地和遠端流量選擇器設定為0.0.0.0。這意味著路由到IPSec隧道的所有流量都會被加密,無論源/目標子網如何。
Cisco Adaptive Security Appliance(ASA)在9.8版及更高版本中支援使用虛擬隧道介面(VTI)的基於路由的VPN。
由Firepower管理中心(FMC)管理的Cisco安全防火牆或Firepower威脅防禦(FTD)支援使用6.7版及更高版本中的VTI的基於路由的VPN。
基於策略:
加密域設定為只加密源和目標的特定IP範圍。基於策略的本地流量選擇器和遠端流量選擇器標識要通過IPSec加密的流量。
ASA支援8.2版及更高版本中的基於策略的VPN以及加密對映。
Microsoft Azure通過模擬的基於策略的流量選擇器支援基於路由、基於策略或基於路由的流量。Azure當前限制你可以根據VPN所選方法配置的Internet金鑰交換(IKE)版本。基於路由需要IKEv2,基於策略需要IKEv1。如果使用IKEv2,則必須選擇Azure中的基於路由且ASA必須使用VTI。
如果ASA由於代碼版本而僅支援加密對映,則必須將Azure配置為使用基於策略的流量選擇器進行基於路由的對映。這是通過PowerShell指令碼部署在Azure門戶中完成的,以實現Microsoft呼叫UsePolicyBasedTrafficSelectors的選項,您可以參考該選項:將VPN網關連線到多個本地基於策略的VPN裝置。
要從ASA和FTD配置角度進行總結,請執行以下操作:
完成配置步驟。選擇配置IKEv1、使用VTI的IKEv2路由或使用基於策略的流量選擇器(ASA上的加密對映)的IKEv2路由。
對於從ASA到Azure的站點到站點IKEv1 VPN,實施下一個ASA配置。確保在Azure門戶中配置基於策略的隧道。在此示例中,在ASA上使用加密對映。
參考使用ASAv上的ASDM或CLI配置IKEv1 IPsec站點到站點隧道,以獲取ASA配置資訊的完整IKEv1。
1.在外部介面上啟用IKEv1。
Cisco-ASA(config)#crypto ikev1 enable outside
2.建立IKEv1策略,該策略定義用於雜湊、身份驗證、Diffie-Hellman組、生存期和加密的演算法/方法。
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地址或多個對象的容器的對象或對象組。建立兩個具有本地和遠端子網的對象,並將它們用於加密訪問控制清單(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.配置轉換集(TS),該轉換集必須包含關鍵字IKEv1。此外,還必須在遠端端建立相同的TS。
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
步驟6.配置加密對映並將其應用於具有以下元件的外部介面:
可選PFS設定建立用於保護資料的新Diffie-Hellman金鑰對(在第2階段啟動之前,兩端必須啟用PFS。) 可通過運行以下命令啟用此設定:crypto map outside_map 20 set pfs。
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
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門戶中配置UsePolicyBasedTrafficSelector。ASA上配置了VTI。
參考CLI手冊3:Cisco ASA系列VPN CLI配置指南9.8,獲取完整的ASA VTI配置資訊。
1.在外部介面上啟用IKEv2:
Cisco-ASA(config)#crypto ikev2 enable outside
2.新增IKEv2第1階段策略。
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建議配置模式下指定安全引數:
protocol esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
通訊協定esp完整性{md5 | sha-1 | sha-256 | sha-384 | sha-512 | null}
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.新增指定:
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必須是隧道介面子網上的任何IP地址(存在或不存在),例如169.254.0.2。此gateway_ip的目的是將流量指向隧道介面,但是,特定網關IP本身並不重要。
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 169.254.0.2
對於從FTD到Azure的站點到站點IKEv1 VPN,您必須先將FTD裝置註冊到FMC。
1.建立站點到站點策略。導航至FMC控制面板>裝置> VPN >站點到站點.

2.建立新策略。按一下Add VPN下拉選單,然後選擇Firepower Threat Defense Device。

3.在Create new VPN Topology視窗中,指定Topology Name,選中IKEV1 protocol覈取方塊,然後按一下IKE頁籤。在本示例中,預共用金鑰用作身份驗證方法。按一下Authentication Type下拉選單,然後選擇Pre-shared Manual Key。在Key和Confirm Key文本欄位中鍵入手動預共用金鑰。

4.通過建立一個新引數來配置ISAKMP策略或第1階段引數。在同一視窗中,按一下綠色+按鈕以新增新的ISAKMP策略。指定策略名稱,並選擇所需的加密、雜湊、Diffie-Hellman組、Lifetime和Authentication Method,然後按一下Save。

5.配置IPsec策略或階段2引數。導航到IPsec頁籤,在Crypto Map Type覈取方塊中選擇Static。在轉換集選項的IKEV1 IPsec建議中,按一下edit pencil圖示。
6.建立新的IPsec方案。在IKEv1 IPSec Proposal視窗中,按一下綠色+按鈕以新增新的建議。為ESP加密和ESP雜湊演算法指定策略名稱及其所需的引數,然後按一下Save。
7. 在IKEV1 IPsec Proposal視窗上,將新的IPsec策略新增到Selected Transform Sets部分,然後按一下OK。

8.返回IPSec頁籤,配置所需的生存期持續時間和大小。

9.選擇「加密域」/「流量選擇器」/「受保護的網路」。導航到Endpoints頁籤。在節點A上,單green + button擊按鈕新增新節點。在此範例中,節點A用作FTD的本地子網。

10.在「Add Endpoint」視窗中,指定要在Device下拉選單中使用的FTD及其物理介面和IP地址。
11.要指定本地流量選擇器,請導航到Protected Networks 選項,然後按一下綠色+按鈕以建立新對象。
12.在「Network Objects」視窗中,按一下「Available Networks」文本旁邊的綠色+按鈕,建立新的本地流量選擇器對象。

13.在「新建網路對象」視窗中,指定對象的名稱並相應選擇;主機/網路/範圍/FQDN。然後按一下Save。

14.將對象新增到「網路對象」視窗的「所選網絡」部分,然後單擊「確定」。在「新增終點」視窗中單擊「確定」。
15.定義節點B,在本示例中,該節點是Azure終結點。在Create New VPN Topology視窗中,導航到Node B部分,然後按一下綠色+按鈕以新增遠端終端流量選擇器。為不是由與節點A相同的FMC管理的所有VPN對等終端指定Extranet。鍵入裝置的名稱(僅在本地有效)及其IP地址。
16.建立遠端流量選擇器對象。導航到受保護網路部分,然後按一下綠色+按鈕新增新對象。
17.在「Network Objects」視窗中,按一下「Available Networks」文本旁邊的綠色+按鈕,建立一個新對象。在「New Network Object」視窗中,指定對象的名稱並相應選擇;host/range/network/FQDN,然後按一下Save。

18.返回Network Objects視窗,將新的遠端對象新增到Selected Networks部分,然後按一下OK。在Add Endpoint 視窗中按一下OK。

19.在Create New VPN Topology視窗中,您現在可以看到兩個節點及其正確的流量選擇器/受保護網路。按一下「Save」。
20.在FMC控制面板上,按一下右上窗格中的Deploy,選擇FTD裝置,然後按一下Deploy。
21.在CLI上,VPN配置與ASA裝置的配置看起來相同。
對於使用加密對映的ASA上的站點到站點IKEv2 VPN,請使用此配置。確保Azure配置為基於路由的VPN,並且必須使用PowerShell在Azure門戶中配置UsePolicyBasedTrafficSelector。
從Microsoft將一個VPN網關連線到多個基於本地策略的VPN設備,介紹了與基於路由的Azure VPN模式結合使用UsePolicyBasedTrafficSelector的配置。如果不完成此步驟,由於從Azure接收的流量選擇器不匹配,具有加密對映的ASA無法建立連線。
參考CLI手冊3:Cisco ASA系列VPN CLI配置指南9.8版,提供完整的ASA IKEv2,以及加密對映配置資訊。
1.在外部介面上啟用IKEv2:
Cisco-ASA(config)#crypto ikev2 enable outside
2.新增IKEv2第1階段策略。
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地址或多個對象的容器的對象或對象組。建立兩個具有本地和遠端子網的對象,並將它們用於加密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方案。在加密IPsec ikev2 ipsec建議配置模式下指定安全引數:
protocol esp encryption {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
通訊協定esp完整性{md5 | sha-1 | sha-256 | sha-384 | sha-512 | null}
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)設定,該設定建立用於保護資料的新Diffie-Hellman金鑰對(在第2階段啟動之前,兩端必須啟用PFS。)
Microsoft發佈的資訊與Azure使用的第2階段IPSec生存期和PFS屬性衝突。
列出的屬性來自基於路由的VPN IPsec安全關聯(IKE快速模式SA)產品。
來自Microsoft的第2階段IPSec屬性資訊,衝突為示例配置:Cisco ASA裝置(IKEv2/無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
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
在本示例中,IKEv1 SA是以ASA作為發起方構建的,以剩餘生存期86388秒的對等IP 192.168.2.2:
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
通過IPSec SA傳送四個資料包,接收四個資料包,沒有錯誤。一個帶有SPI 0x9B60EDC5的入站SA和一個帶有SPI 0x8E7A2E12的出站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:和Bytes Rx:顯示通過IPSec SA傳送和接收的資料計數器。
1.驗證ASA在發往Azure專用網路的內部介面上接收到VPN的流量。要測試,您可以從內部客戶端配置連續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
2.驗證ASA內部介面上接收的流量是否由ASA正確處理並路由到VPN:
模擬ICMP回應請求:
packet-tracer input [inside-interface-name] icmp [inside-host-ip] 8 0 [azure-host-ip] detail
請參閱使用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,隧道已建立,您可以看到安裝了封裝的IPSec SA。
2.1.如果ENCRYPT:在Packet Tracer中可看到ALLOW。
2.2.如果在Packet Tracer中看到ENCRYPT:DROP。
驗證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調試輸出,則這意味著流量在到達加密進程之前被丟棄,或者該盒上未啟用加密ikev1/ikev2。仔細檢查加密配置和資料包丟棄。
如果ike-common調試顯示已觸發加密進程,請調試IKE配置的版本以檢視隧道協商消息並確定使用Azure構建隧道時失敗的位置。
請參閱完整的ikev1調試過程和分析:ASA IPsec和IKE調試(IKEv1主模式)故障排除TechNote。
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
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
5.0 |
24-Jul-2026
|
已更新文章說明、影象連結、樣式要求和格式。 |
3.0 |
09-Sep-2022
|
內容審查/重新認證 |
2.0 |
28-Feb-2022
|
已作為Firestarter請求的一部分新增對FTD 6.7的支援。 |
1.0 |
27-Mar-2019
|
初始版本 |