跳至主要内容

Cisco Catalyst WLC 与访客 WiFi:利用 Purple 设置 Captive Portal

介绍 Cisco Catalyst 9800 (IOS-XE) 无线局域网控制器如何与 Purple 访客 WiFi 协同工作:通过外部 Web 认证、RADIUS 和围墙花园,并附有 Purple 逐步设置指南的链接以完成准确配置。

📖 2 分钟阅读📝 399 📚 5 关键定义

收听本指南

查看播客转录
欢迎收看 Purple 技术简报系列。今天我们要讨论一个几乎每位在酒店、零售或大型场馆工作标的企业网络架构师都会面临的问题:如何将 Cisco 无线局域网控制器和 Catalyst 无线基础设施与 Purple 的 Guest WiFi 平台相集成。如果您正在运行 Cisco Catalyst 9800 系列控制器或旧版的 AireOS 平台,并且需要提供符合合规要求、经过细分的、由分析驱动的访客网络,那么本期简报就是为您准备的。[medium pause] 首先来了解一下背景。Purple 在全球 80,000 多个活跃场馆中运行,而 Cisco 是企业环境中主导的无线基础设施供应商。让这两个平台协同工作并不复杂,但确实需要您在前期做出正确的架构决策。如果决策错误,您将花费数周时间来排查重定向循环、VLAN 不匹配和 RADIUS 超时问题。如果决策正确,您将拥有一个能够自动细分访客、员工和 IoT 设备、合规收集第一方数据,并可在数百个站点无缝扩展且无需人工干预的网络。[medium pause] 那么,让我们深入探讨一下架构。[short pause] 在 Cisco 部署中,当访客连接到您的 WiFi 网络时,在他们接入互联网之前需要发生三件事。首先,Cisco Catalyst 9800 WLC 需要拦截初始的 HTTP 请求,并将客户端重定向到 Purple 的 Captive Portal。其次,Purple 的门户需要对用户进行身份验证,无论是通过社交登录、电子邮件、短信还是简单的接受条款和条件。第三,Purple 的 RADIUS 服务器需要向 WLC 发送信号,确认用户已获得授权,并可选择将其分配到特定的 VLAN。[medium pause] 处理第一步的机制称为外部 Web 身份验证(External Web Authentication)或 EWA。在 Catalyst 9800 上,您需要配置一个指向 Purple 展示页面 URL 的 Web 身份验证参数映射(parameter map)。WLC 会拦截来自未授权客户端的所有 HTTP 流量,并向该 URL 发出 302 重定向。您还需要配置预身份验证 ACL,或使用 9800 的 URL 过滤器功能,将 Purple 的门户 IP 地址列入白名单,以便客户端在获得授权之前能够实际访问该展示页面。Purple 为其门户提供了两个 IP 地址,您需要在预授权 ACL 中同时允许这两个地址。[medium pause] 以下是 Catalyst 9800 的配置顺序。首先,创建参数映射。然后配置您的 URL 过滤器,以允许在预身份验证阶段访问 Purple 的域名。将此应用到您的 WLAN 策略配置文件,将第 2 层安全设置为 None,在第 3 层启用 Web Policy,并将其指向您的参数映射。[medium pause] 现在我们来谈谈 RADIUS。在这种架构中,Purple 充当 RADIUS 服务器。您需要配置 WLC 以指向 Purple 的 RADIUS 端点,您可以在 Purple 控制面板中的场馆网络设置下找到该端点。共享密钥是按每个场馆生成的。在 Catalyst 9800 上,导航至 Configuration, Security, AAA, Servers,然后添加具有正确 IP 和共享密钥的 Purple RADIUS 服务器。然后创建一个服务器组、一个身份验证方法列表,并将其应用到您的 WLAN。[medium pause] 有一点很容易让人出错:在 9800 上,您还必须在全局 web auth 参数映射中配置虚拟 IP 地址。使用 192.0.2.1 作为虚拟 IPv4 地址。如果您跳过此步骤,客户端有时会被重定向到内部门户,而不是 Purple 的门户,您就会花上一下午的时间苦苦思索原因,非常令人沮丧。[medium pause] 让我们继续讨论使用 802.1X 的员工 WiFi。[short pause] 对于员工网络,您需要使用 EAP-TLS 进行基于证书的身份验证,或者在无法部署证书的环境中,至少使用带有 MSCHAPv2 的 PEAP。在 Catalyst 9800 上,为员工创建一个单独的 WLAN,将 Layer 2 安全性设置为 WPA2 企业版,并将身份验证指向您的 RADIUS 服务器。如果您使用 Microsoft Entra ID 或 Okta 作为身份源,Purple 的 SecurePass 插件将充当 RADIUS 代理,将 802.1X 身份验证请求转换为身份源查询。这意味着您不需要为员工身份验证配置单独的本地 RADIUS 服务器。Purple 会处理 EAP 终结并将身份检查转发给您的身份源。[medium pause] 特别是对于 EAP-TLS,您需要通过 Microsoft Intune、Jamf 或类似的 MDM 平台将客户端证书部署到员工设备。证书链必须受 Purple 的 RADIUS 服务器信任,这意味着需要将您的根 CA 证书上传到 Purple 控制面板。完成此配置后,员工设备将静默进行身份验证,没有密码提示,没有展示页面。用户连接,证书通过验证,几秒钟内他们就进入了员工 VLAN。[medium pause] 现在,这是大多数架构师真正感兴趣的部分:Cisco Identity PSK,即 iPSK。[short pause] iPSK 解决了多租户环境中经常出现的一个特定问题。想象一家有 300 间客房的酒店,或者拥有 50 家门店的零售物业,或者有 200 套公寓的建房出租项目。您希望使用单个 SSID,但需要将每个租户、每个房间或每个设备组隔离在自己的 VLAN 上。传统的解决方法是为每个租户创建一个单独的 SSID,这无法扩展且会造成无线电频率拥堵。iPSK 为您提供单个 SSID,其中每个客户端或客户端组都拥有一个唯一的预共享密钥,而 RADIUS 服务器会将该密钥映射到特定的 VLAN。[medium pause] 以下是其技术工作原理。当客户端关联到 SSID 时,Catalyst 9800 WLC 会向 Purple 的 RADIUS 服务器发送一个 RADIUS Access-Request,其中包含客户端的 MAC 地址。Purple 的 RADIUS 服务器在其 iPSK 数据库中查找该 MAC 地址,找到关联的 PSK 和 VLAN 分配,并返回一个 RADIUS Access-Accept,其中包含带有 PSK 的 Cisco AV-pair 以及用于 VLAN 分配的 IETF 隧道属性。WLC 使用返回的 PSK 完成 WPA2 四步握手,然后将客户端置于分配的 VLAN 中。 [medium pause] 进行动态 VLAN 分配所需的三个 RADIUS 属性为:IETF 属性 64(Tunnel-Type),设置为 VLAN 且值为 13;IETF 属性 65(Tunnel-Medium-Type),设置为 802 且值为 6;以及 IETF 属性 81(Tunnel-Private-Group-ID),设置为字符串格式的 VLAN ID。这三个属性在 RADIUS Access-Accept 中一起发送,可以准确地告诉 WLC 分配哪个 VLAN。该 VLAN 必须已作为动态接口存在于 WLC 上,并且上行交换机端口必须配置为承载所有相关 VLAN 的 Trunk 链路。 [medium pause] 在 WLC 端,在 iPSK WLAN 上启用 MAC 过滤,启用 AAA Override,并将第 2 层安全设置为 WPA2-PSK。您在 WLAN 上配置的全局 PSK 仅用作备用。对于在 Purple 的 iPSK 数据库中注册了 MAC 地址的任何客户端,RADIUS 返回的 PSK 具有优先权。对于未注册的设备,您可以根据您的策略拒绝访问或回退到全局 PSK。 [medium pause] 让我为您提供两个实际场景,使其更加具体。 [short pause] 第一种场景:一家拥有 200 间客房的酒店。酒店希望访客位于仅可访问互联网的 VLAN 10,员工位于可访问物业管理系统的 VLAN 20,而物联网设备(门锁、温控器、闭路电视等)位于无法访问互联网的 VLAN 30。他们运行的是 Cisco Catalyst 9800 控制器和 Cisco 9100 系列接入点。 [medium pause] 架构设计:在 WLC 上配置三个策略配置文件,每个 VLAN 一个。一个用于访客的单一 SSID,使用指向 Purple 的外部 Web 认证(External Web Authentication)。一个单独的员工 SSID,使用带有 EAP-TLS 的 WPA2 企业级认证,通过 Purple SecurePass 针对 Microsoft Entra ID 进行身份验证。以及用于物联网设备的 iPSK,每个设备的 MAC 地址都在 Purple 的门户中注册并分配给 VLAN 30。酒店的物业管理系统通过 Purple 的 API 预配新的物联网设备,因此当安装新的门锁时,其 MAC 地址会自动注册并分配到正确的 VLAN。无需手动进行 RADIUS 配置。 [medium pause] 第二种场景:一家拥有 80 家门店的零售连锁店。每家门店都拥有一个访客 WiFi 网络、一个员工网络和一个用于支付终端的网络。PCI-DSS 合规性要求支付终端网络与访客网络完全隔离。该零售商在每个站点使用 Cisco Catalyst 9800-L 控制器,通过 Cisco Catalyst Centre 进行集中管理。 [medium pause] Purple 采用云端覆盖方式进行部署。每个门店的 WLC 都配置有 Purple 的 RADIUS 服务器详情。访客认证采用带有邮箱捕获功能的品牌展示页面,将第一方数据输送到 Purple 的分析平台。员工认证通过 Purple SecurePass 对 Active Directory 使用 PEAP。支付终端使用带有专用 VLAN 的 iPSK,且预认证 ACL 明确阻止支付 VLAN 与访客 VLAN 之间的任何流量,满足网络分段的 PCI-DSS 要求 1.3。[medium pause] 现在让我们谈谈常见的问题。[short pause] 最常见的失效模式是重定向循环。当预认证 ACL 未正确将 Purple 的门户 IP 地址列入白名单时,就会发生这种情况。WLC 将客户端重定向到 Purple 的门户,但客户端因为受到 ACL 阻挡而无法访问该门户,导致 WLC 无限次地再次重定向。解决方法:验证您的 URL 过滤器或预认证 ACL 是否同时包含 Purple 的两个门户 IP 地址,并确认在预认证前允许进行 DNS 解析。[medium pause] 第二个常见问题是 VLAN 不匹配。RADIUS 服务器返回了一个在 WLC 上不存在作为动态接口的 VLAN ID。WLC 随后将客户端分配到本地 VLAN,这通常是管理 VLAN,会带来安全风险。解决方法:在部署之前,对照 Purple 的 RADIUS 策略中配置的 VLAN ID 审核您的 WLC 动态接口。它们必须完全匹配。[medium pause] 第三个常见问题:EAP-TLS 部署中的证书信任失败。如果客户端的证书链不被 Purple 的 RADIUS 服务器所信任,在用户端看来认证就会静默失败。他们就是无法连接。解决方法:在部署客户端证书之前,将您的根 CA 和任何中间 CA 证书上传到 Purple 的 SecurePass 配置中。在向整个设备群推广之前,先用单台设备进行测试。[medium pause] 快速问答。[short pause] 我可以使用 Cisco Meraki 代替 WLC 来配合 Purple 使用吗?可以。Cisco Meraki 有其自己的 Captive Portal 集成机制,Purple 原生支持该机制。RADIUS 配置类似,但使用的是 Meraki 的仪表板,而不是 WLC 命令行。[short pause] Purple 在 Cisco 上支持 WPA3 吗?支持。搭载 IOS-XE 17.3 及更高版本的 Cisco Catalyst 9800 支持 WPA3-SAE。Purple 的 RADIUS 集成在 WPA3 上的运行方式完全相同。[short pause] 推荐的 RADIUS 超时设置是多少?将您的主 RADIUS 服务器超时设置为 3 秒,并重试 2 次。配置备用 RADIUS 服务器以进行故障转移。Purple 为企业客户提供冗余的 RADIUS 端点。[short pause] 我可以在使用 Purple 的同时使用 Cisco ISE 吗?可以。一些组织使用 ISE 进行准入评估和设备画像,同时使用 Purple 进行访客门户和分析。这两台 RADIUS 服务器配置在不同的 WLAN 上。[medium pause] 总结一下。[short pause] Cisco WLC 和 Catalyst 无线基础设施与 Purple 无缝集成,使用外部 Web 认证(External Web Authentication)进行访客 Captive Portal 重定向,通过 Purple SecurePass 进行员工身份验证的 802.1X EAP-TLS 或 PEAP,以及用于多租户和 IoT 隔离的 Cisco iPSK(带动态 VLAN 分配)。三个 RADIUS VLAN 属性 - Tunnel-Type、Tunnel-Medium-Type 和 Tunnel-Private-Group-ID,是驱动动态隔离的核心机制。在进行批量部署之前,请确保预认证 ACL 配置正确、RADIUS 与 WLC 之间的 VLAN ID 相匹配,并测试证书信任链。[medium pause] Purple 在全球超过 80,000 个场所运营,并在 2024 年处理了 4.4 亿次登录。Cisco 集成是我们在全球部署最多的配置之一。如果您想开始使用,Purple 仪表板将引导您完成每个场所的 RADIUS 配置,同时我们的集成团队也可为企业部署提供支持。[medium pause] 本次简报到此结束。感谢收听。

