簡介
本文檔介紹如何將ASA配置為通過Management VPN隧道從AnyConnect安全移動客戶端接受連線。
必要條件
需求
思科建議您瞭解以下主題:
- 通過自適應安全裝置管理器(ASDM)配置VPN
- 基本自適應安全裝置(ASA)CLI配置
- X509憑證
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Cisco ASA軟體版本9.12(3)9
- Cisco ASDM軟體版本7.12.2
- Windows 10與Cisco AnyConnect安全移動客戶端版本4.8.03036
注意:從Cisco Software Download(僅限註冊客戶)下載AnyConnect VPN Web Deploy包(anyconnect-win*.pkg or anyconnect-macos*.pkg
)。將AnyConnect VPN客戶端複製到要下載到遠端使用者電腦的ASA的快閃記憶體,以與ASA建立SSL VPN連線。有關詳細資訊,請參閱ASA配置指南的安裝AnyConnect客戶端部分。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
管理VPN隧道確保無論何時客戶端系統通電時連線到公司網路,而不僅僅是在終端使用者建立VPN連線時。您可以對辦公室外端點(尤其是使用者通過VPN不經常連線到辦公室網路的裝置)執行補丁管理。需要企業網路連線的終端作業系統登入指令碼也受益於此功能。
AnyConnect管理隧道允許管理員在使用者登入之前連線AnyConnect,而無需使用者干預。AnyConnect管理隧道可與受信任網路檢測結合使用,因此僅當終端位於外部並與使用者啟動的VPN斷開連線時才會觸發。AnyConnect管理隧道對終端使用者是透明的,在使用者發起VPN時自動斷開。
作業系統/應用程式 |
最低版本要求 |
ASA |
9.0.1 |
ASDM |
7.10.1 |
Windows AnyConnect版本 |
4.7.00136 |
macOS AnyConnect版本 |
4.7.01076 |
Linux |
不支援 |
管理隧道的工作
AnyConnect VPN代理服務在系統啟動時自動啟動。它檢測到管理隧道功能已啟用(通過管理VPN配置檔案),因此它啟動管理客戶端應用程式以啟動管理隧道連線。管理客戶端應用程式使用管理VPN配置檔案中的主機條目來啟動連線。然後,VPN隧道按慣例建立,但有一個例外:管理隧道連線期間不執行軟體更新,因為管理隧道對使用者是透明的。
使用者通過AnyConnect UI啟動VPN隧道,這將觸發管理隧道終止。一旦管理隧道終止,使用者隧道建立將照常繼續。
使用者斷開VPN隧道的連線,從而觸發管理隧道的自動重建。
限制
- 不支援使用者互動
- 僅支援通過電腦證書儲存區(Windows)進行的基於證書的身份驗證
- 強制實施嚴格的伺服器證書檢查
- 不支援專用代理
- 不支援公共代理(在無法從瀏覽器中檢索本機代理設定的平台上支援ProxyNative值)
- 不支援AnyConnect自定義指令碼
注意:有關詳細資訊,請參閱關於管理VPN隧道。
設定
本節介紹如何將Cisco ASA配置為VPN網關,以便通過管理VPN隧道從AnyConnect客戶端接受連線。
通過ASDM/CLI在ASA上進行配置
步驟 1.建立AnyConnect組策略。導航至Configuration > Remote Access VPN > Network (Client) Access > Group Policies
。按一下Add
。
注意:建議您建立僅用於AnyConnect管理隧道的新AnyConnect組策略。
步驟 2.為組策略Name
提供。指派/建立Address Pool
。選擇Tunneling Protocols
SSL VPN Client
和/或IPsec IKEv2
,如下圖所示。
步驟 3. 導航至Advanced > Split Tunneling
。設定Policy
Tunnel Network List Below
,然後選擇Network List
,如下圖所示。
注意:如果沒有為兩個IP協定(IPv4和IPv6)推送客戶端地址,則設定必須Client Bypass Protocol
,以使對應的流量不會受到管理隧道的中斷enabled
。要配置,請參閱步驟4。
步驟 4. 導航至Advanced > AnyConnect Client
。 將Client Bypass Protocol
設定為Enable
。 按一下OK
「Save」,如下圖所示。
步驟 5.如圖所示,按一下Apply
將配置推送到ASA。
組策略的CLI配置:
ip local pool VPN_Pool 192.168.10.1-192.168.10.100 mask 255.255.255.0
!
access-list VPN-Split standard permit 172.16.0.0 255.255.0.0
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-network-list value VPN-Split
client-bypass-protocol enable
address-pools value VPN_Pool
步驟 6.建立AnyConnect連線配置檔案。導航至Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profile
。 按一下Add
。
注意:建議您建立僅用於AnyConnect管理隧道的新AnyConnect連線配置檔案。
步驟 7.為連線Name
配置檔案提供一個,並將Authentication Method
設定為Certificate only
。選擇Group Policy
作為步驟1中建立的專案。
注意:確保ASA上存在來自本地CA的根證書。 導航到Configuration > Remote Access VPN > Certificate Management > CA Certificates
以新增/檢視證書。
注意:請確保由同一本地CA頒發的身份證書存在於電腦證書儲存區(Windows)和/或系統金鑰鏈(MacOS)中。
步驟 8.導航至Advanced > Group Alias/Group URL
。按一下Add
下的Group URLs
,然後新增一個URL
。確保選中Enabled
。按一下OK
「Save」,如下圖所示。
如果使用IKEv2,請確保IPsec (IKEv2) Access
在用於AnyConnect的介面上啟用。
步驟 9.單Apply
擊將配置推送到ASA。
連線配置檔案的CLI配置(隧道組):
tunnel-group AnyConnect_MGMT_Tunnel type remote-access
tunnel-group AnyConnect_MGMT_Tunnel general-attributes
default-group-policy AnyConnect_MGMT_Tunnel
tunnel-group AnyConnect_MGMT_Tunnel webvpn-attributes
authentication certificate
group-url https://asa.example.com/AnyConnect_MGMT_Tunnel enable
步驟 10.確保在ASA上安裝受信任證書並繫結到用於AnyConnect連線的介面。導航到Configuration > Remote Access VPN > Advanced > SSL Settings
,新增/檢視此設定。
注意:請參閱在ASA上安裝身份證書。
SSL信任點的CLI配置:
ssl trust-point ROOT-CA outside
建立AnyConnect管理VPN配置檔案
步驟 1. 建立AnyConnect客戶端配置檔案。導航至Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Profile
。按一下Add
,如下圖所示。
步驟 2.提供Profile Name
。選擇Profile Usage
AnyConnect Management VPN profile
。選擇在Group Policy
步驟1中建立的。按一下OK
,如下圖所示。
步驟 3.選擇已建立的配置檔案,然後按一下Edit,如下圖所示。
步驟 4.導航至Server List
。按一下Add
以新增伺服器清單專案,如下圖所示。
步驟 5.提供Display Name
。新增FQDN/IP address
ASA的。提供User Group
,作為隧道組名稱Group URL
。會自動填充FQDN
和User Group
。按一下OK
。
注意:FQDN/IP地址+使用者組必須與步驟8中配置AnyConnect連線配置檔案時提到的組URL相同。
注意:將IKEv2作為協定的AnyConnect也可用於建立到ASA的管理VPN。確保Primary Protocol
在步驟5中設定為IPsec
。
步驟 6.如圖所示,按一下OK
「Save」。
步驟 7.單Apply
擊將配置推送到ASA,如下圖所示。
新增AnyConnect管理VPN配置檔案後的CLI配置。
webvpn
enable outside
hsts
enable
max-age 31536000
include-sub-domains
no preload
no anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.8.02045-webdeploy-k9.pkg 1
anyconnect profiles AnyConnect_MGMT_Profile disk0:/anyconnect_mgmt_profile.vpnm
anyconnect enable
tunnel-group-list enable
cache
disable
error-recovery disable
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-network-list value VPN-Split
client-bypass-protocol enable
address-pools value VPN_Pool
webvpn
anyconnect profiles value AnyConnect_MGMT_Profile type vpn-mgmt
AnyConnect客戶端電腦上的AnyConnect管理VPN配置檔案:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="false">false</UseStartBeforeLogon>
true
<ShowPreConnectMessage>false</ShowPreConnectMessage>
Machine
System
true
<ProxySettings>IgnoreProxy</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>30</AuthenticationTimeout>
--- Output Omitted ---
<CaptivePortalRemediationBrowserFailover>false</CaptivePortalRemediationBrowserFailover>
<AllowManualHostInput>false</AllowManualHostInput>
</ClientInitialization>
AnyConnect_MGMT_Tunnel
asa.example.com
AnyConnect_MGMT_Tunnel
</AnyConnectProfile>
注意:如果使用者AnyConnect VPN配置檔案中使用了受信任網路檢測(TND),則建議匹配管理VPN配置檔案中的相同設定,以獲得一致的使用者體驗。根據應用到使用者VPN隧道配置檔案的TND設定觸發管理VPN隧道。 此外,管理VPN配置檔案中的TND連線操作(僅在管理VPN隧道處於活動狀態時實施)始終應用於使用者VPN隧道,以確保管理VPN隧道對終端使用者透明。
注意:在任何最終用戶PC上,如果管理VPN配置檔案啟用了TND設定,且使用者VPN配置檔案缺失,則它會考慮TND的預設首選項設定(在AC客戶端應用程式中的預設首選項中禁用了該設定)來代替缺失的使用者VPN配置檔案。這種不匹配可能會導致意外/未定義的行為。
預設情況下,在預設首選項中禁用TND設定。
要克服AnyConnect客戶端應用程式中的預設首選項硬編碼設定,終端使用者PC必須擁有兩個VPN配置檔案,一個使用者VPN配置檔案和一個交流管理VPN配置檔案,並且兩者必須具有相同的TND設定。
管理VPN隧道連線和斷開背後的邏輯是,為了建立管理VPN隧道,AC代理使用使用者VPN配置檔案TND設定,而對於管理VPN隧道的斷開,它將檢查管理VPN配置檔案TND設定。
AnyConnect管理VPN配置檔案的部署方法
- 使用ASA連線配置檔案成功完成使用者VPN連線,以便從VPN網關下載AnyConnect管理VPN配置檔案。
注意:如果用於管理VPN隧道的協定是IKEv2,則需要通過SSL建立第一個連線(為了從ASA下載AnyConnect管理VPN配置檔案)。
(可選)配置自定義屬性以支援全隧道配置
預設情況下,管理VPN隧道需要包括隧道配置的拆分,以避免對使用者發起的網路通訊產生影響。在管理隧道連線使用的組策略中配置自定義屬性時,可以覆蓋此屬性。
步驟 1.導航至Configuration > Remote Access VPN > Network (Client) Access > Advanced > AnyConnect Custom Attributes
。 按一下,如下圖所示。
步驟 2.將自定義屬性Type設定ManagementTunnelAllAllowed
為並提供Description
。按一下OK
,如下圖所示。
步驟 3. 導航至Configuration > Remote Access VPN > Network (Client) Access > Advanced > AnyConnect Custom Attribute Names
。按一下,如下圖所示。
步驟 4.選擇Type為ManagementTunnelAllAllowed
。 將Name設定為true
。按一下Add
以提供自訂屬性值,如下圖所示。
步驟 5.將Value設定為true
。按一下OK
,如下圖所示。
步驟 6.導航至Configuration > Remote Access VPN > Network (Client) Access > Group Policies
。選擇組策略。 單Edit
擊,如下圖所示。
步驟 7.如本圖所示,導覽至Advanced > Split Tunneling
。將策略配置為Tunnel All Networks
。
步驟 8.導航至Advanced > Anyconnect Client > Custom Attributes
。按一下Add
,如下圖所示。
步驟 9. 選擇「屬性」型別ManagementTunnelAllAllowed
為,然後選擇「值」 true
。按一下 OK
,如下圖所示。
步驟 10.按一下Apply
,將配置推送到ASA,如下圖所示。
新增自定義屬性ManagementTunnelAllAllowed
(Custom Attribute)之後的CLI配置(C):
webvpn
enable outside
anyconnect-custom-attr ManagementTunnelAllAllowed description ManagementTunnelAllAllowed
hsts
enable
max-age 31536000
include-sub-domains
no preload
no anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.8.02045-webdeploy-k9.pkg 1
anyconnect profiles AnyConnect_MGMT_Profile disk0:/anyconnect_mgmt_profile.vpnm
anyconnect enable
tunnel-group-list enable
cache
disable
error-recovery disable
!
anyconnect-custom-data ManagementTunnelAllAllowed true true
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-policy tunnelall
client-bypass-protocol enable
address-pools value VPN_Pool
anyconnect-custom ManagementTunnelAllAllowed value true
webvpn
anyconnect profiles value AnyConnect_MGMT_Profile type vpn-mgmt
驗證
使用命令驗證ASA CLI上的管理VPN隧道連show vpn-sessiondb detail anyconnect
接。
ASA# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : vpnuser Index : 10
Assigned IP : 192.168.10.1 Public IP : 10.65.84.175
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384
Bytes Tx : 17238 Bytes Rx : 1988
Pkts Tx : 12 Pkts Rx : 13
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : AnyConnect_MGMT_Tunnel Tunnel Group : AnyConnect_MGMT_Tunnel
Login Time : 01:23:55 UTC Tue Apr 14 2020
Duration : 0h:11m:36s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : c0a801010000a0005e9510ab
Security Grp : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
--- Output Omitted ---
DTLS-Tunnel:
Tunnel ID : 10.3
Assigned IP : 192.168.10.1 Public IP : 10.65.84.175
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: DTLSv1.2 UDP Src Port : 57053
UDP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 18 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.8.03036
Bytes Tx : 17238 Bytes Rx : 1988
Pkts Tx : 12 Pkts Rx : 13
Pkts Tx Drop : 0 Pkts Rx Drop : 0
驗證ASDM上的管理VPN隧道連線。
導航到Monitoring > VPN > VPN Statistics > Sessions。按AnyConnect Client過濾以檢視客戶端會話。
驗證客戶端電腦上的管理VPN隧道連線:
疑難排解
新的UI統計資訊行(管理連線狀態)可用於排除管理隧道連線問題。以下是常見的錯誤狀態:
已斷開連線(禁用):
- 功能已禁用。
- 確保通過使用者隧道連線(要求您將管理VPN配置檔案新增到使用者隧道組策略)或通過手動上傳配置檔案將管理VPN配置檔案部署到客戶端。
- 確保為管理VPN配置檔案配置了一個包含隧道組的單個主機條目。
已斷開連線(受信任網路):
已斷開連線(使用者隧道處於活動狀態):
已斷開連線(進程啟動失敗):
已斷開連線(連線失敗):
- 建立管理隧道時遇到連線故障。
- 確保在隧道組中配置證書身份驗證,組策略中不存在標語,並且伺服器證書必須受信任。
已斷開連線(無效的VPN配置):
- 從VPN伺服器接收到無效的分割隧道或客戶端旁路協定配置。
- 根據文檔檢查管理隧道組策略中的配置。
已斷開連線(軟體更新掛起):
已斷開連線:
收集DART以進一步進行故障排除。
相關資訊