目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

網路圖表

組態

連線流

思科安全客戶端(AnyConnect)到C8000v的高級別連線流

驗證

疑難排解

相關資訊

簡介

本文檔介紹如何使用本地使用者資料庫為AnyConnect SSL VPN配置Cisco IOS XE頭端C8000v。

必要條件

需求

思科建議您瞭解以下主題：

- Cisco IOS XE

- 思科安全使用者端(CSC)

- 常規SSL操作

- 公開金鑰基礎架構 (PKI)

採用元件

Th本檔案中的資訊是根據以下軟體和硬體版本：

- 運行版本17.16.01a的Cisco Catalyst 8000V(C8000V)

- 思科安全使用者端版本5.1.8.105

- 安裝了Cisco Secure Client的客戶端PC

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

Cisco IOS XE安全套接字層(SSL)VPN是一種基於路由器的解決方案，可在融合資料、語音和無線平台上提供SSL VPN遠端訪問連線，並與業界領先的安全性和路由功能整合。藉助Cisco IOS XE SSL VPN，終端使用者可以安全地從家庭或任何啟用網際網路的位置（如無線熱點）訪問資料。Cisco IOS XE SSL VPN還使公司能夠將公司網路訪問擴展到離岸合作夥伴和顧問，同時保護公司資料。

以下指定平台支援此功能：

平台

支援的Cisco IOS XE版本

Cisco Cloud Services Router 1000V系列

Cisco IOS XE版本16.9

Cisco Catalyst 8000V

Cisco IOS XE班加羅爾17.4.1

思科4461整合式服務路由器

思科4451整合式服務路由器

思科4431整合式服務路由器

Cisco IOS XE Cupertino 17.7.1a

設定

網路圖表

基本網路圖

組態

1. 啟用AAA，配置身份驗證、授權清單，並向本地資料庫新增使用者名稱。

aaa new-model

!

aaa authentication login SSLVPN_AUTHEN local

aaa authorization network SSLVPN_AUTHOR local

!

username test password cisco123

警告：aaa new-model命令立即將本地身份驗證應用到所有線路和介面（控制檯線路連線0除外）。 如果 Telnet 工作階段在命令啟用（或連線逾時且必須重新連線）後向路由器開放，則使用者必須使用路由器的本機資料庫進行驗證。建議在開始AAA設定之前，在路由器上定義使用者名稱和密碼，以免您鎖定在路由器之外。

提示：在配置AAA命令之前，請儲存配置。只有在完成AAA配置後（並且確信配置工作正常），才能再次儲存配置。 這可讓您從非預期的鎖定中復原，只要重新載入路由器就能復原任何變更。

2.生成Rivest-Shamir-Adleman(RSA)金鑰對。

crypto key generate rsa label AnyConnect modulus 2048 exportable

3.建立信任點以安裝路由器的身份證書。有關證書建立的詳細資訊，請參閱如何為PKI配置證書註冊。

crypto pki trustpoint TP_AnyConnect

enrollment terminal

fqdn sslvpn-c8kv.example.com

subject-name cn=sslvpn-c8kv.example.com

subject-alt-name sslvpn-c8kv.example.com

revocation-check none

rsakeypair AnyConnect

附註：使用者名稱中的公用名稱(CN)必須配置有使用者用來連線到安全閘道(C8000V)的IP位址或完全限定網域名稱(FQDN)。 雖然並非強制輸入，但正確輸入CN有助於減少使用者在登入時遇到的證書錯誤數量。

4. 定義IP本地池以向Cisco安全客戶端分配地址。

ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10

5.（可選）配置要用於拆分隧道的標準訪問清單。此訪問清單包括可通過VPN隧道訪問的目標網路。預設情況下，如果沒有配置拆分隧道，則所有流量都會通過VPN隧道（全隧道）。

ip access-list standard split-tunnel-acl

10 permit 192.168.11.0 0.0.0.255

20 permit 192.168.12.0 0.0.0.255

6.禁用HTTP安全伺服器。

no ip http secure-server

7.配置SSL方案。

crypto ssl proposal ssl_proposal

protection rsa-aes128-sha1 rsa-aes256-sha1

8.配置SSL策略，呼叫SSL建議和PKI信任點。

crypto ssl policy ssl_policy

ssl proposal ssl_proposal

pki trustpoint TP_AnyConnect sign