运行 IOS-XE 的 Cisco Catalyst 9800 无线局域网控制器负责处理您网络中的无线电部分。Purple 则在上方添加了访客层:访客看到的 Captive Portal、登录流程以及您收集的第一手数据。它不会替换您的任何 Cisco 设备。

Cisco Catalyst 如何与 Purple 访客 WiFi 协同工作

Purple 是一种云端覆盖技术。您的 Catalyst 控制器继续运行 WiFi,而 Purple 则通过您的控制器已支持的两项标准机制来提供访客体验。

  • 外部 Web 认证。控制器会将新设备重定向到您的 Purple 页面,而不是立即授予访问权限。访客登录后,该页面将控制权交还给控制器。
  • RADIUS。控制器会在标准端口(用于认证的 1812 和用于计费的 1813)上针对 Purple 的 RADIUS 服务检查每次登录。计费数据正是为您提供访客分析的核心动力。

围墙花园(一个设备在登录前可以访问的简短地址白名单)可以让页面加载并完成任何支付或社交登录步骤。

这就是完整的模式:Cisco 传输数据包,Purple 负责登录和数据。由于它运行在标准的 Web 认证和 RADIUS 之上,因此它在 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 和 Fortinet 上的工作方式完全相同。Purple 在设计上与硬件无关。

