本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹Cisco AnyConnect安全行動化使用者端通道、重新連線行為和失效對等體檢測(DPD)以及非活動計時器。
有兩種方法用於連線AnyConnect會話:
根據連線方式,您可以在思科自適應安全裝置(ASA)上建立三個不同的隧道(會話),每個隧道都有特定的用途:
註:AnyConnect-Parent表示客戶端未主動連線時的會話。實際上,它的工作方式與cookie類似,因為它是ASA上的資料庫條目,該條目對映到來自特定客戶端的連線。如果客戶端休眠/休眠,則隧道(IPsec/Internet金鑰交換(IKE)/傳輸層安全(TLS)/資料包傳輸層安全(DTLS)協定)會關閉,但父交換機將一直保留,直到空閒計時器或最大連線時間生效。這樣使用者無需重新身份驗證即可重新連線。
以下是兩種連線方法的輸出示例。
通過Web啟動連線的AnyConnect:
ASA5520-C(config)# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1435
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Protocol : Clientless SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : Clientless: (1)RC4 SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : Clientless: (1)SHA1 SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 335765 Bytes Rx : 31508
Pkts Tx : 214 Pkts Rx : 18
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 22:13:37 UTC Fri Nov 30 2012
Duration : 0h:00m:34s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
Clientless Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
Clientless:
Tunnel ID : 1435.1
Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : Web Browser
Client Ver : Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Bytes Tx : 329671 Bytes Rx : 31508
SSL-Tunnel:
Tunnel ID : 1435.2
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Src Port : 1241
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 3.1.01065
Bytes Tx : 6094 Bytes Rx : 0
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 1435.3
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : AES128 Hashing : SHA1
Encapsulation: DTLSv1.0 Compression : LZS
UDP Src Port : 1250 UDP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : DTLS VPN Client
Client Ver : Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
通過獨立應用程式連線的AnyConnect:
ASA5520-C(config)# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1436
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 12244 Bytes Rx : 777
Pkts Tx : 8 Pkts Rx : 1
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 22:15:24 UTC Fri Nov 30 2012
Duration : 0h:00m:11s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 1436.1
Public IP : 172.16.250.17
Encryption : none Hashing : none
TCP Src Port : 1269 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : AnyConnect
Client Ver : 3.1.01065
Bytes Tx : 6122 Bytes Rx : 777
Pkts Tx : 4 Pkts Rx : 1
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 1436.2
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : RC4 Hashing : SHA1
Encapsulation: TLSv1.0 TCP Src Port : 1272
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 3.1.01065
Bytes Tx : 6122 Bytes Rx : 0
Pkts Tx : 4 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
DTLS-Tunnel:
Tunnel ID : 1436.3
Assigned IP : 192.168.1.4 Public IP : 172.16.250.17
Encryption : AES128 Hashing : SHA1
Encapsulation: DTLSv1.0 Compression : LZS
UDP Src Port : 1280 UDP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 2 Minutes Idle TO Left : 1 Minutes
Client Type : DTLS VPN Client
Client Ver : 3.1.01065
Bytes Tx : 0 Bytes Rx : 0
Pkts Tx : 0 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
只有當會話中不再存在SSL隧道時,該會話才被視為非活動狀態(並且計時器開始增加)。因此,每個作業階段都使用SSL通道捨棄時間進行時間戳。
ASA5520-C# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : walter Index : 1336
Public IP : 172.16.250.17
Protocol : AnyConnect-Parent <- Here just the AnyConnect-Parent is active
but not SSL-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none
Hashing : AnyConnect-Parent: (1)none
Bytes Tx : 12917 Bytes Rx : 1187
Pkts Tx : 14 Pkts Rx : 7
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : My-Network Tunnel Group : My-Network
Login Time : 17:42:56 UTC Sat Nov 17 2012
Duration : 0h:09m:14s
Inactivity : 0h:01m:06s <- So the session is considered Inactive
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
有兩種方法可以斷開SSL隧道:
anyconnect dpd-interval
組策略設定中WebVPN屬性下的命令。預設情況下,ASA(網關)和客戶端的DPD均處於啟用狀態並設定為30秒。注意:請注意Cisco錯誤ID CSCts66926 - DPD在失去客戶端連線後無法終止DTLS隧道。
如前所述,DPD不會終止AnyConnect會話本身。它只是終止該會話內的隧道,以便客戶端可以重新建立隧道。如果客戶端無法重新建立隧道,會話將一直保持到ASA上的空閒計時器超時。由於預設情況下啟用DPD,客戶端經常會因為使用網路地址轉換(NAT)、防火牆和代理裝置在一個方向上關閉流而斷開連線。以較低的時間間隔(例如20秒)啟用keepalive有助於防止這種情況。
使用命令,在特定組策略的WebVPN屬性下啟用anyconnect ssl keepalive
Keepalive。預設情況下,計時器設定為20秒。
如果連線中斷,AnyConnect會嘗試重新連線。這是不可自動配置的。只要ASA上的VPN會話仍然有效,並且AnyConnect可以重新建立物理連線,VPN會話就會恢復。
重新連線功能會一直持續,直到會話超時或斷開連線超時(實際上是空閒超時)過期(如果沒有配置超時,則為30分鐘)。一旦這些會話過期,客戶端便無法繼續,因為ASA上已經丟棄了VPN會話。只要客戶端認為ASA仍具有VPN會話,它就會繼續。
無論網路介面如何變更,AnyConnect都會重新連線。無論網路介面卡(NIC)的IP位址是否變更,也不管連線是否從一個NIC交換到另一個NIC(無線交換到有線交換)。
考慮AnyConnect的重新連線過程時,必須記住三個級別的會話。此外,這些會話中每個會話的重新連線行為是松耦合的,因為它們中的任何會話都可以重新建立,而無需依賴於上一層的會話元素:
提示:這些ASA版本及更高版本包含更強的加密會話令牌:9.1(3)和8.4(7.1)
一旦網路連線中斷,即會啟動斷開連線超時計時器。只要此計時器沒有過期,AnyConnect客戶端就會繼續嘗試重新連線。Disconnect Timeout設定為Group Policy Idle-Timeout或Maximum Connect Time的最小設定。
此計時器的值顯示在協商中AnyConnect會話的事件檢視器中:
在本例中,會話在兩分鐘(120秒)後斷開,可以在AnyConnect的消息歷史記錄中檢查該會話:
提示:要使ASA響應嘗試重新連線的客戶端,父隧道會話必須仍存在於ASA資料庫中。在故障切換情況下,還需要啟用DPD,以便重新連線行為能夠正常工作。
從前面的消息可見,重新連線失敗。但是,如果重新連線成功,則會發生以下情況:
注意:請注意Cisco錯誤ID CSCtg33110。當AnyConnect重新連線時,VPN會話資料庫不會更新ASA會話資料庫中的公共IP地址。
在嘗試重新連線失敗的情況下,您會遇到以下消息:
註:為了使其更精確,已提交此增強請求:思科錯誤ID CSCsl52873 - ASA對AnyConnect沒有可配置的斷開連線超時。
漫遊功能允許AnyConnect在PC睡眠後重新連線。客戶端會繼續嘗試,直到空閒或會話超時過期,並且當系統進入休眠/待機狀態時,客戶端不會立即斷開隧道。對於不需要此功能的使用者,請將會話超時設定為較小的值,以防止睡眠/恢復重新連線。
註:修復思科錯誤ID CSCso17627(版本2.3(111)+)後,引入了控制旋鈕以在恢復功能時禁用此重新連線。
使用以下設定,可以通過AnyConnect XML配置檔案控制AnyConnect的自動重新連線行為:
<AutoReconnect UserControllable="true">true
<AutoReconnectBehavior>ReconnectAfterResume</AutoReconnectBehavior>
</AutoReconnect>
通過此更改,AnyConnect會在電腦從睡眠狀態恢復時嘗試重新連線。 AutoReconnectBehavior首選項預設為DisconnectOnSuspend。此行為不同於AnyConnect客戶端版本2.2。若要在恢復後重新連線,網路管理員必須在配置檔案中設定ReconnectAfterResume,或者讓使用者可以在配置檔案中控制AutoReconnect和AutoReconnectBehavior首選項,以便使用者對其進行設定。
A.從客戶端的角度來看,DPD僅在隧道建立階段斷開隧道。如果客戶端在隧道建立階段遇到三次重試(傳送四個資料包),並且未收到來自主VPN伺服器的響應,則在配置了其中一個備份伺服器後,它會回退到使用其中一個備份伺服器。但是,隧道建立後,從客戶端的角度來看,丟失的DPD對隧道沒有任何影響。DPDs的實際影響在VPN伺服器上,如DPDs and Inactivity Timers一節所述。
答:是,IKEv2的重試次數是固定的,每次重試六次/七個資料包。
A.除了是ASA上的對映外,父隧道還用於將AnyConnect映像升級從ASA推送到客戶端,因為客戶端在升級過程中未主動連線。
答:您可以使用show vpn-sessiondb anyconnect filter inactive命令過濾非活動會話。但是,沒有命令可以只註銷非活動會話。相反,您需要註銷特定會話,或註銷每個使用者(索引 — 名稱)、協定或隧道組的所有會話。增強功能請求Cisco錯誤ID CSCuh55707已存檔,以便新增僅註銷非活動會話的選項。
A.在SSL隧道或DTLS隧道關閉後,AnyConnect父會話的空閒到左側計時器將重置。這樣允許空閒超時充當斷開連線超時。這實際上成為客戶端重新連線的允許時間。如果使用者端沒有在計時器內重新連線,則父通道會終止。
A.頭端對客戶的狀態一無所知。在這種情況下,ASA會等待客戶端重新連線,直到會話在空閒計時器超時為止。DPD不會終止AnyConnect會話;它只會終止隧道(在該會話中),以便客戶端可以重新建立隧道。如果使用者端沒有重新建立通道,作業階段會一直保留,直到閒置計時器到期。
如果關注的是已使用的會話,請將同時登入設定為較小的值,如1。使用此設定,會話資料庫中具有會話的使用者在再次登入時將刪除其以前的會話。
A.最初,建立會話時,三個隧道(父隧道、SSL隧道和DTLS隧道)會複製到備用裝置。當ASA進行故障轉移後,DTLS和TLS會話會重新建立,因為它們沒有同步到備用裝置,但是在AnyConnect會話重新建立後,流經隧道的所有資料都必須正常工作。
SSL/DTLS會話不是有狀態的,因此SSL狀態和序列號不會維護,並且可能非常繁重。因此,需要重新建立這些作業階段,這可通過父作業階段和作業階段權杖來完成。
提示:如果禁用keepalive,在發生故障切換時,SSL VPN客戶端會話不會轉移到備用裝置。
A.在制定協定時,提供了兩種不同的超時:
ASA上從未實現斷開連線的超時。相反,ASA會將空閒和斷開連線超時的空閒超時值傳送到客戶端。
客戶端不使用空閒超時,因為ASA處理空閒超時。客戶端使用斷開連線的超時值(與空閒超時值相同),以便瞭解由於ASA已丟棄會話而何時放棄重新連線嘗試。
ASA未主動連線到客戶端,但會通過空閒超時使會話超時。在ASA上不實施斷開連線超時的主要原因是避免為每個VPN會話新增另一個計時器以及ASA上的額外開銷(儘管這兩種情況下可以使用相同的計時器,但使用不同的超時值即可,因為兩種情況是互斥的)。
通過斷開連線超時新增的唯一值是允許管理員為客戶端未主動連線與空閒時指定不同的超時。如前所述,已針對此問題提交了思科錯誤ID CSCsl52873。
答:預設情況下,AnyConnect會在您失去連線時嘗試重新建立VPN連線。預設情況下,系統恢復後不會嘗試重新建立VPN連線。有關詳細資訊,請參閱系統掛起情況下的AnyConnect客戶端行為。
A.通道級重新連線也不起作用。這只是在SSL或DTLS上重新連線。這些在投降前大約需要30秒。如果DTLS失敗,則直接丟棄。如果SSL失敗,將導致會話級重新連線。會話級重新連線會完全重新執行路由。如果在重新連線時分配的客戶端地址或影響虛擬介面卡(VA)的任何其他配置引數未更改,則不會禁用VA。雖然從ASA接收的配置引數不太可能有任何更改,但用於VPN連線的物理介面的變化(例如,取消停靠並從有線連線到WiFi)可能會導致VPN連線的不同最大傳輸單位(MTU)值。MTU值會影響VA,如果更改該值,則會禁用VA,然後重新啟用。
答:AnyConnect不提供任何額外的魔法以適應應用程式的會話永續性。但是,只要在ASA上配置的空閒和會話超時未過期,VPN連線將在恢復與安全網關的網路連線後不久自動恢復。而且與IPsec客戶端不同,自動重新連線會導致同一客戶端IP地址。當AnyConnect嘗試重新連線時,AnyConnect虛擬介面卡保持啟用狀態且處於已連線狀態,因此客戶端IP地址始終在客戶端PC上保持存在並啟用,這樣客戶端IP地址就具有永續性。但是,如果恢復VPN連線的時間過長,客戶端PC應用程式仍會感到與企業網路上的伺服器失去連線。
答:此功能在Mac和Linux上有效。Mac和Linux也存在一些問題,但最近也有一些改進,特別是Mac。Linux仍需要一些其他支援(思科錯誤ID CSCsr16670、思科錯誤ID CSCsm69213),但也有基本功能。對於Linux,AnyConnect無法識別已發生掛起/恢復(睡眠/喚醒)。這基本上會產生兩個影響:
A. AnyConnect在VPN連線的生命週期內未繫結到特定物理介面。如果用於VPN連線的物理介面丟失,或者如果重新連線嘗試超過某個故障閾值,則AnyConnect不再使用該介面,並嘗試使用任何可用的介面訪問安全網關,直到空閒計時器或會話計時器過期。請注意,物理介面的更改可能導致VA的MTU值不同,這將導致VA必須被禁用並重新啟用,但仍使用相同的客戶端IP地址。
如果出現任何網路中斷(介面關閉、網路更改、介面更改),AnyConnect會嘗試重新連線;重新連線時無需重新身份驗證。這甚至適用於實體介面的交換器:
範例:
1. wireless off, wired on: AC connection established
2. disconnect wired physically, turn wired on: AC re-established connection in
30 seconds
3. connect wired, turn off wireless: AC re-established connection in 30 secs
A.在簡歷中,重新提交在會話存留期間經過身份驗證的令牌,然後重建會話。
A.這僅在初始連線中執行。
A.不,這些僅運行在初始連線上。類似內容將安排在未來的定期狀態評估功能中。
答:是,這是正確的,因為您不會通過DNS重新解析主機名以重新建立當前會話。
修訂 | 發佈日期 | 意見 |
---|---|---|
3.0 |
22-Dec-2023 |
已更新Alt文本、機器翻譯和格式。 |
2.0 |
22-Nov-2022 |
已更新標題和簡介、機器翻譯、風格要求、種姓和格式。 |
1.0 |
13-Aug-2021 |
初始版本 |