ip interface GigabitEthernet1 port 443

SSL策略定義在SSL協商期間要使用的提議和信任點。它充當SSL協商中涉及的所有引數的容器。策略選擇是通過將會話引數與策略下配置的引數匹配來進行的。

9.（可選）在思科安全客戶端配置檔案編輯器Cisco Secure Client Profile Editor的幫助下建立AnyConnect配置檔案。下面是配置檔案的XML等效代碼段，供您參考。

true

true

false

All

All

All

false

Native

true

30

false

true

false

false

true

IPv4,IPv6

true

ReconnectAfterResume

false

true

Automatic

SingleLocalLogon

SingleLocalLogon

AllowRemoteUsers

LocalUsersOnly

false

Disable

false

false

20

4

false

false

true

SSL_C8KV

sslvpn-c8kv.example.com

10.將建立的XML配置檔案上傳到路由器的快閃記憶體並定義配置檔案：

crypto vpn anyconnect profile acvpn bootflash:/acvpn.xml

11.禁用HTTP安全伺服器。

no ip http secure-server

12.配置SSL授權策略。

crypto ssl authorization policy ssl_author_policy

client profile acvpn

pool SSLVPN_POOL

dns 192.168.11.100

banner Welcome to C8kv SSLVPN

def-domain example.com

route set access-list split-tunnel-acl

SSL授權策略是推送到遠端客戶端的授權引數的容器。授權策略是從SSL配置檔案引用的。

13.配置從中克隆虛擬訪問介面的虛擬模板。

interface Virtual-Template2 type vpn

ip unnumbered GigabitEthernet1

ip mtu 1400

ip tcp adjust-mss 1300

14.配置SSL配置檔案並 定義身份驗證、記帳清單和虛擬模板。

crypto ssl profile ssl_prof

match policy ssl_policy

match url https://sslvpn-c8kv.example.com

aaa authentication user-pass list SSLVPN_AUTHEN

aaa authorization group user-pass list SSLVPN_AUTHOR ssl_author_policy

authentication remote user-pass

virtual-template 2

配置檔案選擇取決於策略和URL值。

附註：策略和URL對於SSL VPN配置檔案必須是唯一的，並且必須至少指定一個授權方法才能啟動會話。

以下內容用於SSL配置檔案：

- match policy - match語句，用於為SSL策略名稱ssl_policy上的客戶端選擇SSL配置檔案ssl_prof。

- match url - match語句為URL sslvpn-c8kv.example.com上的客戶端選擇SSL配置檔案ssl_prof。

- aaa authentication user-pass list — 身份驗證期間使用SSLVPN_AUTHEN清單。

- aaa authorization group user-pass list — 在授權過程中，網路清單SSLVPN_AUTHOR與授權策略ssl_author_policy一起使用。

- authentication remote user-pass — 定義遠端客戶端的身份驗證模式基於使用者名稱/密碼。

- virtual-template 2 — 定義要克隆的虛擬模板。

連線流

要瞭解在SSL VPN連線建立期間Cisco安全客戶端和安全網關之間發生的事件，請參閱瞭解AnyConnect SSL VPN連線流的文檔

思科安全客戶端(AnyConnect)到C8000v的高級別連線流

高級連線流1

高級連線流2

驗證

1.為了測試身份驗證，請從具有完全限定域名(FQDN)或C8000v IP地址的思科安全客戶端連線，然後輸入憑據。

注意：C8000v不支援從頭端下載客戶端軟體。Cisco Secure Client必須預先安裝在PC上。

思科安全使用者端連線嘗試

注意：全新安裝思科安全客戶端（未新增XML配置檔案）後，使用者可以在思科安全客戶端位址列中手動輸入VPN網關的FQDN。成功登入後，思科安全客戶端會預設嘗試下載XML配置檔案。但是，需要重新啟動Cisco Secure Client才能在GUI中顯示配置檔案。僅關閉Cisco Secure Client視窗是不夠的。要重新啟動該進程，請按一下右鍵Windows工作列中的Cisco Secure Client圖示，然後選擇Quit選項。

2.建立連線後，按一下左下角的gear圖示，然後導覽至AnyConnect VPN > Statistics。確認顯示的資訊與「連線和地址資訊」相對應。

Cisco Secure Client(AnyConnect)統計資訊

