简介
本文档介绍如何配置WLC和Cisco Secure ACS,以便AAA服务器可以对控制器上的管理用户进行身份验证。
先决条件
要求
尝试进行此配置之前,请确保满足以下要求:
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
背景信息
本文档说明如何配置无线局域网控制器(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。
-
在添加AAA客户端窗口中,输入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”页。
-
在User Edit页面中,提供此用户的真实名称、说明和密码详细信息。
-
向下滚动到IETF RADIUS属性设置并选中Service-Type Attribute。
-
由于在本例中,需要为用户acsreadwrite授予完全访问权限,因此请为Service-Type下拉菜单选择Administrative,然后单击Submit。
这可确保此特定用户对WLC具有读写访问权限。
ETF RADIUS属性设置
有时,此Service-Type属性在用户设置下不可见。在这种情况下,请完成以下步骤使其可见。
-
在ACS GUI中,选择Interface Configuration > RADIUS(IETF),以便在User Configuration窗口中启用IETF属性。
这会将您转到RADIUS(IETF)设置页面。
-
从RADIUS(IETF)设置页面,您可以启用需要在用户或组设置下可见的IETF属性。对于此配置,选中User列的Service-Type,然后单击Submit。 此窗口显示了一个示例。
RADIUS(IETF)设置页面
注:此示例指定基于每个用户的身份验证。您还可以根据特定用户所属的组执行身份验证。在这种情况下,请启用Group复选框,以便此属性在Group settings下可见。 此外,如果身份验证以组为基础,您需要将用户分配到特定组,并配置组设置IETF属性以提供该组用户的访问权限。有关如何配置和管理组的详细信息,请参阅组管理。
配置具有只读访问权限的用户
此示例显示对WLC具有只读访问权限的用户的配置。当此用户尝试登录控制器时,RADIUS服务器会进行身份验证并为此用户提供只读访问权限。
在本示例中,用户名和密码为acsreadonly。
在 Cisco Secure ACS 上完成以下步骤:
-
从 ACS GUI 中,单击 User Setup。
-
键入要添加到ACS的用户名,然后单击Add/Edit以转到User Edit页面。
添加用户名
-
提供此用户的真实名称、说明和密码。此窗口显示了一个示例。
提供已添加用户的真实名称、说明和密码
-
向下滚动到IETF RADIUS属性设置并选中Service-Type Attribute。
-
由于在本示例中,用户只读需要只读访问权限,因此从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上的a?显示当前用户可用的命令列表。另请注意, config
命令在此示例输出中不可用。这说明只读用户没有在WLC上执行任何配置的权限。但是,读写用户确实拥有在控制器上进行配置的权限(GUI和CLI模式)。
注意:即使通过RADIUS服务器对WLC用户进行身份验证,当您逐页浏览时,HTTP[S]服务器仍会每次对客户端进行完全身份验证。在每页上不提示您进行身份验证的唯一原因是浏览器缓存并重播您的凭证。
故障排除
在某些情况下,控制器通过ACS对管理用户进行身份验证,身份验证成功完成(access-accept),并且在控制器上看不到任何授权错误。但是,系统会再次提示用户进行身份验证。
在这种情况下,您无法解释错误以及用户无法仅使用 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
命令输出中,您会看到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。
相关信息