简介
本文档介绍在无线局域网控制器(WLC)上完成中央网络身份验证(CWA)所使用的配置示例。
它由此处提供的更完整的访客部署指南取代:https://communities.cisco.com/docs/DOC-77590
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科®身份服务引擎(ISE)软件版本3.0
- 思科WLC软件版本8.3.150.0
配置
Web身份验证的第一种方法是本地Web身份验证。在这种情况下,WLC将HTTP流量重定向到内部或外部服务器,在该服务器中系统会提示用户进行身份验证。然后,WLC获取凭证(在外部服务器的情况下通过HTTP GET请求发回)并进行RADIUS身份验证。对于访客用户,需要外部服务器(如身份服务引擎(ISE)),因为门户提供设备注册和自助调配等功能。该流程包括以下步骤:
- 用户与Web身份验证服务集标识符(SSID)关联。
- 用户打开浏览器。
- WLC在输入URL后立即重定向到访客门户(如ISE)。
- 用户在门户上进行身份验证。
- 访客门户使用输入的凭证重定向回WLC。
- WLC通过RADIUS对访客用户进行身份验证。
- WLC重定向回原始URL。
此流程包括多个重定向。新方法是使用CWA。该流程包括以下步骤:
- 用户关联到Web身份验证SSID,该SSID实际上是开放的。无第2层和第3层安全,仅启用Mac过滤。
- 用户打开浏览器。
- WLC重定向到访客门户。
- 用户在门户上进行身份验证。
- ISE发送RADIUS授权更改(CoA - UDP端口1700)以向控制器指示用户有效,并最终推送RADIUS属性,如访问控制列表(ACL)。
- 系统将提示用户重试原始URL。
使用的设置为:

WLC 配置
WLC配置相当简单。使用特技(与交换机上的特技相同)从ISE获取动态身份验证URL(因为它使用授权更改(CoA),因此必须创建会话,并且会话ID是URL的一部分)。 配置SSID以使用MAC过滤。配置ISE以返回access-accept,即使找不到MAC地址,它也会为所有用户发送重定向URL。
除此之外,必须启用ISE网络准入控制(NAC)和身份验证、授权和记帐(AAA)覆盖。ISE NAC允许ISE发送CoA请求,该请求指示用户现在已通过身份验证并能够访问网络。它还用于状态评估,在这种情况下,ISE根据状态结果更改用户配置文件。
确保RADIUS服务器已启用CoA支持(默认情况下)。






最后一步是创建重定向ACL。此ACL在ISE的access-accept中引用,并定义应重定向的流量(ACL拒绝)和不应重定向的流量(ACL允许)。 在此,您只会阻止流量重定向到ISE。您可能希望更具体,并且仅阻止端口8443(访客门户)上的ISE的流量进出,但如果用户尝试访问端口80/443上的ISE,则仍然重定向。
注意:早期版本的WLC软件(如7.2或7.3)不要求您指定域名系统(DNS),但更高的代码版本要求您允许该重定向ACL上的DNS流量。

WLC上的配置现在已完成。
ISE配置
创建授权配置文件
在ISE上,必须创建授权配置文件。然后,配置身份验证和授权策略。WLC应已配置为网络设备。
在授权配置文件中,输入之前在WLC上创建的ACL的名称。
- 单击Policy,然后单击“Policy Elements”。
- 单击“Results(结果)”。
- 展开授权,然后单击授权配置文件。
- 单击Add按钮,为中心Webauth创建新授权配置文件。
- 在Name字段中,输入配置文件的名称。本示例使用WLC_CWA。
- 从Access Type下拉列表中选择ACCESS_ACCEPT。
- 选中Web Redirection复选框,然后从下拉列表中选择Centralized Web Auth。
- 在ACL字段中,输入交换机上定义要重定向的流量的ACL的名称。本示例使用CWA_Redirect。
- 在“值”(value)字段中,可以从下拉列表中选择“发起访客门户”(Sponsored Guest Portal)或“自注册访客门户”(Self-Registered Guest Portal)。在发起人访客门户中,发起人创建访客帐户,访客使用其分配的用户名和密码访问网络,而在自注册访客门户中,允许访客创建自己的帐户并使用其分配的用户名和密码访问网络。本示例使用发起访客门户。