3.導航至 AnyConnectVPN >路由詳細資訊 並確認所顯示的資訊對應於安全路由和非安全路由。

思科安全客戶端(AnyConnect)路由詳細資訊

使用本節內容，確認您的組態是否在C8000v上正常運作：

1.顯示ssl會話資訊 — show crypto ssl session{user user-name |profile profile-name}

sal_c8kv#show crypto ssl session user test

Interface : Virtual-Access1

Session Type : Full Tunnel

Client User-Agent : AnyConnect Windows 5.1.8.105

Username : test                        Num Connection : 1

Public IP : 10.106.69.69

Profile : ssl_prof

Policy : ssl_policy

Last-Used : 00:41:40                   Created : *15:25:47.618 UTC Mon Mar 3 2025

Tunnel IP : 192.168.13.3               Netmask : 0.0.0.0

Rx IP Packets : 542                    Tx IP Packets : 410

sal_c8kv#show crypto ssl session profile ssl_prof

SSL profile name: ssl_prof

Client_Login_Name  Client_IP_Address No_of_Connections Created   Last_Used

cisco                10.106.69.69             1        00:49:41  00:49:41

2.顯示ssl vpn統計資訊 — show crypto ssl stats [profile profile-name] [tunnel] [detail]

sal_c8kv#show crypto ssl stats tunnel profile ssl_prof

SSLVPN Profile name : ssl_prof

Tunnel Statistics:

Active connections       : 1

Peak connections         : 1          Peak time                : 1d23h

Connect succeed          : 13         Connect failed           : 0

Reconnect succeed        : 0          Reconnect failed         : 0

IP Addr Alloc Failed     : 0          VA creation failed       : 0

DPD timeout              : 0

Client

in  CSTP frames          : 23         in  CSTP control         : 23

in  CSTP data            : 0          in  CSTP bytes           : 872

out CSTP frames          : 11         out CSTP control         : 11

out CSTP data            : 0          out CSTP bytes           : 88

cef in  CSTP data frames : 0          cef in  CSTP data bytes  : 0

cef out CSTP data frames : 0          cef out CSTP data bytes  : 0

Server

In  IP pkts              : 0          In  IP bytes             : 0

In  IP6 pkts             : 0          In  IP6 bytes            : 0

Out IP pkts              : 0          Out IP bytes             : 0

Out IP6 pkts             : 0          Out IP6 bytes            : 0

3.檢查應用於與客戶端關聯的虛擬訪問介面的實際配置。

sal_c8kv#show derived-config interface Virtual-Access1

Building configuration...

Derived configuration : 143 bytes

!

interface Virtual-Access1

description ***Internally created by SSLVPN context ssl_prof***

ip unnumbered GigabitEthernet1

ip mtu 1400

end

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

1. SSL調試，驗證頭端和客戶端之間的協商。

debug crypto ssl condition client username

debug crypto ssl aaa

debug crypto ssl aggr-auth message

debug crypto ssl aggr-auth packets

debug crypto ssl tunnel errors

debug crypto ssl tunnel events

debug crypto ssl tunnel packets

debug crypto ssl package

2.  一些用於驗證SSL配置的附加命令。

# show crypto ssl authorization policy

# show crypto ssl diagnose error

# show crypto ssl policy

# show crypto ssl profile

# show crypto ssl proposal

# show crypto ssl session profile <profile_name>

# show crypto ssl session user <username> detail

# show crypto ssl session user <username> platform detail

3.思科安全客戶端的診斷和報告工具(DART)。

要收集DART捆綁包，請執行運行DART以收集資料以進行故障排除中介紹的步驟

成功連線的調試示例：

debug crypto ssl

debug crypto ssl tunnel events

debug crypto ssl tunnel errors

*Mar 3 16:47:11.141: CRYPTO-SSL: sslvpn process rcvd context queue event

*Mar 3 16:47:14.149: CRYPTO-SSL: Chunk data written..

buffer=0x726BCA8891B8 total_len=621 bytes=621 tcb=0x0

*Mar 3 16:47:15.948: %SSLVPN-5-LOGIN_AUTH_PASSED: vw_ctx: ssl_prof vw_gw: ssl_policy remote_ip: 10.106.69.69 user_name: cisco, Authentication successful, user logged in

