簡介
本檔案介紹如何設定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 Authentication servers頁面。要新增新的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伺服器
完成以下步驟,以便將WLC新增為Cisco Secure ACS中的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伺服器驗證使用者身分,若要進行控制器登入和管理,您必須根據使用者許可權,將使用者新增到RADIUS資料庫,並將IETF RADIUS attributeService-Typeset新增到適當的值。
配置具有讀寫訪問許可權的使用者
第一個範例顯示具有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)設定頁面。
-
在「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。
-
由於在本例中,使用者只讀需要只讀訪問許可權,因此從「服務型別」下拉選單中選擇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。 在此頁面中,您可以指定身份驗證的順序。以下提供範例。
Management User Selection" />優先順序順序>管理使用者選擇
注意:如果將LOCAL選為第二優先順序,則只有在定義為第一優先順序(RADIUS/TACACS)的方法無法到達時,才使用此方法驗證使用者。
驗證
若要確認組態是否正常運作,請透過CLI或GUI(HTTP/HTTPS)模式存取WLC。出現登入提示時,鍵入在Cisco Secure ACS上配置的使用者名稱和密碼。
如果設定正確,您就會成功通過驗證進入WLC。
您還可以確保已驗證的使用者是否具有ACS指定的訪問限制。為此,請透過HTTP/HTTPS存取WLC GUI(請確保WLC設定為允許HTTP/HTTPS)。
在ACS中設定讀寫訪問許可權的使用者在WLC中具有多個可配置許可權。例如,讀取/寫入使用者有在WLC的WLANs頁面下建立新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上的a?會顯示目前使用者可用的命令清單。另請注意, config
命令在此示例輸出中不可用。這說明唯讀使用者沒有在WLC上執行任何設定的許可權。但是,讀寫使用者確實擁有在控制器(GUI和CLI模式)上執行組態的許可權。
注意:即使您通過RADIUS伺服器對WLC使用者進行身份驗證,當您逐頁瀏覽時,HTTP[S]伺服器仍會每次對客戶端進行完全身份驗證。系統不會在每頁上提示您進行身份驗證的唯一原因是,您的瀏覽器會快取並重放您的憑據。
疑難排解
在某些情況下,當控制器通過ACS對管理使用者進行身份驗證時,身份驗證成功完成(訪問接受),並且在控制器上看不到任何授權錯誤。但是,系統再次提示使用者進行身份驗證。
在這些情況下,您無法判斷錯誤內容,以及使用者無法僅使用 debug aaa events enable
指令。相反,控制器會顯示另一個驗證提示。
可能的原因之一是ACS未配置為傳輸該特定使用者或組的服務型別屬性,即使ACS上的使用者名稱和密碼配置正確。
的輸出 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
命令輸出中,您會看到從RADIUS伺服器成功收到了Access-Accept,但Service-Type屬性並未傳遞到WLC。這是因為特定使用者未在ACS上配置此屬性。
需要將Cisco Secure ACS配置為在使用者身份驗證後返回Service-Type屬性。必須根據使用者許可權將Service-Type屬性值設定為Administrative或NAS-Prompt。
第二個示例顯示 debug aaa events enable
命令輸出。但是,這一次,在ACS上,服務型別屬性設定為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。
相關資訊