创建身份验证规则
确保ISE接受来自WLC的所有MAC身份验证,并确保即使未找到用户也会追求身份验证。
在策略(Policy)>策略集(Policy Sets)>默认策略集(Default Policy Set)下,单击验证(Authentication)。
下图显示如何配置身份验证策略规则的示例。在本例中,配置了在检测到MAB时触发的规则。
- 输入身份验证规则的名称。此示例使用MAB,默认情况下ISE上已存在MAB。
- 在条件字段中选择加号(+)图标。
- 从条件Studio中,在编辑器窗口中拖动Wireless_MAB并保存操作
- 使用内部终端。
- 单击“选项”并从“如果用户未找到”下拉列表中选择“继续”
注意:默认情况下,已在ISE上创建MAB身份验证规则。

创建授权策略
配置授权策略。需要了解的一个重要点是身份验证/授权有两种:
- 第一种是当用户关联到SSID(本例中为“CWA”)并返回CWA配置文件时。
在本示例中,Airespace-Wlan-Id用作条件。当客户端连接到SSID时,对ISE的RADIUS访问请求包含Airespace-WLAN-ID属性。此属性用于在ISE中制定策略决策。因此,当未知客户端连接到SSID CWA时,ISE发送带重定向URL(Web门户)和ACL的access-accept。使用Airespace-Wlan-Id规则可确保门户页面仅向连接到CWA SSID的用户显示。
- 第二种情况是用户在Web门户上进行身份验证。此规则与此配置中的默认规则(内部用户)匹配(可以配置该规则以满足您的要求)。 授权部分必须再次与CWA配置文件不匹配。否则,将出现重定向环路。可以使用Network Access:UseCase Equals Guest Flow属性来匹配此第二次身份验证。结果如下所示:

要创建授权规则(如上图所示),请完成以下步骤:
- 创建新规则,然后输入名称。本示例使用访客重定向。
- 点击条件字段中的铅笔图标,然后创建新条件。
- 在编辑器下,单击以添加属性。
- 选择Radius,然后展开它。
- 单击Radius·Called-Station-ID,然后选择CONTAINS运算符。
- 在右侧字段中输入CWA,在本例1中。
- 在General Authorization页面,在Results下选择WLC_CWA(Authorization Profile)。
此步骤允许ISE继续,即使用户(或MAC地址)在连接到CWA SSID时不知道,并向其提供登录门户。
- 单击位于Guest Redirection规则末尾的Actions按钮,然后选择在其上插入新规则。
注意:此新规则必须早于访客重定向规则,这非常重要。
- 输入新规则的名称。本示例使用访客门户身份验证。
- 在条件字段中,点击铅笔图标,然后选择创建新条件。
- 选择Network Access,然后单击UseCase。
- 选择Equals作为运算符。
- 选择GuestFlow作为正确的操作数。
- 在授权页面上,点击Results下的下拉选项
您可以选择PermitAccess默认授权配置文件选项或创建自定义配置文件以返回您喜欢的VLAN或属性。请注意,在If GuestFlow之上,可以添加更多条件,以便根据用户组返回各种身份验证配置文件。如步骤7所述,此访客门户身份验证规则匹配在成功登录门户后和ISE发送CoA以重新验证客户端后启动的第二个MAC地址身份验证。此第二次身份验证的区别在于,ISE不仅会使用其MAC地址进入ISE,而会记住门户中提供的用户名。您可以将此授权规则考虑在访客门户中之前几毫秒输入的凭证。
注意:在多控制器环境中,WLC上的WLAN-ID应相同。如果不想将Airespace-Wlan-Id属性用作条件,则最好匹配Wireless_MAB(内置条件)请求。