*Mar 3 16:47:15.948: %SEC_LOGIN-5-LOGIN_SUCCESS: Login Success [user: cisco] [Source: LOCAL] [localport: 0] at 16:47:15 UTC Mon Mar 3 2025

*Mar 3 16:47:15.949: CRYPTO-SSL: Chunk data written..

buffer=0x726BCA8891E0 total_len=912 bytes=912 tcb=0x0

*Mar 3 16:47:17.698: CRYPTO-SSL: sslvpn process rcvd context queue event

*Mar 3 16:47:20.755: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] CSTP Version recd , using 1

*Mar 3 16:47:20.755: [CRYPTO-SSL-TUNL-ERR]: IPv6 local addr pool not found

*Mar 3 16:47:20.755: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] No free IPv6 available, disabling IPv6

*Mar 3 16:47:20.755: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0]

SSLVPN reuqesting a VA creation

*Mar 3 16:47:20.755: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] Per Tunnel Vaccess cloning 2 request sent

*Mar 3 16:47:20.760: %SYS-5-CONFIG_P: Configured programmatically by process VTEMPLATE Background Mgr from console as console

*Mar 3 16:47:20.760: [CRYPTO-SSL-TUNL-EVT]:[0] VACCESS: Received VACCESS PER TUNL EVENT response.

*Mar 3 16:47:20.760: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] VACCESS: Received vaccess Virtual-Access1 from VT manager

*Mar 3 16:47:20.760: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] VACCESS: Cloning Per Tunnel Vaccess

*Mar 3 16:47:20.760: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] VACCESS: Interface Vi1 assigned to Session User cisco

*Mar 3 16:47:20.761: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] Allocating IP 192.168.13.4 from address-pool SSLVPN_POOL

*Mar 3 16:47:20.761: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] Using new allocated IP 192.168.13.4 0.0.0.0

*Mar 3 16:47:20.761: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up

*Mar 3 16:47:20.763: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] Full Tunnel CONNECT request processed, HTTP reply created

*Mar 3 16:47:20.763: HTTP/1.1 200 OK

*Mar 3 16:47:20.763: Server: Cisco IOS SSLVPN

*Mar 3 16:47:20.763: X-CSTP-Version: 1

*Mar 3 16:47:20.763: X-CSTP-Address: 192.168.13.4

*Mar 3 16:47:20.763: X-CSTP-Netmask: 0.0.0.0

*Mar 3 16:47:20.763: X-CSTP-DNS: 192.168.11.100

*Mar 3 16:47:20.764: X-CSTP-Lease-Duration: 43200

*Mar 3 16:47:20.764: X-CSTP-MTU: 1406

*Mar 3 16:47:20.764: X-CSTP-Default-Domain: example.com

*Mar 3 16:47:20.764: X-CSTP-Split-Include: 192.168.11.0/255.255.255.0

*Mar 3 16:47:20.764: X-CSTP-Split-Include: 192.168.12.0/255.255.255.0

*Mar 3 16:47:20.764: X-CSTP-Split-Include: 192.168.11.0/255.255.255.0

*Mar 3 16:47:20.764: X-CSTP-Split-Include: 192.168.12.0/255.255.255.0

*Mar 3 16:47:20.765: X-CSTP-Rekey-Time: 3600

*Mar 3 16:47:20.765: X-CSTP-Rekey-Method: new-tunnel

*Mar 3 16:47:20.765: X-CSTP-DPD: 300

*Mar 3 16:47:20.765: X-CSTP-Disconnected-Timeout: 0

*Mar 3 16:47:20.765: X-CSTP-Idle-Timeout: 1800

*Mar 3 16:47:20.765: X-CSTP-Session-Timeout: 43200

*Mar 3 16:47:20.765: X-CSTP-Keepalive: 30

*Mar 3 16:47:20.765: X-CSTP-Smartcard-Removal-Disconnect: false

*Mar 3 16:47:20.766: X-CSTP-Include-Local_LAN: false

*Mar 3 16:47:20.766: [CRYPTO-SSL-TUNL-EVT]:[726BCA848AB0] For User cisco, DPD timer started for 300 seconds

*Mar 3 16:47:20.766: CRYPTO-SSL: Chunk data written..

buffer=0x726BCA8891E0 total_len=693 bytes=693 tcb=0x0

*Mar 3 16:47:21.762: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up

相關資訊

- 思科技術支援與下載