目录

简介

先决条件

要求

使用的组件

配置

WLC 配置

ISE配置

创建授权配置文件

创建身份验证规则

创建授权策略

启用IP续约（可选 — 不推荐）

锚点 — 外部场景

验证

故障排除

锚定场景的特殊注意事项

简介

本文档介绍在无线局域网控制器(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))，因为门户提供设备注册和自助调配等功能。该流程包括以下步骤：

1. 用户与Web身份验证服务集标识符(SSID)关联。

2. 用户打开浏览器。

3. WLC在输入URL后立即重定向到访客门户（如ISE）。

4. 用户在门户上进行身份验证。

5. 访客门户使用输入的凭证重定向回WLC。

6. WLC通过RADIUS对访客用户进行身份验证。

7. WLC重定向回原始URL。

此流程包括多个重定向。新方法是使用CWA。该流程包括以下步骤：

1. 用户关联到Web身份验证SSID，该SSID实际上是开放的。无第2层和第3层安全，仅启用Mac过滤。

2. 用户打开浏览器。

3. WLC重定向到访客门户。

4. 用户在门户上进行身份验证。

5. ISE发送RADIUS授权更改（CoA - UDP端口1700）以向控制器指示用户有效，并最终推送RADIUS属性，如访问控制列表(ACL)。

6. 系统将提示用户重试原始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的名称。

1. 单击Policy，然后单击“Policy Elements”。

2. 单击“Results（结果）”。

3. 展开授权，然后单击授权配置文件。

4. 单击Add按钮，为中心Webauth创建新授权配置文件。

5. 在Name字段中，输入配置文件的名称。本示例使用WLC_CWA。

6. 从Access Type下拉列表中选择ACCESS_ACCEPT。

7. 选中Web Redirection复选框，然后从下拉列表中选择Centralized Web Auth。

8. 在ACL字段中，输入交换机上定义要重定向的流量的ACL的名称。本示例使用CWA_Redirect。

9. 在“值”(value)字段中，可以从下拉列表中选择“发起访客门户”(Sponsored Guest Portal)或“自注册访客门户”(Self-Registered Guest Portal)。在发起人访客门户中，发起人创建访客帐户，访客使用其分配的用户名和密码访问网络，而在自注册访客门户中，允许访客创建自己的帐户并使用其分配的用户名和密码访问网络。本示例使用发起访客门户。

创建身份验证规则

确保ISE接受来自WLC的所有MAC身份验证，并确保即使未找到用户也会追求身份验证。

在策略(Policy)>策略集(Policy Sets)>默认策略集(Default Policy Set)下，单击验证(Authentication)。

下图显示如何配置身份验证策略规则的示例。在本例中，配置了在检测到MAB时触发的规则。

1. 输入身份验证规则的名称。此示例使用MAB，默认情况下ISE上已存在MAB。

2. 在条件字段中选择加号(+)图标。

3. 从条件Studio中，在编辑器窗口中拖动Wireless_MAB并保存操作

4. 使用内部终端。

5. 单击“选项”并从“如果用户未找到”下拉列表中选择“继续”

注意：默认情况下，已在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属性来匹配此第二次身份验证。结果如下所示：

要创建授权规则（如上图所示），请完成以下步骤：

1. 创建新规则，然后输入名称。本示例使用访客重定向。

2. 点击条件字段中的铅笔图标，然后创建新条件。

3. 在编辑器下，单击以添加属性。

4. 选择Radius，然后展开它。

5. 单击Radius·Called-Station-ID，然后选择CONTAINS运算符。

6. 在右侧字段中输入CWA，在本例1中。

7. 在General Authorization页面，在Results下选择WLC_CWA(Authorization Profile)。

此步骤允许ISE继续，即使用户（或MAC地址）在连接到CWA SSID时不知道，并向其提供登录门户。

8. 单击位于Guest Redirection规则末尾的Actions按钮，然后选择在其上插入新规则。

注意：此新规则必须早于访客重定向规则，这非常重要。

9. 输入新规则的名称。本示例使用访客门户身份验证。

10. 在条件字段中，点击铅笔图标，然后选择创建新条件。

11. 选择Network Access,然后单击UseCase。

12. 选择Equals作为运算符。

13. 选择GuestFlow作为正确的操作数。

14. 在授权页面上，点击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续约：

1. 单击“工作中心”>“访客访问”，然后单击“门户和组件”。

2. 单击“Guest Portals”。

3. 单击Sponsored Guest Portal(在本示例中使用)，然后展开VLAN DHCP Release Page Settings。

4. 单击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。

以下是锚点外部设置中的流程：

1. 客户端连接到外部WLC上的SSID。外部WLC与ISE服务器联系以进行MAB。ISE使用重定向URL发送access-accept并将ACL重定向到外部。

2. 现在，客户端锚定到锚点WLC，在该WLC中，客户端获取IP地址并放入CENTRAL_WEBAUTH_REQD。

3. 当客户端尝试访问网站时，锚点WLC将客户端重定向到ISE门户页面。客户端将显示登录页面。

4. 成功登录后，ISE向外部WLC发送CoA。

5. 外部WLC与锚点WLC联系，让其知道将客户端置于RUN状态。

6. 所有客户端流量从外部转发到锚点，并从锚点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将在锚点和外部控制器之间共享，然后在这两个控制器上都启用记帐。

验证

使用本部分可确认配置能否正常运行。

1. 用户关联到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和授权策略访客重定向。

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

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

输入凭证后，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)

此后，客户端将重新进行身份验证并授予对网络的访问权限。

4. 在控制器上，策略管理器状态和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问题，请完成以下步骤：

1. 在控制器和监控器上输入debug client <mac address of client>命令，以确定客户端是否达到CENTRAL_WEBAUTH_REQD状态。当ISE返回WLC上不存在（或未正确输入）的重定向ACL时，会发现常见问题。如果出现这种情况，则客户端在达到CENTRAL_WEBAUTH_REQD状态后将取消身份验证，这会导致进程再次开始。

2. 如果可以达到正确的客户端状态，则在WLC Web GUI上导航至monitor > clients，并验证是否为客户端应用了正确的重定向ACL和URL。

3. 检验使用的DNS是否正确。客户端应该能够解析互联网网站和ISE主机名。您可以通过nslookup对此进行验证。

4. 验证ISE上是否执行了所有身份验证步骤：

- MAC身份验证应首先进行，CWA属性将返回到该身份验证。

- 门户登录身份验证发生。

- 发生动态授权。

- 最终身份验证是MAC身份验证，显示ISE上的门户用户名，最终授权结果返回到该用户名（如最终VLAN和ACL）。

锚定场景的特殊注意事项

考虑以下Cisco Bug ID，这些ID会限制移动场景（尤其是在配置记帐时）中CWA流程的效率：

- CSCuo56780 - ISE RADIUS服务拒绝服务漏洞

- CSCul83594 — 如果网络已打开，则Session-id未在移动中同步