启用IP续约(可选 — 不推荐)
如果分配VLAN,最后一步是客户端PC更新其IP地址。此步骤由Windows客户端的访客门户实现。如果之前未为第2个AUTH规则设置VLAN,则可跳过此步骤。这不是建议的设计,因为在客户端VLAN已获得IP地址后更改它会中断连接,有些客户端可能会对它做出错误反应,并且需要提升的Windows权限才能正常工作。
如果已分配VLAN,请完成以下步骤以启用IP续约:
- 单击“工作中心”>“访客访问”,然后单击“门户和组件”。
- 单击“Guest Portals”。
- 单击Sponsored Guest Portal(在本示例中使用),然后展开VLAN DHCP Release Page Settings。
- 单击VLAN DHCP Release复选框。
注意:VLAN DHCP版本支持仅适用于Windows设备。它不适用于移动设备。如果注册的设备是移动设备,并且VLAN DHCP释放选项已启用,则会请求访客手动更新其IP地址。对于移动设备用户,我们建议在WLC上使用访问控制列表(ACL),而不是使用VLAN。
锚点 — 外部场景
此设置还可以与WLC的自动锚点功能配合使用。唯一的问题是,由于此Web身份验证方法是第2层,因此您必须知道执行所有RADIUS工作的是外部WLC。只有外部WLC与ISE联系,且重定向ACL也必须存在于外部WLC上。外部只需要有ACL名称(不需要ACL条目)。 外部WLC将向锚点发送ACL名称,它将是应用重定向的锚点(因此需要正确的ALC内容)。
与其他场景一样,外部WLC会快速显示客户端处于RUN状态,这并不完全正确。它只是表示流量从那里发送到锚点。在锚点上可以看到实际客户端状态,锚点应显示CENTRAL_WEBAUTH_REQD。
以下是锚点外部设置中的流程:
- 客户端连接到外部WLC上的SSID。外部WLC与ISE服务器联系以进行MAB。ISE使用重定向URL发送access-accept并将ACL重定向到外部。
- 现在,客户端锚定到锚点WLC,在该WLC中,客户端获取IP地址并放入CENTRAL_WEBAUTH_REQD。
- 当客户端尝试访问网站时,锚点WLC将客户端重定向到ISE门户页面。客户端将显示登录页面。
- 成功登录后,ISE向外部WLC发送CoA。
- 外部WLC与锚点WLC联系,让其知道将客户端置于RUN状态。
- 所有客户端流量从外部转发到锚点,并从锚点WLC中传出。
允许WLC和ISE之间通信所需的防火墙端口有:
- UDP:1645、1812(RADIUS身份验证)
- UDP:1646、1813(RADIUS记帐)
- UDP:1700(RADIUS CoA)
- TCP:8443访客门户或8905(如果您有故障)。
注意:使用集中网络身份验证(CWA)的锚点外部设置仅在版本7.3或更高版本中工作。
注意:由于Cisco Bug ID CSCul83594,您无法同时在锚点和外部上运行记帐,因为它会导致分析因为可能缺少IP到MAC绑定而变得不准确。它还会导致访客门户的会话ID出现许多问题。如果要配置记帐,请在外部控制器上配置。请注意,从8.6 WLC软件开始,会话ID将在锚点和外部控制器之间共享,然后在这两个控制器上都启用记帐。
验证
使用本部分可确认配置能否正常运行。
- 用户关联到SSID后,WLC与ISE联系(因为配置了MAC过滤)。ISE已配置为使用重定向URL和ACL返回访问接受。这是第一次身份验证。
WLC中的客户端详细信息显示已应用重定向URL和ACL。

在WLC客户端和AAA全部调试中,您可以看到从ISE发送的重定向URL和ACL的访问接受。
*radiusTransportThread: d0:37:45:89:ef:64 Access-Accept received from RADIUS server 10.106.32.25 (qid:4) with port:1812, pktId:24 for mobile d0:37:45:89:ef:64 receiveId = 0
*radiusTransportThread: AuthorizationResponse: 0x166ab570
*radiusTransportThread: structureSize................................425
*radiusTransportThread: resultCode...................................0
*radiusTransportThread: protocolUsed.................................0x00000001
*radiusTransportThread: proxyState...................................D0:37:45:89:EF:64-00:00
*radiusTransportThread: Packet contains 4 AVPs:
*radiusTransportThread: AVP[01] User-Name................................D0-37-45-89-EF-64 (17 bytes)
*radiusTransportThread: AVP[02] Class....................................CACS:0a6a207a0000000a5fe8f217:ISE3-1/397801666/90 (49 bytes)
*radiusTransportThread: AVP[03] Cisco / Url-Redirect-Acl.................CWA_Redirect (12 bytes)
*radiusTransportThread: AVP[04] Cisco / Url-Redirect.....................DATA (175 bytes)
*radiusTransportThread: d0:37:45:89:ef:64 processing avps[0]: attribute 1
*radiusTransportThread: d0:37:45:89:ef:64 username = D0-37-45-89-EF-64
!
*apfReceiveTask: d0:37:45:89:ef:64 Redirect URL received for client from RADIUS. Client will be moved to WebAuth_Reqd state to facilitate redirection. Skip web-auth Flag = 0
ISE中也可以验证相同的内容。导航至“操作”>“Radius实时日志”。单击该MAC的详细信息。
您可以看到,对于第一次身份验证(MAC过滤),ISE返回授权配置文件WLC_CWA,因为它符合身份验证规则MAB和授权策略访客重定向。


