目錄

簡介

必要條件

需求

採用元件

設定

網路圖表

主本地EAP配置

步驟 1.本地EAP配置檔案

步驟 2.AAA認證方法

步驟 3.配置AAA授權方法

步驟 4.配置本地高級方法

步驟 5.設定WLAN

步驟 6.建立一個或多個使用者

步驟 7.建立策略配置檔案。建立策略標籤以將此WLAN配置檔案對映到策略配置檔案

步驟 8.將策略標籤部署到接入點。

驗證

疑難排解

由於密碼錯誤而無法連線的客戶端示例

失敗時的跟蹤

簡介

本檔案介紹Catalyst 9800 WLC（無線LAN控制器）上的本地EAP的組態。

必要條件

需求

本檔案介紹Catalyst 9800 WLC上本地EAP（可擴充驗證通訊協定）的組態；即WLC執行為無線使用者端的RADIUS驗證伺服器。

本檔案假設您熟悉9800 WLC上的WLAN基本組態，且僅專注於WLC作為無線使用者端的本地EAP伺服器運作。

採用元件

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

16.12.1s版上的Catalyst 9800

設定

網路圖表

主本地EAP配置

步驟 1.本地EAP配置檔案

在9800 Web UI中轉至Configuration > Security > Local EAP。

選擇Add

輸入配置檔名稱。

由於安全性較差，LEAP完全不被建議使用。其他3種EAP方法中的任何一種都需要您配置信任點。這是因為作為驗證者的9800必須傳送憑證讓使用者端信任它。

使用者端不信任WLC預設憑證，因此您需要在使用者端停用伺服器憑證驗證（不建議），或在9800 WLC上安裝使用者端信任的憑證信任點（或手動匯入使用者端信任儲存區中）。

CLI:

(config)#eap profile mylocapeap

(config-eap-profile)#method peap

(config-eap-profile)#pki-trustpoint admincert

步驟 2.AAA認證方法

您需要配置本地點的AAA dot1x方法，以便使用使用者的本地資料庫（但可以使用外部LDAP查詢，例如）。

前往Configuration > Security > AAA，然後前往AAA method list索引標籤以進行驗證。選擇Add。

選擇「dot1x」型別和本地組型別。

步驟 3.配置AAA授權方法

轉到Authorization子頁籤，並建立用於鍵入credential-download的新方法並將其指向本地。

對網路授權型別執行相同操作

CLI:

(config)#aaa new-model

(config)#aaa authentication dot1x default local

(config)#aaa authorization credential-download default local

(config)#aaa local authentication default authorization default

(config)#aaa authorization network default local

步驟 4.配置本地高級方法

轉到AAA advanced選項卡。

定義本地身份驗證和授權方法。由於此示例使用了「預設」憑證下載和「預設」dot1x方法，您需要在此為本地身份驗證和授權下拉框設定預設值。

如果已定義命名方法，請在下拉選單中選擇「方法清單」，然後使用另一個欄位輸入方法名稱。

CLI:

aaa local authentication default authorization default

步驟 5.設定WLAN

然後，您可以根據上一步中定義的本地EAP配置檔案和AAA身份驗證方法配置WLAN的802.1x安全性。

轉至Configuration > Tags and Profiles > WLANs > + Add >

提供SSID和配置檔名稱。

預設情況下，Dot1x security在第2層下處於選中狀態。

在AAA下，選擇Local EAP Authentication，並從下拉選單中選擇Local EAP profile和AAA Authentication list。

(config)#wlan localpeapssid 1 localpeapssid

(config-wlan)#security dot1x authentication-list default

(config-wlan)#local-auth mylocaleap

步驟 6.建立一個或多個使用者

在CLI中，使用者必須是network-user型別。以下是在CLI中建立的使用者範例：

(config)#user-name 1xuser

creation-time 1572730075

description 1xuser

password 0 Cisco123

type network-user description 1xuser

在CLI中建立後，此使用者在Web UI中可見，但如果在Web UI中建立，則沒有方法使其自16.12起成為network-user

步驟 7.建立策略配置檔案。建立策略標籤以將此WLAN配置檔案對映到策略配置檔案

轉到Configuration > Tags and profiles > Policy

為WLAN建立策略配置檔案。

此範例顯示flexconnect本機交換，但vlan 1468上發生中央驗證情況，但這取決於您的網路。

轉至Configuration > Tags and profiles > Tags

將WLAN分配給標籤內的策略配置檔案。

步驟 8.將策略標籤部署到接入點。

在這種情況下，對於單個AP，可以直接在AP上分配標籤。

轉至Configuration > Wireless >Access points，然後選擇要配置的AP。

確保分配的標籤是您配置的標籤。

驗證

主要配置行如下所示：

aaa new-model

aaa authentication dot1x default local

aaa authorization credential-download default local

aaa local authentication default authorization default

eap profile mylocaleap

method peap

pki-trustpoint admincert

user-name 1xuser

creation-time 1572730075 description 1xuser

password 0 Cisco123

type network-user description 1xuser

wlan ndarchis_leap 1 ndarchis_leap

local-auth mylocaleap

security dot1x authentication-list default

no shutdown

疑難排解

請注意，Cisco IOS® XE 16.12及更早版本僅支援TLS 1.0進行本地EAP身份驗證，如果客戶端越來越普遍地僅支援TLS 1.2，則可能會造成問題。Cisco IOS® XE 17.1及更高版本支援TLS 1.2和TLS 1.0。

若要對連線有問題的特定客戶端進行故障排除，請使用RadioActive Tracing。轉至故障排除> RadioActive Trace，新增客戶端MAC地址。

選擇開始以啟用該客戶端的跟蹤。

重現問題後，可以選擇Generate按鈕以生成包含調試輸出的檔案。

由於密碼錯誤而無法連線的客戶端示例

2019/10/30 14:54:00.781 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 8, EAP-Type = EAP-FAST

2019/10/30 14:54:00.781 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0x5

2019/10/30 14:54:00.784 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 204, EAP-Type = EAP-FAST

2019/10/30 14:54:00.784 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0x5

2019/10/30 14:54:00.785 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.788 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 85, EAP-Type = EAP-FAST

2019/10/30 14:54:00.788 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0x6

2019/10/30 14:54:00.791 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 6, EAP-Type = EAP-FAST

2019/10/30 14:54:00.791 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0x6

2019/10/30 14:54:00.791 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.792 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 59, EAP-Type = EAP-FAST

2019/10/30 14:54:00.792 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0x7

2019/10/30 14:54:00.795 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 75, EAP-Type = EAP-FAST

2019/10/30 14:54:00.795 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0x7

2019/10/30 14:54:00.795 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.796 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 91, EAP-Type = EAP-FAST

2019/10/30 14:54:00.796 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0x8

2019/10/30 14:54:00.804 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 123, EAP-Type = EAP-FAST

2019/10/30 14:54:00.804 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0x8

2019/10/30 14:54:00.804 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.805 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 139, EAP-Type = EAP-FAST

2019/10/30 14:54:00.805 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0x9

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 75, EAP-Type = EAP-FAST

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0x9

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [eap] [23294]: (info): FAST:EAP_FAIL from inner method MSCHAPV2

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 59, EAP-Type = EAP-FAST

2019/10/30 14:54:00.808 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - REQUEST, ID : 0xa

2019/10/30 14:54:00.811 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 59, EAP-Type = EAP-FAST

2019/10/30 14:54:00.811 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] EAP Packet - RESPONSE, ID : 0xa

2019/10/30 14:54:00.811 {wncd_x_R0-0}{2}: [caaa-authen] [23294]: (info): [CAAA:AUTHEN:66000006] DEBUG: mlist=(null) for type=0

2019/10/30 14:54:00.812 {wncd_x_R0-0}{2}: [eap-auth] [23294]: (info): FAIL for EAP method name: EAP-FAST on handle 0xBD000006

2019/10/30 14:54:00.812 {wncd_x_R0-0}{2}: [dot1x] [23294]: (info): [e836.171f.a162:capwap_90000004] Raised identity update event for eap method EAP-FAST

2019/10/30 14:54:00.813 {wncd_x_R0-0}{2}: [errmsg] [23294]: (note): %DOT1X-5-FAIL: Authentication failed for client (e836.171f.a162) with reason (Cred Fail) on Interface capwap_90000004 AuditSessionID 00000000000000101D28423A Username: fakeuser

2019/10/30 14:54:00.813 {wncd_x_R0-0}{2}: [auth-mgr] [23294]: (info): [e836.171f.a162:capwap_90000004] Authc failure from Dot1X, Auth event fail

失敗時的跟蹤

即使未啟用調試，也可以使用trace-on-failure命令檢查給定mac地址的故障事件清單。

在下一個示例中，AAA方法最初不存在（AAA伺服器關閉事件），幾分鐘後客戶端使用了錯誤的憑據。

在Cisco IOS® XE 17.1及更高版本中，命令是show logging trace-on-failure summary（16.12及之前版本），且是show logging profile wireless(filter mac <mac>)trace-on-failure (Cisco IOS XE 17.1及更高版本中)。17.1及更高版本允許您過濾客戶端MAC地址，這一點沒有技術區別。

Nico9800#show logging profile wireless filter mac e836.171f.a162 trace-on-failure

Displaying logs from the last 0 days, 0 hours, 10 minutes, 0 seconds

executing cmd on chassis 2 ...

sending cmd to chassis 1 ...

Collecting files on current[1] chassis.

# of files collected = 30

Collecting files on current[2] chassis.

# of files collected = 30

Collecting files from chassis 1.

Time                        UUID                 Log

----------------------------------------------------------------------------------------------------

2019/10/30 14:51:04.438     0x0      SANET_AUTHC_FAILURE - AAA Server Down username , audit session id 000000000000000F1D260BB0,

2019/10/30 14:58:04.424     0x0      e836.171f.a162 CLIENT_STAGE_TIMEOUT State = AUTHENTICATING, WLAN profile = ndarchis_leap, Policy profile = leap, AP name = LABap_2802