本文檔介紹最常見的IPsec VPN問題解決方案。
本文檔中描述的解決方案直接來自思科技術支援團隊已解決的服務請求。其中許多解決方案是在對IPsec VPN連線進行深入故障排除之前實施的。本文檔提供了在排除連線故障之前需要嘗試的常見步驟的摘要。
本文檔中的配置示例用於路由器和安全裝置,幾乎所有概念都適用於VPN 3000。請參閱IP安全性疑難排解 — 瞭解和使用debug命令,以取得對用於排解兩台Cisco IOS®軟體上的IPsec問題的一般偵錯命令的解釋。
附註:SA不會通過IPsec VPN隧道傳遞組播流量。
警告:本文檔中介紹的許多解決方案都可能導致臨時丟失裝置上的所有IPsec VPN連線。建議謹慎實施這些解決方案,並且要符合您的更改控制策略。
思科建議瞭解以下思科裝置上的IPsec VPN配置:
Cisco ASA 5500系列安全裝置
本文中的資訊係根據以下軟體和硬體版本:
Cisco ASA 5500系列安全裝置
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
如需更多文件慣例的相關資訊,請參閱思科技術提示慣例。
本節包含最常見IPsec VPN問題的解決方案。雖然這些解決方案沒有按任何特定順序列出,但是這些解決方案可以用作檢查表,在您進行深入補救之前進行驗證。所有這些解決方案都直接來自TAC服務請求,並且已經解決了許多問題。
附註:出於空間考慮,這些部分中的某些命令會向下移動到第二行。
NAT穿越(或NAT-T)允許VPN流量通過NAT或PAT裝置,例如Linksys SOHO路由器。如果未啟用NAT-T,則VPN客戶端使用者通常看起來可以順利連線到ASA,但無法訪問安全裝置背後的內部網路。如果NAT/PAT裝置中的NAT-T未啟用,則在ASA中可能會收到protocol 50 src inside:10.0.1.26 dst outside:10.9.694的常規轉換建立失敗錯誤消息。
如果不能從同一IP地址完成同時登入,則安全VPN連線由客戶端在本地終止。原因412:出現遠端對等體不再響應錯誤消息。在頭端VPN裝置中啟用NAT-T以解決此錯誤。
附註:在Cisco IOS®軟體版本12.2(13)T及更高版本中,Cisco IOS®預設啟用NAT-T。
下一個命令在思科安全裝置上啟用NAT-T。本示例中的20是keepalive時間(預設值)。
ASA
securityappliance(config)#crypto isakmp nat-traversal 20
必須修改客戶端,此操作才能正常工作。在Cisco VPN Client中,導航至Connection Entries,然後點選Modify。這將開啟一個新視窗,您必須選擇「傳輸」(Transporttab)。在此頁籤下,單擊Enable Transparent Tunnelingand theIPSec over UDP(NAT/PAT)單選按鈕。然後按一下儲存並測試連線。
通過配置ACL來允許NAT-T、UDP 500和ESP埠的UDP 4500非常重要,因為ASA充當NAT裝置。有關ASA中ACL配置的詳細資訊,請參閱使用NAT配置通過防火牆的IPsec隧道。
VPN連線是從加密端點後的裝置測試的。許多使用者通過從加密端點運行ping命令來測試VPN連線。雖然ping命令通常用於此目的,但從正確的介面發出ping命令非常重要。如果Ping來源不正確,則在VPN連線正常工作時可能顯示VPN連線失敗。範例如下:
路由器A加密ACL
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255
路由器B加密ACL
access-list 110 permit ip 192.168.200.0 0.0.0.255 192.168.100.0 0.0.0.255
在本例中,aping一定源自任一路由器後面的網路內部。加密ACL只設定為加密具有這些來源位址的流量。源自任一路由器的外部介面的連線不會加密。在特權EXEC模式下使用ping命令的擴展選項從路由器的內部介面發出ping:
routerA#ping Protocol [ip]: Target IP address: 192.168.200.10 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 192.168.100.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.1, timeout is 2 seconds: Packet sent with a source address of 192.168.100.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = ½/4 ms
假設此圖中的路由器已替換為ASA安全裝置。用於測試連線的ping指令也可源自帶有insidekeyword的內部介面:
securityappliance#ping inside 192.168.200.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
建議不要使用ping命令攻擊安全裝置的內部介面。如果必須使用ping命令以內部介面為目標,則必須在該介面上啟用management-access,否則裝置不會回覆"
securityappliance(config)#management-access inside
當連線存在問題時,即使VPN的第1階段也不起作用。在ASA上,如果連線失敗,則SA輸出類似於以下示例,指示可能存在不正確的加密對等體配置或ISAKMP建議配置不正確:
Router#show crypto isakmp sa
1 IKE Peer: XX.XX.XX.XX
Type : L2L Role : initiator
Rekey : no State : MM_WAIT_MSG2
狀態可以是MM_WAIT_MSG2到MM_WAIT_MSG5,這表示在主模式(MM)中相關的狀態交換失敗。在階段1啟動時,加密SA輸出;如以下範例所示:
Router#show crypto isakmp sa
1 IKE Peer: XX.XX.XX.XX
Type : L2L Role : initiator
Rekey : no State : MM_ACTIVE
如果沒有指示IPsec VPN隧道正在按預期工作,則可能未啟用ISAKMP。確保已在您的裝置上啟用ISAKMP。使用以下命令之一啟用ISAKMP:
Cisco IOS®
router(config)#crypto isakmp enable
Cisco ASA(用您所需的介面替換外部):
securityappliance(config)#crypto isakmp enable outside
在外部介面上啟用ISAKMP時,也會收到此錯誤:
UDP: ERROR - socket <unknown> 62465 in used ERROR: IkeReceiverInit, unable to bind to port
錯誤的原因可能與ASA後面的客戶端在介面上啟用ISAKMP之前接收PAT到UDP埠500有關。刪除PAT轉換(clear xlate)後,即可啟用ISAKMP。驗證是否保留了UDP 500和4500埠號用於與對等體協商ISAKMP連線。當介面上未啟用ISAKMP時,VPN客戶端會顯示一條類似以下消息的錯誤消息:
Secure VPN connection terminated locally by client. Reason 412: The remote peer is no longer responding
要解決此錯誤,請在VPN網關的加密介面上啟用ISAKMP。
在IPsec協商中,完全向前保密(PFS)可確保每個新的加密金鑰與之前的任何金鑰無關。在兩個通道對等點上啟用或停用PFS;否則,在ASA/Cisco IOS®路由器中未建立LAN到LAN(L2L)IPsec隧道。完全轉發保密(PFS)是Cisco專有的,第三方裝置不支援該功能。
ASA:
預設情況下,PFS處於禁用狀態。要啟用PFS,請在組策略配置模式下運行帶有enable關鍵字的thepfscommand。要禁用PFS,請輸入disable關鍵字。
hostname(config-group-policy)#pfs {enable | disable}
要從配置中刪除PFS屬性,請運行此命令的no形式。組策略可以從其他組策略繼承PFS的值。運行此命令的no形式可防止值傳輸。
hostname(config-group-policy)#no pfs
Cisco IOS®路由器
set pfs [group1 | group2] no set pfs
對於set pfs命令:
group1 — 指定在執行新的Diffie-Hellman交換時IPsec必須使用768位Diffie-Hellman主模陣列。
group2 — 指定在執行新的Diffie-Hellman交換時,IPsec必須使用1024位Diffie-Hellman主模陣列。
範例:
Router(config)#crypto map map 10 ipsec-isakmp Router(config-crypto-map)#set pfs group2
如果Cisco IOS®®路由器中出現此錯誤消息,則SA已過期或已清除。遠端隧道終端裝置不知道它使用過期的SA傳送資料包(不是SA建立資料包)。 建立新的SA後,通訊將恢復,因此啟動隧道中的流量以建立新的SA並重新建立隧道。
%CRYPTO-4-IKMP_NO_SA: IKE message from x.x.x.x has no SA
如果清除ISAKMP(第1階段)和IPsec(第2階段)安全關聯(SA),通常這是解決IPsec VPN問題的最佳解決方案。如果清除SA,則無需進行深入故障排除,即可解決各種錯誤消息和行為。雖然在任何情況下都可以輕鬆使用此技術,但建議您在更改或新增當前IPsec VPN配置後首先清除SA。此外,儘管可以只清除特定的安全關聯,但當您在裝置上全域性清除SA時,您會受益。清除安全關聯後,可能需要通過隧道傳送流量以重新建立它們。
警告:除非您指定要清除的安全關聯,否則此處列出的命令可以清除裝置上的所有安全關聯。如果其他IPsec VPN隧道正在使用中,請謹慎繼續。
清除安全關聯之前先檢視它們
Cisco IOS®
router#show crypto isakmp sa router#show crypto ipsec sa
Cisco ASA安全裝置
securityappliance#show crypto isakmp sa securityappliance#show crypto ipsec sa
清除安全關聯,因為可以按粗體顯示的形式輸入每個命令,或使用隨其顯示的選項輸入每個命令。
Cisco IOS®
ISAKMP(第I階段)
router#clear crypto isakmp ? <0 - 32766> connection id of SA <cr>
IPsec(第II階段)
router#clear crypto sa ? counters Reset the SA counters map Clear all SAs for a given crypto map peer Clear all SAs for a given crypto peer spi Clear SA by SPI <cr>
Cisco ASA安全裝置
ISAKMP(第I階段)
securityappliance#clear crypto isakmp sa
IPsec(第II階段)
security appliance#clear crypto ipsec sa ? counters Clear IPsec SA counters entry Clear IPsec SAs by entry map Clear IPsec SAs by map peer Clear IPsec SA by peer <cr>
如果使用者經常通過L2L隧道斷開連線,則此問題可能在ISAKMP SA中配置生存期。如果在ISAKMP生存期內出現任何差異,您可以收到%ASA-5-713092:Group = x.x.x.x, IP = x.x.x.x, Failure during phase 1 rekey attempt due to collisionation error message in the /ASA.(組= x.x.x.x.x,IP = x.x.x.x.x,由於在/ASA中出現衝突錯誤消息,在第1階段重新生成金鑰時失敗。)預設值為86,400秒或24小時。一般情況下,較短的生存期可提供更安全的ISAKMP協商(最多一點),但是,較短的生存期會使安全裝置更快地設定未來的IPsec SA。
當來自兩個對等體的兩個策略包含相同的加密、雜湊、身份驗證和Diffie-Hellman引數值,並且遠端對等體的策略指定的生存期小於或等於比較的策略中的生存期時,將進行匹配。如果生存期不同,則會使用較短的生存期(來自遠端對等體的策略),並且找不到可接受的匹配,IKE會拒絕協商,而且IKE SA不會建立。
ASA:
hostname(config)#isakmp policy 2 lifetime 14400
Cisco IOS®路由器:
R2(config)#crypto isakmp policy 10 R2(config-isakmp)#lifetime 86400
如果超過配置的最大生存期,則在VPN連線終止時收到以下錯誤消息:
安全VPN連線由客戶端在本地終止。原因426:超出最大配置生存期。
要解決此錯誤,請將elifetimevalue設定為零(0)。 要將IKE安全關聯的生存期設定為無窮大,VPN必須始終連線且不會終止:
hostname(config)#isakmp policy 2 lifetime 0
您也可以在組策略中禁用re-xauth以解決問題。
如果配置ISAKMP keepalive,有助於防止偶發丟棄的LAN到LAN或遠端訪問VPN。這包括VPN客戶端、隧道以及在一段時間不活動之後丟棄的隧道。此功能允許通道端點監控遠端對等點的持續存在,並向該對等點報告其自身的存在。如果對等體變得無響應,端點將刪除連線。若要使ISAKMP keepalive正常運作,兩個VPN終端都必須支援它們。
在Cisco IOS®中通過運行以下命令配置ISAKMP keepalive:
router(config)#crypto isakmp keepalive 15
運行以下命令以在ASA安全裝置上配置ISAKMP keepalive:
適用於名為10.165.205.222的隧道組的Cisco ASA:
securityappliance(config)#tunnel-group 10.165.205.222 ipsec-attributes securityappliance(config-tunnel-ipsec)#isakmp keepalive threshold 15 retry 10
在某些情況下,有必要禁用此功能以解決問題。例如,如果VPN客戶端位於阻止DPD資料包的防火牆後面。使用Cisco ASA時,對於名為10.165.205.222的隧道組,禁用IKE保活處理(預設情況下啟用):
securityappliance(config)#tunnel-group 10.165.205.222 ipsec-attributes securityappliance(config-tunnel-ipsec)#isakmp keepalive disable
禁用Cisco VPN客戶端4.x的Keepalive
在許多情況下,當IPsec VPN隧道無法工作時,可能會因為簡單的排版錯誤而造成故障。例如,在安全裝置上,預共用金鑰一旦輸入就會隱藏。這種混淆使得人們不可能看到金鑰是否不正確。確保在每個VPN端點上正確輸入了任何預共用金鑰。
在遠端訪問VPN中,檢查在CiscoVPN客戶端中輸入的有效組名稱和預共用金鑰。如果VPN客戶端和頭端裝置之間的組名或預共用金鑰不匹配,則可能會遇到此錯誤。
1 12:41:51.900 02/18/06 Sev=Warning/3 IKE/0xE3000056 The received HASH payload cannot be verified 2 12:41:51.900 02/18/06 Sev=Warning/2 IKE/0xE300007D Hash verification failed 3 14:37:50.562 10/05/06 Sev=Warning/2 IKE/0xE3000099 Failed to authenticate peer (Navigator:904) 4 14:37:50.593 10/05/06 Sev=Warning/2 IKE/0xE30000A5 Unexpected SW error occurred while processing Aggressive Mode negotiator:(Navigator:2202) 5 14:44:15.937 10/05/06 Sev=Warning/2 IKE/0xA3000067 Received Unexpected InitialContact Notify (PLMgrNotify:888) 6 14:44:36.578 10/05/06 Sev=Warning/3 IKE/0xE3000056 The received HASH payload cannot be verified 7 14:44:36.593 10/05/06 Sev=Warning/2 IKE/0xE300007D Hash verification failed... possibly be configured with invalid group password. 8 14:44:36.609 10/05/06 Sev=Warning/2 IKE/0xE3000099 Failed to authenticate peer (Navigator:904) 9 14:44:36.640 10/05/06 Sev=Warning/2 IKE/0xE30000A5 Unexpected SW error occurred while processing Aggressive Mode negotiator:(Navigator:2202)
警告:如果刪除與加密相關的命令,則可以關閉一個或所有VPN隧道。請謹慎使用這些命令,並在刪除與加密相關的命令之前參閱組織的更改控制策略。
運行以下命令,刪除並重新輸入對等體10.0.0.1或grouppngroupin Cisco IOS®的預共用金鑰:
Cisco LAN到LAN VPN:
router(config)#no crypto isakmp key secretkey address 10.0.0.1 router(config)#crypto isakmp key secretkey address 10.0.0.1
Cisco Remote Access VPN:
router(config)#crypto isakmp client configuration group vpngroup router(config-isakmp-group)#no key secretkey router(config-isakmp-group)#key secretkey
運行以下命令,刪除並重新輸入對等機10.0.0.1的pre-shared-keysecretkeyfor /ASA安全裝置:
Cisco 6.x:
(config)#no isakmp key secretkey address 10.0.0.1 (config)#isakmp key secretkey address 10.0.0.1
Cisco /ASA 7.x及更高版本:
securityappliance(config)#tunnel-group 10.0.0.1 ipsec-attributes securityappliance(config-tunnel-ipsec)#no ikev1 pre-shared-key securityappliance(config-tunnel-ipsec)# ikev1 pre-shared-key secretkey
VPN隧道的啟動被斷開。之所以會出現此問題,是因為在第一階段協商過程中預共用金鑰不匹配。show crypto isakmp 命令中的MM_WAIT_MSG_6消息表示預共用金鑰不匹配,如以下示例所示:
ASA#show crypto isakmp sa
Active SA: 1
Rekey SA: 0 (A tunnel reports 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 10.7.13.20
Type : L2L Role : initiator
Rekey : no State : MM_WAIT_MSG_6
要解決此問題,請在兩台裝置中重新輸入預共用金鑰;預共用金鑰必須是唯一且匹配的。有關更多資訊,請參見Re-Enter or Recover Pre-Shared-Keyos。
清除安全關聯時,它不會解決IPsec VPN問題,請刪除並重新應用相關加密對映以解決各種問題,包括VPN隧道間歇性中斷和某些VPN站點故障。
警告:如果從介面刪除加密對映,則會刪除與該加密對映關聯的任何IPsec隧道。請謹慎繼續,請參閱這些步驟,並在繼續之前考慮組織的更改控制策略。
運行以下命令以刪除和替換Cisco IOS®中的加密對映:
從從介面刪除加密對映開始。運行crypto mapcommand的no形式:
router(config-if)#no crypto map mymap
繼續運行此表單以刪除整個加密對映:
router(config)#no crypto map mymap 10
替換對等體10.0.0.1的介面Ethernet0/0上的加密對映。此示例顯示所需的最低加密對映配置:
router(config)#crypto map mymap 10 ipsec-isakmp router(config-crypto-map)#match address 101 router(config-crypto-map)#set transform-set mySET router(config-crypto-map)#set peer 10.0.0.1 router(config-crypto-map)#exit router(config)#interface ethernet0/0 router(config-if)#crypto map mymap
運行這些命令以刪除和替換ASA上的加密對映。從從介面刪除加密對映開始。運行crypto mapcommand的no形式:
securityappliance(config)#no crypto map mymap interface outside
繼續運行thenoform以刪除其他加密對映命令:
securityappliance(config)#no crypto map mymap 10 match address 101 securityappliance(config)#no crypto map mymap set transform-set mySET securityappliance(config)#no crypto map mymap set peer 10.0.0.1
替換對等體10.0.0.1的加密對映。此示例顯示所需的最低加密對映配置:
securityappliance(config)#crypto map mymap 10 ipsec-isakmp securityappliance(config)#crypto map mymap 10 match address 101 securityappliance(config)#crypto map mymap 10 set transform-set mySET securityappliance(config)#crypto map mymap 10 set peer 10.0.0.1 securityappliance(config)#crypto map mymap interface outside
如果刪除並重新應用密碼編譯對應,這也會解決頭端IP地址已更改時的連線問題。
命令sysopt connection permit-ipsecandsysopt connection permit-vpnallow packets from an IPsec tunnel and their payload to bypass interface ACLs on the security appliance。如果未啟用這些命令之一,在安全裝置上終止的IPsec隧道可能會失敗。
Cisco ASA:
securityappliance# show running-config all sysopt no sysopt connection timewait sysopt connection tcpmss 1380 sysopt connection tcpmss minimum 0 no sysopt nodnsalias inbound no sysopt nodnsalias outbound no sysopt radius ignore-secret sysopt connection permit-vpn !--- sysopt connection permit-vpn is enabled !--- This device is running 7.2(2)
運行以下命令,為設備啟用correctsysoptcommand:
Cisco ASA:
securityappliance(config)#sysopt connection permit-vpn
如果不希望運行sysopt connectioncommand,請明確允許從源到目標的所需流量。例如,在外部ACL中,從遠端裝置的遠端到本地LAN,以及遠端裝置的外部介面的「UDP埠500」到本地裝置的外部介面。
IPsec VPN中的IKE協商失敗通常是由於對等體無法識別其夥伴的身份而導致,這是此方法。當兩個對等體使用IKE建立IPsec安全關聯時,每個對等體將其ISAKMP身份傳送給遠端對等體。根據每個ISAKMP標識的設定方式,傳送其IP地址或主機名。預設情況下,防火牆裝置的ISAKMP標識設定為IP地址。
作為一般規則,請以相同方式設定安全裝置及其對等體的身份,以避免IKE協商失敗。要設定要傳送到對等體的階段2 ID,請在全域性配置模式下運行isakmp identitycommand:
crypto isakmp identity address !--- If the RA or L2L (site-to-site) VPN tunnels connect !--- with pre-shared key as authentication type
或:
crypto isakmp identity auto !--- If the RA or L2L (site-to-site) VPN tunnels connect !--- with ISAKMP negotiation by connection type; IP address for !--- preshared key or cert DN for certificate authentication.
或:
crypto isakmp identity hostname !--- Uses the fully-qualified domain name of !--- the host exchange ISAKMP identity information (default). !--- This name comprises the hostname and the domain name.
如果使用ASA配置遷移工具從ASA轉移配置後無法啟動VPN隧道;這些消息顯示在日誌中:
[IKEv1]:組= x.x.x.x,IP = x.x.x.x,發現過時的PeerTblEntry,正在刪除!
[IKEv1]:組= x.x.x.x,IP = x.x.x.x,從相關器表中刪除對等項失敗,不匹配!
[IKEv1]:組= x.x.x.x,IP = x.x.x.x,構造_ipsec_delete():無SPI可識別第2階段SA!
[IKEv1]:組= x.x.x.x,IP = x.x.x.x,從相關器表中刪除對等項失敗,不匹配!
如果空閒超時設定為30分鐘(預設值),則如果沒有流量通過,它會在30分鐘後丟棄隧道。無論空閒超時引數如何,VPN客戶端都會在30分鐘後斷開連線,並收到PEER_DELETE-IKE_DELETE_UNSPECIFIED錯誤。
設定idle timeoutandsession timeoutasnone以設定通道alwaysup,如此一來,即使使用第三方裝置,通道也不會被捨棄。
ASA
在組策略配置模式下或使用者名稱配置模式下運行vpn-idle-timeoutcommand以配置使用者超時時間:
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-idle-timeout none
在組策略配置模式或使用者名稱配置模式下使用vpn-session-timeoutcommand配置VPN連線的最大時間:
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-session-timeout none
當配置了tunnel-all時,不需要配置idle-timeout,因為即使配置了VPN-idle超時,也不會因為所有流量都通過隧道而工作(因為已配置了tunnel-all)。
因此,流量(甚至PC產生的流量)不允許發生空閒超時。
Cisco IOS®路由器
在全域性配置模式或加密對映配置模式下運行crypto ipsec security-association idle-timecommand以配置IPsec SA空閒計時器。預設情況下,禁用IPsec SA空閒計時器:
crypto ipsec security-association idle-time seconds
時間以秒為單位,空閒計時器允許非活動對等體維護SA。seconds引數的有效值範圍為60到86400。
典型IPsec VPN配置中使用了兩個訪問清單。一個訪問清單用於將目的地為VPN隧道的流量從NAT進程中免除。另一個存取清單定義要加密的流量;這包括區域網到區域網設定中的加密ACL或遠端訪問配置中的拆分隧道ACL。當這些ACL配置錯誤或遺漏時,流量會單向流過VPN隧道,或者根本不會通過隧道傳送。
確保在全域性配置模式下運行crypto map match address命令,將加密ACL與加密對映繫結。檢查您已配置所有訪問清單以完成IPsec VPN配置,這些訪問清單定義了正確的流量。此清單包含當您懷疑ACL是IPsec VPN問題的原因時要驗證的專案。
確認您的NAT免除和加密ACL指定了正確的流量。如果您有多個VPN通道和多個加密ACL,請確保這些ACL不會重疊。此外,請檢驗您的裝置是否配置為使用NAT免除ACL。在路由器上,這表示您正在執行theroute-mapcommand程式。在ASA上,您正在運行thenat(0)命令。LAN到LAN和遠端訪問配置均需要NAT免除ACL。
在下一個示例中,Cisco IOS®路由器配置為將在192.168.100.0 /24和192.168.200.0 /24或192.168.1.0 /24之間傳送的流量從NAT中免除。發往其他任何地方的流量會受到NAT過載的影響:
access-list 110 deny ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255 access-list 110 deny ip 192.168.100.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 any route-map nonat permit 10 match ip address 110 ip nat inside source route-map nonat interface FastEthernet0/0 overload
NAT免除ACL僅能與IP地址或IP網路一起使用(如上述示例(訪問清單noNAT)),並且必須與加密對映ACL相同。NAT免除ACL不適用於埠號(例如23、25等)。 在VOIP環境中,網路之間的語音呼叫是通過VPN進行通訊的,如果沒有正確配置NAT 0 ACL,則語音呼叫不會運行。在排除故障之前,建議檢查VPN連線狀態,因為問題可能是由於NAT免除ACL配置錯誤造成的。
如果NAT免除(nat 0)ACL中有錯誤配置,您可能會收到如圖所示的錯誤消息。
%ASA-3-305005: No translation group found for udp src Outside:x.x.x.x/p dst Inside:y.y.y.y/p
錯誤示例:
access-list noNAT extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0 eq 25
如果NAT免除(nat 0)不能正常工作,請嘗試將其刪除並運行NAT 0命令。確保您的ACL不是向後的,並且它們是正確的型別。LAN到LAN配置的加密和NAT免除ACL必須從配置ACL的裝置角度編寫。因此,ACL必須到達其他位置。在本示例中,在192.168.100.0 /24和192.168.200.0 /24之間設定了LAN到LAN隧道。
路由器A加密ACL:
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255
路由器B加密ACL:
access-list 110 permit ip 192.168.200.0 0.0.0.255 192.168.100.0 0.0.0.255
雖然未圖示,但是同樣的概念適用於ASA安全裝置。在ASA中,用於遠端訪問配置的拆分隧道ACL必須作為允許流量進入VPN客戶端需要訪問的網路的訪問清單。Cisco IOS®路由器可以將擴展ACL用於分割隧道。在擴充存取清單中,在分割通道ACL的來源上使用「any」與停用分割通道類似。在延伸型ACL中僅使用來源網路用於分隔通道。
正確示例:
access-list 140 permit ip 10.1.0.0 0.0.255.255 10.18.0.0 0.0.255.255
錯誤示例:
access-list 140 permit ip any 10.18.0.0 0.0.255.255
Cisco IOS®
router(config)#access-list 10 permit ip 192.168.100.0 router(config)#crypto isakmp client configuration group MYGROUP router(config-isakmp-group)#acl 10
Cisco ASA
securityappliance(config)#access-list 10 standard permit 192.168.100.0 255.255.255.0 securityappliance(config)#group-policy MYPOLICY internal securityappliance(config)#group-policy MYPOLICY attributes securityappliance(config-group-policy)#split-tunnel-policy tunnelspecified securityappliance(config-group-policy)#split-tunnel-network-list value 10
ASA 8.3版中站點到站點VPN隧道的NAT豁免配置:
必須使用兩個ASA(版本為8.3)在HOASA和BOASA之間建立站點到站點VPN。HOASA上的NAT免除配置如下所示:
object network obj-local subnet 192.168.100.0 255.255.255.0 object network obj-remote subnet 192.168.200.0 255.255.255.0 nat (inside,outside) 1 source static obj-local obj-local destination static obj-remote objremote
如果IPsec隧道未啟動,請檢查ISAKMP策略是否與遠端對等體匹配。此ISAKMP策略適用於站點到站點(L2L)和遠端訪問IPsec VPN。如果Cisco VPN客戶端或站點到站點VPN無法與遠端終端裝置建立隧道,請檢查兩個對等體是否包含相同的加密、雜湊、身份驗證和Diffie-Hellman引數值。驗證遠端對等體策略指定的生存期是否小於或等於發起方傳送的策略中的生存期。如果壽命不同,則安全裝置使用較短的壽命。如果不存在可接受的匹配項,ISAKMP將拒絕協商,並且SA未建立。
"Error: Unable to remove Peer TblEntry, Removing peer from peer table failed, no match!"
以下是詳細日誌消息的示例:
4|Mar 24 2010 10:21:50|713903: IP = X.X.X.X, Error: Unable to remove PeerTblEntry 3|Mar 24 2010 10:21:50|713902: IP = X.X.X.X, Removing peer from peer table failed, no match! 3|Mar 24 2010 10:21:50|713048: IP = X.X.X.X, Error processing payload: Payload ID: 1 4|Mar 24 2010 10:21:49|713903: IP = X.X.X.X, Information Exchange processing failed 5|Mar 24 2010 10:21:49|713904: IP = X.X.X.X, Received an un-encrypted NO_PROPOSAL_CHOSEN notify message, drop
此消息通常由於ISAKMP策略不匹配或遺漏的NAT 0語句而出現。此外,系統會顯示以下訊息:
Error Message %ASA-6-713219: Queueing KEY-ACQUIRE messages to be processed when P1 SA is complete.
此消息表示第1階段完成後,第2階段消息在隊列中。此錯誤消息是由以下原因之一導致的:
任何對等點的階段不相符
ACL會阻止對等體完成第1階段
此消息通常出現在Removing peer from peer table failed, no match!錯誤消息之後。如果Cisco VPN Client無法連線頭端裝置,則問題可能是ISAKMP策略不匹配。頭端裝置必須與Cisco VPN客戶端的一個IKE建議匹配。對於ASA上使用的ISAKMP策略和IPsec轉換集,Cisco VPN客戶端無法使用包含DES和SHA組合的策略。如果使用DES,則必須使用MD5作為雜湊演算法,或者可以使用其他組合,例如3DES與SHA和3DES與MD5。
確保您的加密裝置(例如路由器和ASA安全裝置)具有正確的路由資訊,以便通過VPN隧道傳送流量。如果網關裝置後面存在其他路由器,請確認這些路由器可以到達隧道,以及另一端有哪些網路。VPN部署中路由的關鍵元件是反向路由注入(RRI)。RRI將遠端網路或VPN客戶端的動態條目放在VPN網關的路由表中。這些路由對安裝它們的裝置非常有用,對網路中的其他裝置也很有用,因為RRI安裝的路由可以通過EIGRP或OSPF等路由協定進行重分發。
在LAN到LAN配置中,每個端點必須擁有通往網路的路由,它們必須在該路由中加密流量。在本例中,路由器A必須具有通過10.89.129.2到路由器B後面的網路的路由。路由器B必須具有通向192.168.100.0 /24的類似路由。確保每個路由器知道相應路由的第一種方法是為每個目的網路配置靜態路由。例如,路由器A可以配置以下路由語句:
ip route 0.0.0.0 0.0.0.0 172.22.1.1 ip route 192.168.200.0 255.255.255.0 10.89.129.2 ip route 192.168.210.0 255.255.255.0 10.89.129.2 ip route 192.168.220.0 255.255.255.0 10.89.129.2 ip route 192.168.230.0 255.255.255.0 10.89.129.2
如果路由器A已更換為ASA,則配置可能如下所示:
route outside 0.0.0.0 0.0.0.0 172.22.1.1 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2
如果每個端點後面存在大量網路,則靜態路由的配置將變得難以維護。相反,建議您使用反向路由注入。RRI為加密ACL中列出的所有遠端網路放置路由表路由。例如,路由器A的加密ACL和加密對映可能如下所示:
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.210.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.220.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.230.0 0.0.0.255 crypto map myMAP 10 ipsec-isakmp set peer 10.89.129.2 reverse-route set transform-set mySET match address 110
如果路由器A被ASA替換,則配置可能如下所示:
access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.210.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.220.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.230.0 255.255.255.0 crypto map myMAP 10 match address cryptoACL crypto map myMAP 10 set peer 10.89.129.2 crypto map myMAP 10 set transform-set mySET crypto map mymap 10 set reverse-route
在遠端訪問配置中,並非總是必須更改路由。但是,如果VPN網關路由器或安全裝置後面存在其他路由器,這些路由器必須學習到VPN客戶端的路徑。在本示例中,假設VPN客戶端在連線時獲得10.0.0.0 /24範圍內的地址。
如果網關與其它路由器之間沒有使用路由協定,則可以在路由器(例如Router 2)上使用靜態路由:
ip route 10.0.0.0 255.255.255.0 192.168.100.1
如果在網關和其他路由器之間使用路由協定(如EIGRP或OSPF),則建議按照所述使用反向路由注入。RRI會自動將VPN客戶端的路由新增到網關的路由表中。然後,可以將這些路由分發到網路中的其他路由器。
Cisco IOS®路由器:
crypto dynamic-map dynMAP 10 set transform-set mySET reverse-route crypto map myMAP 60000 ipsec-isakmp dynamic dynMAP
Cisco ASA安全裝置:
crypto dynamic-map dynMAP 10 set transform-set mySET crypto dynamic-map dynMAP 10 set reverse-route crypto map myMAP 60000 ipsec-isakmp dynamic dynMAP
如果為VPN客戶端分配的IP地址池與頭端裝置的內部網路重疊,則會發生路由問題。有關詳細資訊,請參閱重疊專用網絡部分。
確保兩端轉換集使用的IPsec加密和雜湊演算法相同。有關詳細資訊,請參閱《思科安全裝置配置指南》的命令參考部分。對於ASA上使用的ISAKMP策略和IPsec轉換集,Cisco VPN客戶端無法使用包含DES和SHA組合的策略。如果使用DES,則需要將MD5用於雜湊演算法,或者可以使用其他組合,3DES與SHA和3DES與MD5。
如果靜態對等體和動態對等體配置在同一加密對映上,則加密對映條目的順序至關重要。動態加密對映條目的序列號必須高於所有其他靜態加密對映條目。如果靜態條目的編號高於動態條目的編號,則與這些對等體的連線將失敗,並顯示如下所示的調試:
IKEv1]: Group = x.x.x.x, IP = x.x.x.x, QM FSM error (P2 struct &0x49ba5a0, mess id 0xcd600011)! [IKEv1]: Group = x.x.x.x, IP = x.x.x.x, Removing peer from correlator table failed, no match!
安全裝置中的每個介面只允許有一個動態加密對映。以下是包含靜態專案與動態專案的正確編號密碼編譯對應範例。動態條目的序列號最高,並且預留空間以新增其他靜態條目:
crypto dynamic-map cisco 20 set transform-set myset crypto map mymap 10 match address 100 crypto map mymap 10 set peer 172.16.77.10 crypto map mymap 10 set transform-set myset crypto map mymap interface outside crypto map mymap 60000 ipsec-isakmp dynamic ciscothe
加密對映名稱區分大小寫。當動態加密對映序列不正確導致對等體命中錯誤的加密對映時,也可能出現此錯誤消息。這也由定義流量的加密訪問清單不匹配導致: %ASA-3-713042:IKE發起程式找不到策略:
如果多個VPN隧道在同一介面中終止,請建立具有相同名稱(每個介面只允許有一個加密對映)但序列號不同的加密對映。這適用於路由器和ASA。請參閱ASA:向現有L2L VPN新增新隧道或遠端訪問 — Cisco以瞭解有關L2L和遠端訪問VPN方案的加密對映配置的詳細資訊。
建立和管理IPsec的特定於連線的記錄的資料庫。對於ASA安全裝置LAN到LAN(L2L)IPsec VPN配置,請在tunnel-group <name> type ipsec-l2lcommand中將隧道組的<name>指定為遠端對等IP地址(遠端隧道端)。對等體IP地址必須與隧道組名稱和Crypto map set addresses命令匹配。使用ASDM配置VPN時,它會自動使用正確的對等IP地址生成隧道組名稱。如果對等IP地址配置不正確,日誌可能會包含此消息,可以通過正確配置對等IP地址來解決:
[IKEv1]: Group = DefaultL2LGroup, IP = x.x.x.x, ERROR, had problems decrypting packet, probably due to mismatched pre-shared key. Aborting
當對等體IP地址未在ASA加密配置上正確配置時,ASA無法建立VPN隧道並僅在MM_WAIT_MSG4階段中掛起。要解決此問題,請更正配置中的對等IP地址。以下是VPN通道在MM_WAIT_MSG4狀態下掛起時show crypto isakmp 命令的輸出結果:
hostname#show crypto isakmp sa
1 IKE Peer: XX.XX.XX.XX
Type : L2L Role : initiator
Rekey : no State : MM_WAIT_MSG4
%ASA-3-713206: Tunnel Rejected: Conflicting protocols specified by tunnel-group and group-policy
由於組策略中指定的允許隧道與隧道組配置中的允許隧道不同,因此丟棄隧道時會顯示此消息。
group-policy hf_group_policy attributes vpn-tunnel-protocol l2tp-ipsec username hfremote attributes vpn-tunnel-protocol l2tp-ipsec Both lines read: vpn-tunnel-protocol ipsec l2tp-ipsec
在預設組策略中對預設組策略中的現有協定啟用IPSec。
group-policy DfltGrpPolicy attributes vpn-tunnel-protocol L2TP-IPSec IPSec webvpn
如果在同一加密對映上配置了LAN到LAN隧道和遠端訪問VPN隧道,則系統會提示LAN到LAN對等體提供XAUTH資訊,並且LAN到LAN隧道在show crypto isakmp saccommand的輸出中會使用CONF_XAUTH失敗。以下是SA輸出的範例:
Router#show crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status X.X.X.X Y.Y.Y.Y CONF_XAUTH 10223 0 ACTIVE X.X.X.X Z.Z.Z.Z CONF_XAUTH 10197 0 ACTIVE
此問題僅適用於Cisco IOS®,其中ASA由於使用隧道組而不受此問題的影響。輸入ISAKMP金鑰時執行o-xauthkeyword,因此裝置不會提示對等路由器取得XAUTH資訊(使用者名稱和密碼)。 此關鍵字對靜態IPsec對等停用XAUTH。在同一加密對映上配置了L2L和RA VPN的裝置上運行類似的命令:
router(config)#crypto isakmp key cisco123 address 172.22.1.164 no-xauth
在ASA充當Easy VPN伺服器的情況下,由於Xauth問題,Easy VPN客戶端無法連線到頭端。在ASA中禁用使用者身份驗證以解決問題:
ASA(config)#tunnel-group example-group type ipsec-ra ASA(config)#tunnel-group example-group ipsec-attributes ASA(config-tunnel-ipsec)#isakmp ikev1-user-authentication none
請參閱本檔案的Miscellaneoussection,以找到有關isakmp ikev1-user-authenticationcommand的詳細資訊。
當分配給VPN池的IP地址範圍不足時,可以通過兩種方式擴展IP地址的可用性:
刪除現有範圍並定義新範圍:
CiscoASA(config)#no ip local pool testvpnpool 10.76.41.1-10.76.41.254 CiscoASA(config)#ip local pool testvpnpool 10.76.41.1-10.76.42.254
當不連續子網必須新增到VPN池時,您可以定義兩個單獨的VPN池,然後在「tunnel-group attributes」下指定它們。 範例如下:
CiscoASA(config)#ip local pool testvpnpoolAB 10.76.41.1-10.76.42.254 CiscoASA(config)#ip local pool testvpnpoolCD 10.76.45.1-10.76.45.254 CiscoASA(config)#tunnel-group test type remote-access CiscoASA(config)#tunnel-group test general-attributes CiscoASA(config-tunnel-general)#address-pool (inside) testvpnpoolAB testvpnpoolCD CiscoASA(config-tunnel-general)#exit
指定池的順序非常重要,因為ASA按照池在此命令中的顯示順序分配來自這些池的地址。group policy address pools命令中的地址池設定始終覆蓋tunnel-group address-pool命令中的本地池設定。
當VPN連線出現延遲問題時,請檢驗以下條件以解決此問題:
驗證是否可進一步降低封包的MSS。
如果使用IPsec/tcp而不是IPsec/udp,則配置represerve-vpn-flow。
重新載入Cisco ASA。
Cisco VPN使用者端無法驗證將Xauth用於Radius伺服器時的身份。
有時Xauth超時,您可以增加AAA伺服器的超時值以解決此問題。舉例來說:
Hostname(config)#aaa-server test protocol radius hostname(config-aaa-server-group)#aaa-server test host 10.2.3.4 hostname(config-aaa-server-host)#timeout 10
將X-auth用於Radius伺服器時,Cisco VPN使用者端無法進行驗證。
最初,請確保身份驗證正常運行。要縮小問題範圍,首先使用ASA上的本地資料庫驗證身份驗證。
tunnel-group tggroup general-attributes
authentication-server-group none
authentication-server-group LOCAL
exit
如果正常工作,則問題與Radius伺服器配置有關。從ASA檢驗Radius伺服器的連線。如果ping執行時沒有任何問題,請檢查ASA上與Radius相關的配置以及Radius伺服器上的資料庫配置。您可以運行debug 指令來疑難排解radius相關問題。有關sampledebug radiusoutput的資訊,請參閱thisSample Output。在ASA上使用debug命令之前,請參閱以下文檔警告消息。
Cisco VPN客戶端使用者嘗試與頭端VPN裝置連線時收到此錯誤。
此問題可能與IP池分配有關,通過ASA、Radius伺服器、DHCP伺服器,或者通過充當DHCP伺服器的Radius伺服器。運行thedebug cryptocommand以驗證網路掩碼和IP地址是否正確。此外,請確認地址池不包含網路地址和廣播地址。Radius伺服器必須為使用者端指定適當的IP位址。
擴展身份驗證失敗也會導致此問題。您必須檢查AAA伺服器以排除此錯誤。檢查伺服器和客戶端上的伺服器身份驗證密碼。重新載入AAA伺服器可以解決此問題。
此問題的另一種解決方法是禁用威脅檢測功能。當存在針對不同和不完整的安全關聯(SA)的多個重新傳輸時,啟用了威脅檢測功能的ASA認為發生了掃描攻擊,並且VPN埠被標籤為主要威脅。禁用威脅檢測功能,因為這會導致ASA處理出現開銷問題。運行以下命令以禁用威脅檢測:
no threat-detection basic-threat no threat-detection scanning-threat shun no threat-detection statistics no threat-detection rate
這可以用作驗證這是否解決了問題的解決方法。確保在Cisco ASA上禁用威脅檢測,因為這會影響多個安全功能,例如減輕掃描嘗試、使用無效SPI的DoS、應用檢測失敗的資料包和不完整會話。
當轉換集配置不正確並且正確配置轉換集可解決該問題時,也會出現此問題。
嘗試以下解決方案來解決問題:
但是,一旦建立了VPN客戶端(即具有VPN頭端裝置(ASA/Cisco IOS®路由器)的IPsec隧道,VPN客戶端使用者可以訪問INSIDE網路(10.10.10.0/24)資源。它們無法訪問DMZ網路(10.1.1.0/24)。
圖表
驗證拆分隧道,未向頭端裝置新增NAT配置以訪問DMZ網路中的資源。
ASA配置
此配置顯示如何配置DMZ網路的NAT免除以允許VPN使用者訪問DMZ網路:
object network obj-dmz subnet 10.1.1.0 255.255.255.0 object network obj-vpnpool subnet 192.168.1.0 255.255.255.0 nat (inside,dmz) 1 source static obj-dmz obj-dmz destination static obj-vpnpool obj-vpnpool
為NAT配置新增新條目後,清除NAT轉換。
Clear xlate Clear local
如果通道已建立,請前往Cisco VPN 使用者端,然後選擇Status > Route 詳細資訊以驗證DMZ和INSIDE網路的安全路由是否都已顯示。
請參閱ASA:向現有L2L VPN新增新隧道或遠端訪問 — Cisco有關向已存在的L2L VPN配置中新增新VPN隧道或遠端訪問VPN所需的步驟。您還可以參閱ASA:Allow Split Tunneling for VPN Clients on the ASA Configuration 示例:有關如何允許VPN客戶端在通過隧道連線到Cisco 5500系列自適應安全裝置(ASA)時訪問網際網路的逐步說明。
建立通道後,如果VPN客戶端無法解析DNS,則問題可能與頭端裝置(ASA)中的DNS伺服器配置有關。 檢查VPN客戶端和DNS伺服器之間的連線。DNS伺服器配置必須在組策略下配置並在隧道組常規屬性中的組策略下應用:
!--- Create the group policy named vpn3000 and !--- specify the DNS server IP address(172.16.1.1) !--- and the domain name(cisco.com) in the group policy. group-policy vpn3000 internal group-policy vpn3000 attributes dns-server value 172.16.1.1 default-domain value cisco.com !--- Associate the group policy(vpn3000) to the tunnel group !--- with the default-group-policy. tunnel-group vpn3000 general-attributes default-group-policy vpn3000
VPN客戶端無法按名稱ping遠端或頭端內部網路的主機或伺服器。您必須在ASA上啟用拆分DNS配置才能解決此問題。
分割隧道允許遠端訪問IPsec客戶端有條件地以加密形式通過IPsec隧道將資料包定向到網路介面,或者以明文解密形式將資料包路由到其最終目的地。
拆分隧道預設處於禁用狀態,您可以看到它運行了commandtunnelalltraffic。
split-tunnel-policy {tunnelall | tunnelspecified | excludespecified}
只有思科VPN客戶端(而不是EZVPN客戶端)才支援excludespecified選項。
ciscoasa(config-group-policy)#split-tunnel-policy excludespecified
如需分割通道的詳細設定範例,請參閱以下檔案:
對於進入介面但隨後從同一介面路由出去的VPN流量,此功能非常有用。例如,在中心輻射型VPN網路中,其中安全裝置是中心,遠端VPN網路是輻射型。分支到分支的通訊流量必須進入安全裝置,然後再次流向另一個分支。運行same-security-trafficconfiguration以允許流量進入和退出同一介面:
securityappliance(config)#same-security-traffic permit intra-interface
遠端訪問使用者連線到VPN,並且只能連線到本地網路。有關更詳細的配置示例,請參閱ASA:允許VPN客戶端訪問本地LAN。
問題
如果在建立隧道後無法訪問內部網路,請檢查分配給與前端裝置後的內部網路重疊的VPN客戶端的IP地址。
解決方案
驗證為VPN客戶端、頭端裝置的內部網路和VPN客戶端內部網路分配的池中的IP地址是否位於不同的網路中。您可以將相同的主要網路分配給不同的子網,但有時會出現路由問題。有關更多示例,請參閱Unable to Access the Servers in DMZ一節的DiagramandExample。
只有三個VPN客戶端可以連線到ASA/且第四個客戶端的連線失敗。失敗時,將顯示以下錯誤消息:
Secure VPN Connection terminated locally by the client. Reason 413: User Authentication failed.
tunnel rejected; the maximum tunnel count has been reached
在大多數情況下,此問題與組策略中的同時登入設定和最大會話限制有關。嘗試以下解決方案來解決問題:
如果選中ASDM中的Inheritcheckbox,則使用者僅允許預設同時登入次數。同時登入的預設值為3。要解決此問題,請增加同時登入的值。
啟動ASDM,然後導航至Configuration > VPN > Group Policy。
選擇適當的組,然後按一下「編輯」(Edit)按鈕。
進入Generaltab後,撤消連線設定下Simultaneous Logins的Inheritcheck框。在欄位中選擇適當的值。
此欄位的最小值為0,這將禁用登入並阻止使用者訪問。當您使用來自不同PC的相同使用者帳戶登入時,當前會話(從使用相同使用者帳戶的另一台PC建立的連線)將終止,並且新會話將建立。這是預設行為,與VPN同時登入無關。
完成以下步驟以配置所需的同時登入數。在此示例中,選擇20作為所需值:
ciscoasa(config)#group-policy Bryan attributes ciscoasa(config-group-policy)#vpn-simultaneous-logins 20
要瞭解有關此命令的更多資訊,請參閱思科安全裝置命令參考。在全域性配置模式下運行vpn-sessiondb max-session-limitcommand,將VPN會話限製為低於安全裝置允許的值。運行此命令的覆蓋以刪除會話限制,然後再次運行命令以覆蓋當前設定:
vpn-sessiondb max-session-limit {session-limit}
此示例說明如何將最大VPN會話限制設定為450:
hostname#vpn-sessiondb max-session-limit 450
錯誤消息:
20932 10/26/2007 14:37:45.430 SEV=3 AUTH/5 RPT=1863 10.19.187.229 Authentication rejected: Reason = Simultaneous logins exceeded for user handle = 623, server = (none), user = 10.19.187.229, domain = <not specified>
完成以下步驟以配置所需的同時登入數。您也可以將此SA的同步登入設定為5。選擇Configuration > User Management > Groups > Modify 10.19.187.229 > General > Simultaneous Logins,然後將登入次數更改為5。
建立IPsec通道後,應用或作業階段不會透過通道啟動。
運行ping命令以檢查網路或查詢是否可從網路訪問應用伺服器。對於穿越路由器或/ASA裝置的臨時資料包(尤其是已設定SYN位元的TCP資料段),它可能是一個最大資料段大小(MSS)問題。
運行以下命令以更改路由器外部介面(隧道終端介面)中的MSS值:
Router>enable Router#configure terminal Router(config)#interface ethernet0/1 Router(config-if)#ip tcp adjust-mss 1300 Router(config-if)#end
以下訊息顯示TCP MSS的偵錯輸出:
Router#debug ip tcp transactions Sep 5 18:42:46.247: TCP0: state was LISTEN -> SYNRCVD [23 -> 10.0.1.1(38437)] Sep 5 18:42:46.247: TCP: tcb 32290C0 connection to 10.0.1.1:38437, peer MSS 1300, MSS is 1300 Sep 5 18:42:46.247: TCP: sending SYN, seq 580539401, ack 6015751 Sep 5 18:42:46.247: TCP0: Connection to 10.0.1.1:38437, advertising MSS 1300 Sep 5 18:42:46.251: TCP0: state was SYNRCVD -> ESTAB [23 -> 10.0.1.1(38437)]
路由器上的MSS已按照配置調整為1300。有關詳細資訊,請參閱ASA和Cisco IOS®:VPN分段。
無法正確存取Internet或通道傳輸速度緩慢,因為它顯示MTU大小錯誤訊息和MSS問題。請參閱本檔案以解決問題:
在隧道建立之後,無法從ASA介面啟動VPN隧道。遠端端/VPN客戶端無法ping通VPN隧道上ASA的內部介面。例如,VPN客戶端無法通過VPN隧道啟動到介面內部ASA的SSH或HTTP連線。
除非在全域性配置模式下配置management-accesscommand,否則無法從隧道的另一端對內部介面執行ping。
ASA-02(config)#management-access inside ASA-02(config)#show management-access management-access inside
此命令還幫助通過VPN隧道為ASA內部介面建立ssh啟動或http連線。此資訊對於DMZ介面也同樣適用。例如,如果您想對/ASA的DMZ介面執行ping操作,或者想從DMZ介面啟動隧道,則需要運行management-access DMZ命令。
ASA-02(config)#management-access DMZ
如果VPN客戶端無法連線,請確保ESP和UDP埠是開啟的。但是,如果這些埠未開啟,請嘗試在TCP埠上連10000,並在VPN客戶端連線條目下選擇此埠。右鍵單擊Modify > Transport Tab > IPsec over TCP。
您不能通過VPN隧道傳遞流量。
當ESP資料包被阻止時,也會發生此問題。要解決此問題,請重新配置VPN隧道。當資料未加密(但僅透過VPN通道解密)時,也可能發生以下情況,如以下輸出所示:
ASA# sh crypto ipsec sa peer x.x.x.x
peer address: y.y.y.y
Crypto map tag: IPSec_map, seq num: 37, local addr: x.x.x.x
access-list test permit ip host xx.xx.xx.xx host yy.yy.yy.yy
local ident (addr/mask/prot/port): (xx.xx.xx.xx/255.255.255.255/0/0)
remote ident (addr/mask/prot/port): (yy.yy.yy.yy/255.255.255.255/0/0)
current_peer: y.y.y.y
#pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0
#pkts decaps: 393, #pkts decrypt: 393, #pkts verify: 393
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #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
#send errors: 0, #recv errors: 0
要解決此問題,請檢查以下條件:
如果加密訪問清單與遠端站點匹配,則NAT 0訪問清單正確。
如果路由正確且流量到達介面外部(從內部通過),則輸出示例顯示解密已完成,但不會進行加密。
如果在ASA上配置了sopt permit connection-vpn命令。如果未配置,請配置此命令,因為它將加密的/VPN流量從介面ACL檢查中豁免到ASA。
您想對單個VPN隧道使用多個備份對等體。
配置多個對等體相當於提供回退清單。對於每個隧道,安全裝置會嘗試與清單中的第一個對等體協商。如果該對等體不響應,則安全裝置會沿著清單向下移動,直到對等體響應或者清單中不再有對等體。ASA具有已配置為主對等體的加密對映。可以在主要對等體之後新增輔助對等體。此示例配置將主對等體顯示為X.X.X.X,將備份對等體顯示為Y.Y.Y.Y:
ASA(config)#crypto map mymap 10 set peer X.X.X.X Y.Y.Y.Y
要暫時禁用VPN隧道並重新啟動服務,請完成本節中介紹的步驟。
在全域性配置模式下運行crypto map interface命令以刪除之前定義的到介面的加密對映集。運行此命令的enoform以從介面中刪除加密對映集。
hostname(config)#no crypto map map-name interface interface-name
此命令刪除到任何活動安全裝置介面的加密對映集,並將IPsec VPN隧道更改為介面中的非活動狀態。要在介面上重新啟動IPsec隧道,您必須先將加密對映集分配給介面,然後該介面才能提供IPsec服務。
hostname(config)#crypto map map-name interface interface-name
當VPN網關上配置了大量隧道時,某些隧道不會傳遞流量。ASA不會接收這些隧道的加密資料包。
之所以會出現此問題,是因為ASA無法通過隧道傳遞加密資料包。在ASP表中建立重複的加密規則。
%ASA-5-713904:Group = DefaultRAGroup, IP = 192.0.2.0,... unsupported Transaction Mode v2 version.Tunnel terminatederror消息出現。
「Transaction Mode v2」錯誤消息的原因是ASA僅支援IKE模式配置v6,而不支援舊的v2模式版本。使用IKE模式配置v6解決此錯誤。
%ASA-6-722036:Group < client-group > User < xxxx > IP < x.x.x.x> Transmitting large packet 1220(threshold 1206)錯誤消息出現在ASA日誌中。此日誌意味著什麼?如何解決此問題?
此日誌消息表明已將大型資料包傳送到客戶端。封包的來源不知道使用者端的MTU。這可能是由於壓縮了不可壓縮的資料。您可以使用svc compression none命令關閉SVC壓縮,這樣可以解決此問題。
如果在VPN隧道的一端啟用了QoS,則可能會收到以下錯誤消息:
IPSEC: Received an ESP packet (SPI= 0xDB6E5A60, sequence number= 0x7F9F) from 10.18.7.11 (user= ghufhi) to 172.16.29.23 that failed anti-replay check
此訊息通常在通道的一端執行QoS時產生。當檢測到資料包順序有誤時,會發生這種情況。您可以禁用QoS來停止此行為,但是,只要流量可以穿過隧道,就可以忽略此行為。
執行crypto map mymap 20 ipsec-isakmpcommand時,可能會收到以下錯誤: WARNING:加密對映條目不完整
舉例來說:
ciscoasa(config)#crypto map mymap 20 ipsec-isakmp WARNING: crypto map entry incomplete
定義新的加密對映時這是正常警報;提醒必須在配置訪問清單(匹配地址)、轉換集和對等地址等引數後才能正常工作。檢視鍵入的第一行以定義加密對映也是標準做法,但它不會顯示在配置中。
無法通過vpn隧道傳遞大ping資料包。嘗試傳遞大ping資料包時,會出現錯誤%ASA-4-400024:IDS:2151 Large ICMP packet from to on interface outside。
禁用簽名2150和2151以解決此問題。一旦禁用簽名,ping就會正常工作。運行以下命令以禁用簽名:
我在ASA的日誌消息中收到此錯誤:
錯誤:- %|ASA-4-402119:IPSEC:收到從remote_IP(使用者名稱)到local_IP的協定資料包(SPI=spi,序列號= seq_num),該資料包的反重播檢查失敗。
要解決此錯誤,請運行crypto ipsec security-association replay window-size命令以更改視窗大小。
hostname(config)#crypto ipsec security-association replay window-size 1024
思科建議您使用完整的1024視窗大小來消除任何反重播問題。
很少有主機無法連線到Internet;系統日誌中出現以下錯誤消息:錯誤消息- %ASA-4-407001:拒絕local-host interface_name:inside_address的流量,超出許可證數量限制
當使用者數超過使用的許可證的使用者限制時,會收到此錯誤消息。可通過將許可證升級到更多使用者來解決此錯誤。使用者許可證可根據需要包括50、100或不限使用者。
錯誤消息 — %VPN_HW-4-PACKET_ERROR:錯誤消息表示路由器接收的具有HMAC的ESP資料包不匹配。此錯誤可能是由以下問題導致的:
有缺陷的VPN硬體模組
ESP資料包損壞
要解決此錯誤消息:
除非發生流量中斷,否則忽略錯誤消息。
如果出現流量中斷,請更換模組。
當您嘗試在交換器的主干連線埠上新增允許的VLAN時,系統會顯示以下錯誤訊息:命令已拒絕:首先刪除VLAN XXXX和VLAN XXXX之間的加密連線。不能修改WAN邊緣中繼以允許其他VLAN。如果您無法在IPSEC VPN SPAtrunk中新增VLAN,則會拒絕此命令,因為它會導致屬於允許VLAN清單的加密連線介面VLAN,從而可能導致IPSec安全漏洞。
附註:此行為適用於所有中繼埠。
請運行switchport trunk allowed vlan nonecommand或「switchport trunk allowed vlan remove(vlanlist)」命令,而不是no switchport trunk allowed vlan(vlanlist)命令。
當您嘗試從VPN通道遠端的裝置telnet時,或當您嘗試從路由器本身telnet時,會發生以下錯誤:錯誤消息 — % FW-3-RESPONDER_WND_SCALE_INI+NO_SCALE:丟棄的資料包 — 會話x.x.x.x:27331到x.x.x.x:23 pediaK的視窗縮放選項無效[Initiator(flag 0,factor 0)Responder(flag 1, factor2)]
使用者許可證可根據需要包括50、100或不限使用者。新增了視窗縮放功能,可以在長距離網路(LFN)上快速傳輸資料。 這些通常是高頻寬和高延遲的連線。具有衛星連線的網路是LFN的其中一個範例,因為衛星連結通常具有高頻寬的傳播延遲高。若要啟用視窗縮放功能以支援LFN,TCP視窗大小必須大於65,535。如果將TCP視窗大小增加到大於65,535,則可以解決此錯誤消息。
一旦VPN隧道啟動,就會出現以下錯誤消息:%ASA-5-305013:非同步NAT規則匹配正向和反向。請更新此問題流程。
要在不與具有NAT的主機位於同一介面上時解決此問題,請使用對映地址而不是實際地址連線到主機。此外,如果應用程式嵌入了IP地址,請啟用inspectcommand。
如果VPN隧道無法啟動,則會出現以下錯誤消息:%ASA-5-713068:已收到非例行程式通知消息:notify_type
此消息是由於配置錯誤(當對等體上的策略或ACL配置不同時)而出現的。一旦策略和ACL匹配,隧道就會正常啟動。
當您嘗試升級思科自適應安全裝置(ASA)時,將出現以下錯誤消息之一:
這些錯誤消息是資訊性錯誤,不會影響ASA或VPN的功能。當VPN故障切換子系統由於備用裝置上已刪除相關IPsec隧道而無法更新與IPsec相關的運行時資料時,這些命令會出現。要解決這些問題,請在主用裝置上運行wr standbycommand。
%ASA-3-713063:出現「IKE Peer address not configured for destination 0.0.0.0(沒有為目標0.0.0配置IKE對等地址)」錯誤消息,並且隧道無法顯示。
當未為L2L隧道配置IKE對等地址時,將出現此消息。如果更改加密對映的序列號,然後刪除並重新應用加密對映,則可以解決此錯誤。
%ASA-3-752006:通道管理器未能排程KEY_ACQUIRE消息。加密對映或隧道組可能配置錯誤。錯誤消息記錄在Cisco ASA上。
此錯誤消息可能是由於加密對映或通道組的配置錯誤造成的。確保兩者都配置正確。有關此錯誤消息的詳細資訊,請參閱錯誤752006。
以下是一些糾正措施:
刪除與動態對映關聯的加密ACL。
刪除未使用的IKEv2相關配置(如果有)。
驗證加密ACL是否正確匹配。
刪除任何重複的訪問清單條目。
在LAN到LAN VPN隧道設定中,在一端ASA上收到此錯誤:
解除封裝的內部資料包與SA中的協商策略不匹配。
封包將其目的地指定為10.32.77.67,其來源指定為10.105.30.1,其通訊協定指定為icmp。
SA將其本地代理指定為10.32.77.67/255.255.255.255/ip/0,並將remote_proxy指定為10.105.42.192/255.255.255.224/ip/0。
您必須驗證VPN隧道兩端定義的唯一流量訪問清單。兩者必須完全匹配為映象映像。
由於在AnyConnect連線失敗時收到錯誤0xffffff日誌消息,無法啟動64位VA安裝程式以啟用虛擬介面卡。
完成以下步驟以解決此問題:
轉至System > Internet Communication Management > Internet Communication settings,確保Turn Off Automatic Root Certificates Updateis disabled。
如果禁用它,則禁用分配給受影響電腦的GPO的整個管理模板部分,然後重新測試。有關詳細資訊,請參閱關閉自動根證書更新。
Cisco VPN Client不能與Windows 7上的資料卡配合使用。
安裝在Windows 7上的Cisco VPN客戶端不能與3G連線一起使用,因為Windows 7電腦上安裝的VPN客戶端不支援資料卡。
在嘗試在ASA的外部介面上啟用ISAKMP期間,會收到以下警報消息:
ASA(config)# crypto isakmp enable outside WARNING, system is running low on memory. Performance may start to degrade. VPN functionality may not work at all.
通過SSH和HTTPS對ASA的訪問已停止,其他SSL客戶端也會受到影響。
此問題是由不同模組(如記錄器和加密)的記憶體要求引起的。確保沒有logging queue 0命令。這會導致隊列大小設定為8192,並且記憶體分配增加。在ASA5505和ASA5510等平台中,這種記憶體分配傾向於導致記憶體不足的其他模組。
收到以下錯誤消息:
%ASA-3-402130: CRYPTO: Received an ESP packet (SPI = 0xXXXXXXX, sequence number= 0xXXXX) from x.x.x.x (user= user) to y.y.y.y with incorrect IPsec padding
發生此問題的原因是IPSec VPN協商時沒有雜湊演算法。資料包雜湊可以確保ESP通道的完整性檢查。因此,如果不使用雜湊,Cisco ASA將接受格式不正確的資料包,並且它會嘗試解密這些資料包。但是,由於這些資料包的格式不正確,因此ASA在資料包解密過程中發現缺陷。這會導致出現填充錯誤消息。建議在VPN的轉換集中加入雜湊演算法,並確保對等體之間的鏈路具有最小的資料包畸變。
VPN隧道每18小時斷開一次,即使其生存時間設定為24小時。
生存期是SA可用於重定金鑰的最長時間。您在配置中輸入的lifetime值與SA的重新生成金鑰時間不同。在當前的SA過期之前,必須協商新的SA(對於IPsec來說是SA對)。重新生成金鑰的時間必須小於生存期,以便在第一次重新生成金鑰嘗試失敗時允許多次嘗試。
RFC沒有指定如何計算重新生成金鑰時間。這由您自行決定,因此,時間因平台而異。一些實現可以使用隨機因子來計算重新生成計時器。例如,如果ASA啟動隧道,則正常情況下它會在64800秒= 86400的75%進行重新金鑰。如果路由器啟動,則ASA可以等待更長時間以向對等裝置提供更多時間以啟動重新金鑰。因此,正常情況下,VPN會話會每18小時斷開一次,以使用另一個金鑰進行VPN協商。
重新協商LAN到LAN通道後,流量不會得到維護。
ASA根據應用檢查功能監控通過的所有連線並在其狀態表中維護條目。通過VPN的加密流量詳細資訊以安全關聯(SA)資料庫的形式進行維護。對於LAN到LAN VPN連線,它維護兩個不同的流量流。一個是VPN網關之間的加密流量。另一個是VPN網關後的網路資源與另一端後的終端使用者之間的流量流。
當VPN終止時,此特定SA的流詳細資訊將被刪除。但是,ASA為此TCP連線維護的狀態表項因沒有活動而變得過時,從而阻礙了下載。這意味著,在使用者應用程式終止時,ASA仍保留該特定流的TCP連線。TCP連線在TCP空閒計時器過期後將會丟失,並最終超時。通過引入名為Persistent IPSec Tunneled Flows的功能,已解決了此問題。新的命令sysopt connection preserve-vpn-flows已整合到Cisco ASA中,以在VPN隧道的重新協商時保留狀態表資訊。
預設情況下,此命令處於禁用狀態。為此,當L2L VPN從中斷中恢復並重新建立隧道時,Cisco ASA會維護TCP狀態表資訊。
2900系列路由器上收到以下錯誤訊息:
錯誤:2020年3月10:51:29:%CERM-4-TX_BW_LIMIT:對於具有securityk9技術包許可證的加密功能,已達到最大Tx頻寬限制8500 Kbps。
這是一個已知的問題,因為美國政府頒佈的嚴格准則。根據securityk9許可證,它只能允許最高速率接近90 Mbps的負載加密,並且它限制到裝置的加密隧道/TLS會話的數量。有關加密匯出限制的詳細資訊,請參閱Cisco ISR G2 SEC和HSEC許可。
對於Cisco裝置,其雙向總數為170 Mbps,是指傳入或傳出ISR G2路由器的單向流量小於85 Mbps。此要求適用於Cisco 1900、2900和3900 ISR G2平台。此命令有助於檢視以下限制:
Router#show platform cerm-information Crypto Export Restrictions Manager(CERM) Information: CERM functionality: ENABLED ---------------------------------------------------------------- Resource Maximum Limit Available ---------------------------------------------------------------- Tx Bandwidth(in kbps) 85000 85000 Rx Bandwidth(in kbps) 85000 85000 Number of tunnels 225 225 Number of TLS sessions 1000 1000 ---Output truncated----
要避免此問題,請購買HSECK9許可證。「hseck9」功能許可證提供增強的負載加密功能,增加了VPN隧道計數和安全語音會話。有關Cisco ISR路由器許可的詳細資訊,請參閱軟體啟用。
在IPsec連線上多次重新生成金鑰後已發現此問題,但觸發條件尚不清楚。如果您檢查show asp 丟棄命令的輸出,並驗證傳送的每個出站資料包的Expired VPN上下文計數器是否增加,則可能會確定存在此問題。
如果未啟動隧道,則AG_INIT_EXCH消息將出現在show crypto isakmp 命令的輸出中,也出現在debugoutput中。原因可能與ISAKMP策略不匹配或udp埠500被阻止有關。
此消息是資訊性消息,與VPN隧道的斷開無關。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
2.0 |
22-Jul-2026
|
更新拼寫、語法、插入水平線以分隔各個部分的可讀性、固定CCW警報。 |
1.0 |
31-Mar-2014
|
初始版本 |