- 此时,客户端将获取IP地址。现在,客户端处于CENTRAL_WEB_AUTH状态。当客户端上打开任何地址时,浏览器将重定向到ISE。确保DNS设置正确。

- 输入正确的凭证后,即授予网络访问权限。这是第二次身份验证。


输入凭证后,ISE对客户端进行身份验证并发送CoA。


在WLC上,AAA所有调试中都可以看到此情况。
*radiusCoASupportTransportThread: audit session ID recieved in CoA = 0a6a207a0000000b5fe90410
*radiusCoASupportTransportThread: Received a 'CoA-Request' from 10.106.32.25 port 23974
*radiusCoASupportTransportThread: CoA - Received IP Address : 10.106.32.122, Vlan ID: (received 0)
*radiusCoASupportTransportThread: d0:37:45:89:ef:64 Calling-Station-Id ---> d0:37:45:89:ef:64
*radiusCoASupportTransportThread: Handling a valid 'CoA-Request' regarding station d0:37:45:89:ef:64
*radiusCoASupportTransportThread: Sending Radius CoA Response packet on srcPort: 1700, dpPort: 2, tx Port: 23974
*radiusCoASupportTransportThread: Sent a 'CoA-Ack' to 10.106.32.25 (port:23974)
此后,客户端将重新进行身份验证并授予对网络的访问权限。

- 在控制器上,策略管理器状态和RADIUS NAC状态从CENTRAL_WEB_AUTH更改为RUN。
注意:在版本7.2或更低版本中,状态CENTRAL_WEB_AUTH被称为POSTURE_REQD。
请注意,ISE返回的CoA类型会在不同版本之间演变。ISE 3.0将请求WLC使用最后一种方法(在本例中为MAB)开始重新身份验证。当WLC发送具有Authorize-Only属性的RADIUS访问请求时,WLC会重新验证用户。
ISE 3.0 CoA请求示例:

然后,WLC将不向客户端发送取消关联帧,并将再次运行RADIUS身份验证并将新结果透明地应用到客户端。自8.3以来,WLC支持在CWA SSID上设置WPA预共享密钥。用户体验与传统非PSK场景相同,WLC不会向客户端发送取消关联的帧,只需应用新的授权结果。但是,虽然从未收到来自客户端的“关联请求”,但仍会向客户端发送“关联响应”,在分析嗅探器踪迹时,这似乎很奇怪。
故障排除
要排除或隔离CWA问题,请完成以下步骤:
- 在控制器和监控器上输入debug client <mac address of client>命令,以确定客户端是否达到CENTRAL_WEBAUTH_REQD状态。当ISE返回WLC上不存在(或未正确输入)的重定向ACL时,会发现常见问题。如果出现这种情况,则客户端在达到CENTRAL_WEBAUTH_REQD状态后将取消身份验证,这会导致进程再次开始。
- 如果可以达到正确的客户端状态,则在WLC Web GUI上导航至monitor > clients,并验证是否为客户端应用了正确的重定向ACL和URL。
- 检验使用的DNS是否正确。客户端应该能够解析互联网网站和ISE主机名。您可以通过nslookup对此进行验证。
- 验证ISE上是否执行了所有身份验证步骤:
- MAC身份验证应首先进行,CWA属性将返回到该身份验证。
- 门户登录身份验证发生。
- 发生动态授权。
- 最终身份验证是MAC身份验证,显示ISE上的门户用户名,最终授权结果返回到该用户名(如最终VLAN和ACL)。
锚定场景的特殊注意事项
考虑以下Cisco Bug ID,这些ID会限制移动场景(尤其是在配置记帐时)中CWA流程的效率: