簡介
本文檔介紹如何配置WLC和Cisco Secure ACS,以使AAA伺服器能夠對控制器上的管理使用者進行身份驗證。
必要條件
需求
嘗試此組態之前,請確保符合以下要求:
採用元件
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
本文說明如何設定無線LAN控制器(WLC)和存取控制伺服器(Cisco Secure ACS),以便驗證、授權和計量(AAA)伺服器能對控制器上的管理使用者進行驗證。本文檔還說明了不同的管理使用者如何使用Cisco Secure ACS RADIUS伺服器返回的供應商特定屬性(VSA)獲得不同的許可權。
設定
本節提供如何根據本文檔中所述目的配置WLC和ACS的資訊。
網路圖表
此文件使用以下網路設定:
網路圖表
此組態範例使用以下引數:
-
Cisco Secure ACS的IP地址—172.16.1.1/255.255.0.0
-
控制器的管理介面IP地址— 172.16.1.30/255.255.0.0
-
在存取點(AP)和RADIUS伺服器上使用的共用金鑰- asdf1234
-
以下是該示例在ACS上配置的兩名使用者的憑據:
-
使用者名稱- acsreadwrite
密碼- acsreadwrite
-
使用者名稱- acsreadonly
密碼- acsreadonly
您需要配置WLC和Cisco Secure Cisco Secure ACS以便:
組態
本檔案使用下列組態:
WLC配置
配置WLC以透過Cisco Secure ACS伺服器接受管理
完成以下步驟以配置WLC使其與RADIUS伺服器通訊:
-
從WLC GUI中,按一下Security。 從左側選單中按一下RADIUS > Authentication。 系統將顯示RADIUS身份驗證伺服器頁面。要增加新的RADIUS伺服器,請按一下New。在RADIUS Authentication Servers > New 頁中,輸入特定於RADIUS伺服器的引數。以下提供範例。
-
選中Management 單選按鈕以允許RADIUS伺服器對登入到WLC的使用者進行身份驗證。
注意:請確保此頁上配置的共用金鑰與RADIUS伺服器上配置的共用金鑰匹配。只有這樣,WLC才能與RADIUS伺服器通訊。
-
驗證WLC是否配置為由Cisco Secure ACS管理。為此,請在WLC GUI中按一下Security。顯示的GUI視窗與本範例類似。
您可以看到RADIUS伺服器172.16.1.1啟用了Management覈取方塊。這說明,允許ACS對WLC上的管理使用者進行身份驗證。
Cisco Secure ACS配置
完成以下部分中的步驟以配置ACS:
-
將WLC作為AAA客戶端增加到RADIUS伺服器
-
配置使用者及其相應的RADIUS IETF屬性
-
設定具有讀寫存取權的使用者
-
設定具有唯讀存取權的使用者
將WLC作為AAA客戶端增加到RADIUS伺服器
要在Cisco Secure ACS中將WLC增加為AAA客戶端,請完成以下步驟:
-
從ACS GUI中,按一下Network Configuration。
-
在AAA Clients下,按一下Add Entry。
-
在Add AAA Client窗口中,輸入WLC主機名、WLC的IP地址和共用金鑰。
在此範例中,設定如下:
此共用金鑰必須與您在WLC上配置的共用金鑰相同。
-
在Authenticate Using下拉選單中,選擇RADIUS (Cisco Airespace)。
-
按一下Submit + Restart以儲存配置。
配置使用者及其相應的RADIUS IETF屬性
若要透過RADIUS伺服器驗證使用者,對於控制器登入和管理,您必須根據使用者許可權,將具有IETF RADIUS屬性Service-Typeset的適當值之使用者新增至RADIUS資料庫。
設定具有讀寫存取權的使用者
第一個範例顯示具有WLC完整存取權的使用者組態。當此使用者嘗試登入控制器時,RADIUS伺服器會驗證並向此使用者提供完整的管理存取許可權。
在本示例中,使用者名稱和口令為acsreadwrite。
在Cisco Secure ACS上完成以下步驟。
-
從ACS GUI中,按一下User Setup。
-
鍵入要增加到ACS的使用者名稱,如以下示例窗口所示。
使用者設定視窗
-
按一下Add/Edit轉到「User Edit」頁。
-
在「使用者編輯」頁中,提供此使用者的實際名稱、說明和口令詳細資訊。
-
向下滾動到IETF RADIUS Attributes設定並選中Service-Type Attribute。
-
由於在本示例中,需要向使用者acsreadwrite授予完全訪問許可權,因此請從「Service-Type」下拉選單中選擇Administrative,然後按一下Submit。
這可確保此特定使用者具有對WLC的讀寫訪問許可權。
ETF RADIUS屬性設定
有時,使用者設定下看不到此Service-Type屬性。在這種情況下,請完成以下步驟使其可見。
-
從ACS GUI中,導航到Interface Configuration > RADIUS (IETF),以便在使用者配置窗口中啟用IETF屬性。
這會顯示RADIUS (IETF) Settings頁面。
-
在「RADIUS (IETF)設定」(RADIUS (IETF)設定頁面,您可以啟用需要顯示在使用者或組設定下的IETF屬性。對於此配置,請檢查User列的Service-Type,然後按一下Submit。 此視窗顯示一個範例。
RADIUS (IETF)設定值頁面
注意:此示例指定基於每個使用者的身份驗證。您也可以根據特定使用者所屬的組執行身份驗證。在這種情況下,請啟用「群組」核取方塊,以便此屬性在「群組設定」下可見。 此外,如果身份驗證基於組,則需要將使用者分配到特定組,並配置組設定IETF屬性以提供對該組使用者的訪問許可權。有關如何配置和管理組的詳細資訊,請參閱組管理。
設定具有唯讀存取權的使用者
此範例顯示具有WLC唯讀存取權的使用者組態。當此使用者嘗試登入控制器時,RADIUS伺服器會驗證並向此使用者提供唯讀存取權。
在本示例中,使用者名稱和口令為acsreadonly。
在Cisco Secure ACS上完成以下步驟:
-
從ACS GUI中,按一下User Setup。
-
鍵入要增加到ACS的使用者名稱,然後按一下Add/Edit以轉至User Edit頁。
增加使用者名稱
-
提供此使用者的實際名稱、說明和口令。此視窗顯示一個範例。
提供新增使用者的實際名稱、說明和密碼
-
向下滾動到IETF RADIUS Attributes設定並選中Service-Type Attribute。
-
由於在本示例中,使用者acsreadonly需要具有只讀訪問許可權,因此從「Service-Type」下拉選單中選擇NAS Prompt,然後按一下Submit。
這可確保此特定使用者對WLC具有只讀訪問許可權。
檢查服務型別屬性
在本機以及透過RADIUS伺服器管理WLC
您也可以在WLC本機上設定管理使用者。這可以在控制器GUI的Management > Local Management Users下完成。
在WLC上本地組態管理使用者
假設WLC在本地以及RADIUS伺服器中配置了管理使用者,並啟用了Management覈取方塊。在此案例中,預設情況下,當使用者嘗試登入WLC時,WLC會以下列方式運作:
-
WLC首先檢視為驗證使用者而定義的本地管理使用者。如果該使用者存在於其本地清單中,則允許對該使用者進行身份驗證。如果此使用者未在本機顯示,則會尋找RADIUS伺服器。
-
如果相同使用者存在本機和RADIUS伺服器,但具有不同的存取許可權,則WLC會使用本機指定的許可權驗證使用者。換句話說,與RADIUS伺服器相比,WLC上的本機組態永遠優先。
可以在WLC上更改管理使用者的身份驗證順序。為此,請從WLC上的Security頁面按一下Priority Order > Management User。 您可以在此頁面指定驗證的順序。以下提供範例。
優先順序>管理使用者選取
注意:如果將LOCAL選為第二優先順序,則僅當定義為第一優先順序的方法(RADIUS/ TACACS)不可達時,才使用此方法驗證使用者。
驗證
若要驗證組態是否正常運作,請透過CLI或GUI (HTTP/HTTPS)模式存取WLC。當出現登入提示時,鍵入在Cisco Secure ACS上配置的使用者名稱和密碼。
如果您具有正確的組態,就會成功在WLC中透過驗證。
您還可以確保已驗證使用者是否受到ACS指定的訪問限制。為此,請透過HTTP/HTTPS存取WLC GUI(請確認WLC已設定為允許HTTP/HTTPS)。
在ACS中設定讀寫訪問許可權的使用者在WLC中具有若干可配置許可權。例如,讀寫使用者擁有在WLC的WLAN頁面下建立新WLAN的許可權。此視窗顯示一個範例。
WLC中的可配置許可權
當具有唯讀許可權的使用者嘗試修改控制器上的組態時,使用者會看到此訊息。
無法以唯讀存取權更改控制器
這些存取限制也可透過WLC的CLI驗證。下面是一個輸出示例。
(Cisco Controller) >?
debug Manages system debug options.
help Help
linktest Perform a link test to a specified MAC address.
logout Exit this session. Any unsaved changes are lost.
show Display switch options and settings.
(Cisco Controller) >config
Incorrect usage. Use the '?' or <TAB> key to list commands.
如以下示例輸出所示,控制器CLI中的?將顯示當前使用者可用的命令清單。另請注意,config 命令無法用於此示例輸出。這說明唯讀使用者沒有許可權在WLC上執行任何設定。但是,讀寫使用者擁有在控制器(GUI和CLI模式)上執行組態的許可權。
注意:即使您透過RADIUS伺服器對WLC使用者進行了身份驗證,當您逐頁瀏覽時,HTTP[S]伺服器仍會每次對客戶端進行完全身份驗證。不會在每個頁面上提示您進行驗證的唯一原因是您的瀏覽器會快取並重新顯示您的認證。
疑難排解
在某些情況下,控制器透過ACS對管理使用者進行身份驗證,身份驗證成功完成(access-accept),並且您在控制器上看不到任何授權錯誤。但是,系統再次提示使用者進行身份驗證。
在這種情況下,不能解釋問題所在,以及為什麼使用者無法僅使用debug aaa events enable 命令登入到WLC。相反,控制器會顯示另一個身份驗證提示。
一個可能的原因是,即使ACS上正確配置了使用者名稱和密碼,ACS未配置為傳輸該特定使用者或組的Service-Type屬性。
debug aaa events enable 命令的輸出並不表明使用者沒有所需的屬性(例如,Service-Type屬性),即使access-accept 從AAA伺服器傳送回也是如此。在本示例中,debug aaa events enable 命令的輸出顯示了一個示例。
(Cisco Controller) >debug aaa events enable
Mon Aug 13 20:14:33 2011: AuthenticationRequest: 0xa449a8c
Mon Aug 13 20:14:33 2011: Callback.....................................0x8250c40
Mon Aug 13 20:14:33 2011: protocolType.................................0x00020001
Mon Aug 13 20:14:33 2011: proxyState......................1A:00:00:00:00:00-00:00
Mon Aug 13 20:14:33 2011: Packet contains 5 AVPs (not shown)
Mon Aug 13 20:14:33 2011: 1a:00:00:00:00:00 Successful transmission of
Authentication Packet (id 8) to 172.16.1.1:1812, proxy state
1a:00:00:00:00:00-00:00
Mon Aug 13 20:14:33 2011: ****Enter processIncomingMessages: response code=2
Mon Aug 13 20:14:33 2011: ****Enter processRadiusResponse: response code=2
Mon Aug 13 20:14:33 2011: 1a:00:00:00:00:00 Access-Accept
received from RADIUS server 172.16.1.1 for mobile 1a:00:00:00:00:00 receiveId = 0
Mon Aug 13 20:14:33 2011: AuthorizationResponse: 0x9802520
Mon Aug 13 20:14:33 2011: structureSize................................28
Mon Aug 13 20:14:33 2011: resultCode...................................0
Mon Aug 13 20:14:33 2011: protocolUsed.................................0x00000001
Mon Aug 13 20:14:33 2011: proxyState.......................1A:00:00:00:00:00-00:00
Mon Aug 13 20:14:33 2011: Packet contains 0 AVPs:
在此第一個示例debug aaa events enable 命令輸出中,您看到Access-Accept已成功從RADIUS伺服器接收,但Service-Type屬性未傳遞到WLC。這是因為ACS上沒有使用此屬性配置特定使用者。
需要將Cisco Secure ACS配置為在使用者身份驗證後返回Service-Type屬性。必須根據使用者許可權將Service-Type屬性值設定為Administrative 或NAS-Prompt。
第二個示例再次顯示了debug aaa events enable命令輸出。但是,這一次ACS上的Service-Type屬性設定為Administrative。
(Cisco Controller)>debug aaa events enable
Mon Aug 13 20:17:02 2011: AuthenticationRequest: 0xa449f1c
Mon Aug 13 20:17:02 2011: Callback.....................................0x8250c40
Mon Aug 13 20:17:02 2011: protocolType.................................0x00020001
Mon Aug 13 20:17:02 2011: proxyState.......................1D:00:00:00:00:00-00:00
Mon Aug 13 20:17:02 2011: Packet contains 5 AVPs (not shown)
Mon Aug 13 20:17:02 2011: 1d:00:00:00:00:00 Successful transmission of
Authentication Packet (id 11) to 172.16.1.1:1812, proxy state
1d:00:00:00:00:00-00:00
Mon Aug 13 20:17:02 2011: ****Enter processIncomingMessages: response code=2
Mon Aug 13 20:17:02 2011: ****Enter processRadiusResponse: response code=2
Mon Aug 13 20:17:02 2011: 1d:00:00:00:00:00 Access-Accept received
from RADIUS server 172.16.1.1 for mobile 1d:00:00:00:00:00 receiveId = 0
Mon Aug 13 20:17:02 2011: AuthorizationResponse: 0x9802520
Mon Aug 13 20:17:02 2011: structureSize................................100
Mon Aug 13 20:17:02 2011: resultCode...................................0
Mon Aug 13 20:17:02 2011: protocolUsed.................................0x00000001
Mon Aug 13 20:17:02 2011: proxyState.......................1D:00:00:00:00:00-00:00
Mon Aug 13 20:17:02 2011: Packet contains 2 AVPs:
Mon Aug 13 20:17:02 2011: AVP[01] Service-Type...........0x00000006 (6) (4 bytes)
Mon Aug 13 20:17:02 2011: AVP[02] Class.........
CISCOACS:000d1b9f/ac100128/acsserver (36 bytes)
您可以看到在上一個範例輸出中,Service-Type屬性已傳遞到WLC。
相關資訊