您需要什么

  • 一台运行 IOS-XE 的 Cisco Catalyst 9800 控制器,并拥有 Web 界面的管理员访问权限。
  • 一个设置了页面和登录流程的 Purple 场所。
  • 来自您的 Purple 控制面板的 Purple RADIUS 详细信息和围墙花园地址。

使用 Purple 进行设置

具体的控制器设置、Web 认证参数映射、AAA 服务器条目、授权更改以及围墙花园,均在 Purple 的支持指南中逐步提供,并附有要输入的精准数值。

Cisco Catalyst WLC (IOS-XE) 设置指南

请按照该指南进行配置。本页面解释了各部分是如何衔接在一起的,以便您了解每个步骤的作用。

您将获得什么

一旦访客通过 Purple 登录,每次访问都会变成经过验证、自觉选择同意的第一手数据:谁访问过、频率如何,以及如何在获得许可的情况下联系他们。这就是仅仅连接用户的 WiFi 与构建您拥有的营销受众的 WiFi 之间的区别。Purple 符合 GDPR 规范并获得 ISO 27001 认证,在超过 80,000 个活跃场所中拥有 99.999% 的在线率。

关键定义

Captive portal

访客在上网前看到的登录页面。由 Purple 托管并运行,您的控制器将设备重定向至该页面。

Purple 在您的 Cisco WiFi 之上添加的访客体验层。

外部 Web 认证

一种控制器功能,可将未认证的设备重定向到外部托管的登录页面,并在访客登录后恢复访问。

Catalyst 控制器如何将访客引导至 Purple 页面。

RADIUS

一种用于在 UDP 端口 1812(认证)和 1813(计费)上检查登录和记录会话数据的标准协议。

控制器如何针对 Purple 验证每个访客并提供分析数据。

围墙花园

一个设备在登录前可以访问的简短地址白名单。

允许在认证前加载展示页面、支付和社交登录。

授权更改 (CoA)

在会话开始后更新或结束会话的 RADIUS 消息。

用于在访客登录后转移其访问权限。