跳至主要内容

Cisco Meraki Captive Portal:使用 Purple 访客 WiFi 进行设置

如何在 Cisco Meraki 上运行 Purple Captive Portal:外部 Web 认证、RADIUS 和围墙花园(Walled Garden),并附有指向 Purple 逐步设置指南的链接,以便进行精确配置。

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

收听本指南

查看播客转录
欢迎来到 Purple 技术简报系列。我是您的主持人。今天我们将探讨几乎在所有企业级访客 WiFi 部署中都会遇到的问题:在 Cisco Meraki MR 接入点上配置 Captive Portal,特别是如何将其与 Purple 的云平台集成并使用 RADIUS 认证。无论您是为新酒店客户进行入网配置的 MSP,还是零售连锁店的内部网络架构师,本期内容都将为您提供精确的配置步骤以及每个步骤背后的原理。 让我们先来理清场景。您有一个场所 —— 可以是酒店、会议中心、体育场或零售园区 —— 运行着通过 Meraki Dashboard 管理的 Cisco Meraki MR 接入点。您的任务是部署一个品牌化的访客 WiFi 体验,用以收集第一方数据、强制用户接受服务条款,并将分析数据反馈给营销平台。这正是 Purple 的设计初衷,而 Meraki 也是我们在全球最常见的硬件部署之一。 在您进行任何设置之前,需要理解一个关键的架构要点:在 Cisco Meraki 上,用于 Splash Page 的 RADIUS 认证并不是由接入点在本地处理的。RADIUS Access-Request(访问请求)源自 Meraki 云(即 Dashboard 基础设施),而不是源自您局域网上的 AP。这是一个非常重要的区别,许多工程师在首次部署 Meraki 时都会忽略这一点。这意味着您的 RADIUS 服务器(在本例中为 Purple 的云 RADIUS 端点)必须能够通过互联网访问,并且您的防火墙规则需要允许来自 Meraki Dashboard IP 范围的流量,而不仅仅是来自您本地 AP 子网的流量。您可以在 Meraki Dashboard 的“Help”(帮助)下找到当前的 Dashboard IP 范围,然后查看“Firewall Info”(防火墙信息)。 好,现在让我们开始配置。我将按照您在实际部署中的操作顺序逐步为您讲解。 第一步:SSID 配置。在 Meraki Dashboard 中,导航至“Wireless”(无线),然后选择“Configure”(配置),再选择“SSIDs”。选择您要用于访客接入的 SSID 插槽。给它起一个清晰的名称 - 比如 GuestWiFi 或 VenueName_Guest。在“Association requirements”(关联要求)下,将“Security”(安全性)设置为“Open, no encryption”(开放,无加密)。这是正确且符合设计的 - 访客的安全层是由 Captive Portal 和 RADIUS 认证来处理的,而不是由 WPA 加密。如果您是在 PCI-DSS 环境中进行部署,您会希望确保访客流量在自己的 VLAN 上进行隔离,我们稍后会介绍这一点。 步骤二:展示页面与身份验证。仍在您的 SSID 的访问控制页面上,向下滚动到“展示页面”部分。将其设置为“登录方式”,并从下拉列表中选择“我的 RADIUS 服务器”。这是告诉 Meraki 在授予网络访问权限之前,针对外部 RADIUS 服务器对用户进行身份验证的关键设置。在此之下,您将看到“Captive Portal 强度”选项。将其设置为“在完成登录之前阻止所有访问”。这就是强制执行围墙花园( walled garden )的设置 - 如果没有它,访客可以完全绕过门户网站。 步骤三:RADIUS 服务器配置。在 RADIUS 部分下,单击“添加服务器”。您需要从您的 Purple 帐户中获取三项信息:RADIUS 服务器 IP 地址或 FQDN、身份验证端口(即 UDP 1812)以及共享密钥。Purple 在门户的场馆配置部分提供这些信息。为了在生产部署中实现冗余,您应该添加一个辅助 RADIUS 服务器 - Purple 提供了一个故障转移端点。如果您希望将时段数据反馈到 Purple 的分析引擎中,请将计费端口设置为 UDP 1813,对于任何逗留时间和时段时长都是有意义指标的场馆,我强烈推荐这样做。 关于 RADIUS 属性的快速说明。Meraki 遵守 RADIUS Access-Accept 响应中返回的 Session-Timeout 属性。Purple 使用此属性来控制在需要重新进行身份验证之前访客时段的持续时间。对于酒店,您可能会将其设置为 86,400 秒 - 即 24 小时。对于咖啡馆,像 3,600 秒(一小时)这样的设置更为合适。Idle-Timeout 属性也同样受支持,但仅在启用 RADIUS 计费时有效。这会断开空闲时段,这对于高密度场馆的容量管理非常重要。 步骤四:展示页面 URL。导航至“无线”,然后转到“配置”,再到“展示页面”。从下拉列表中选择您的访客 SSID。将“自定义展示 URL”设置为您的场馆的 Purple 门户 URL。这是 Meraki 将未经验证的客户端重定向到的 URL。Meraki 会在此 URL 中附加查询参数(包括 login_url 参数),Purple 使用这些参数来完成身份验证握手。请勿修改或删除这些参数。 步骤五:围墙花园。这是大多数部署遇到问题的地方。围墙花园是访客设备在通过身份验证之前可以访问的域名和 IP 范围列表。如果没有正确的条目,Captive Portal 页面本身将无法加载,因为浏览器将被阻止访问 Purple CDN 和社交登录提供商。 导航回您的宾客 SSID 的 Access Control(访问控制)。将 Walled garden(围墙花园)设置为 Walled garden is enabled(启用围墙花园)。在 Walled garden ranges(围墙花园范围)字段中,您需要添加以下内容。首先是 Purple 平台域名:star dot purple dot ai 和 star dot venuewifi dot com。其次是 Purple 用于提供门户资源的 CDN 域名:star dot cloudfront dot net 和 star dot akamaihd dot net。第三是 Meraki 重定向基础设施:star dot network-auth dot com。第四,如果您提供社交媒体登录选项,则需要相关的 OAuth 域名。对于 Google:accounts dot google dot com、star dot googleapis dot com、star dot gstatic dot com。对于 Facebook:star dot facebook dot com、star dot fbcdn dot net 和 connect dot facebook dot net。对于 Twitter 或 X:star dot twitter dot com 和 star dot twimg dot com。 关于 Meraki 如何处理围墙花园中的通配符域名,有一点需要特别注意。Meraki 确实支持使用星号前缀的通配符条目,例如 star dot cloudfront dot net。然而,这是基于 DNS 的匹配 - Meraki 解析域名并允许解析后的 IP 地址。这意味着对于像 CloudFront 或 Akamai 这样解析后的 IP 可能会频繁更改的 CDN 提供商,您应该使用域名通配符,而不是静态 IP 范围。静态 IP 条目适用于 Purple 稳定运行的 RADIUS 端点,但不适用于 CDN 流量。 现在让我们来讨论我直接参与过的两个真实案例。 第一个是英国一家拥有 350 间客房的酒店。该客户在三栋建筑中运行 Meraki MR46 接入点,高峰期大约有 400 台并发宾客设备。最初的部署使用的是一键式闪页 - 无需 RADIUS,只需接受条款。问题在于,他们完全无法了解是谁在连接,没有进行电子邮件捕获,也无法开展入住后的营销活动。我们帮他们迁移到了基于 RADIUS 登录的 Purple。配置非常简单,但棘手的是,他们的上游防火墙阻止了通过端口 1812 向本地子网以外的任何目的地发送出站 UDP。当我们将 Meraki 控制面板 IP 范围添加到防火墙白名单后,身份验证立即起作用。部署后,该酒店在第一个月捕获了大约 68% 的连网宾客的电子邮件地址,其营销团队开展的重新互动营销活动显著提升了直接预订量。 第二个场景是一家拥有 45 家门店的零售连锁店,每家门店都运行着 Meraki MR33 接入点。这里的挑战在于规模和一致性。手动配置 45 个带有正确 RADIUS 设置和围墙花园(Walled Garden)列表的 SSID 既容易出错又耗时。解决方案是使用 Meraki 基于模板的配置。我们构建了一个包含正确 SSID、RADIUS 和围墙花园设置的单一网络模板,然后将所有 45 个门店网络绑定到该模板。任何更改 - 例如在围墙花园中添加新的社交登录提供商 - 均只需在模板中进行一次,即可自动同步到所有门店。随后,Purple 的分析功能聚合了所有门店的客流量和停留时间数据,为零售运营团队提供了一个统一的仪表盘视图,按门店、地区和时间段展示访客行为。 让我为您提供三个经验法则,它们将为您在每次部署 Meraki Captive Portal 时节省时间。 法则一:在配置 RADIUS 之前,务必检查 Meraki Dashboard IP 地址范围。这些范围偶尔会发生变化,如果您的防火墙将其拦截,身份验证从用户的角度来看会无声无息地失败 - 他们只会看到门户页面卡住。在上线前,请使用 Dashboard 中“Access Control”下的内置 RADIUS 测试工具来验证连接性。 法则二:对于任何 CDN 托管的内容,请在围墙花园中使用域名通配符,而不是 IP 地址范围。CDN IP 地址范围很大且经常变化。通配符域名条目更易于维护且更可靠。 法则三:即使您认为目前不需要,也请在 1813 端口上启用 RADIUS 计费。会话数据对于排查断开连接问题以及将准确的停留时间指标输入您的分析平台非常宝贵。启用它不需要任何成本,而在事后进行追溯则非常困难。 现在,解答几个我经常被问到的快速问题。 我可以使用 Meraki 内置的登录页面代替 Purple 吗?可以,但您会失去数据采集、分析、营销自动化以及符合 GDPR 的合规同意管理。内置的登录页面对于基本的点击跳转没有问题,但它不是一个访客智能平台。 这种配置是否既适用于 Meraki MX 防火墙,也适用于 MR 接入点?MR 接入点支持 RADIUS 登录页面配置。MX 设备处理客户端 VPN 身份验证的方式有所不同。专门针对访客 WiFi,您需要配置 MR SSID。 关于 WPA3 呢?Meraki MR 接入点在企业级 SSID 上支持 WPA3。对于访客 Captive Portal 部署,SSID 通常是 Open,因此 WPA3 并不直接适用。但是,如果您在部署 Captive Portal SSID 的同时部署了 Passpoint 或 OpenRoaming SSID(Purple 支持该功能),则该 SSID 将使用带有 802.1X 的 WPA3-Enterprise,这正是 WPA3 派上用场的地方。 总结一下:Cisco Meraki 与 Purple 的集成经过了充分测试且十分可靠,但需要注意三点:RADIUS 源 IP 路由、围墙花园完整性以及会话超时配置。做好这三点,部署就会非常简单。商业案例显而易见 - 部署了配置妥当且具备数据采集功能的访客 WiFi 平台的场所,其在营销互动和运营洞察方面的可衡量回报始终非常显著。 如果您想深入了解,请查看 Purple 博客上关于使用云 RADIUS 实现 802.1X 认证的指南,以及我们的 Cisco 无线 AP 部署指南。两个链接均已放入节目简介中。 感谢收听。如果您有希望我们介绍的具体部署场景,请与 Purple 技术团队联系。我们下期节目再见。

📚 核心系列的一部分:多租户 WiFi

Captive Portal 是访客在联网前看到的登录页面。在 Cisco Meraki 上,接入点(AP)以及 MX 和 Z 系列设备通过 Meraki 控制面板运行 WiFi,而 Purple 则作为云端覆盖提供该 Captive Portal。您的 Meraki 设备保持原样,无需任何更改。

Cisco Meraki Captive Portal 与 Purple 的协同工作原理

Purple 是一种云端覆盖技术。Meraki 传输流量;Purple 则通过控制面板已支持的标准机制来托管门户并拥有数据。

  • 外部 Web 认证:SSID 指向由 Purple 托管的自定义 Splash Page,且 Splash 模式设置为针对 RADIUS 服务器进行登录认证。新设备在访问者登录之前会被拦截在门户页面,登录完成后 Meraki 才会放行。
  • RADIUS:Meraki 通过标准端口(用于认证的 1812 和用于计费的 1813)针对 Purple 的 RADIUS 服务验证每次登录。计费数据流将为您提供访客分析。

围墙花园(Walled Garden)是一个简短的允许列表,包含登录前可访问的地址,用于加载门户页面并完成任何支付或社交登录步骤。

因此,Meraki 负责传输数据包,而 Purple 负责登录和数据。由于它依赖于标准的 Web 认证和 RADIUS,这种方法同样适用于 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 和 Fortinet。Purple 在设计上是不受硬件限制的。

准备工作

  • 拥有 Meraki 控制面板管理员访问权限的 Cisco Meraki 网络(AP、MX 或 Z 系列)。
  • 已设置好 Splash Page 和登录流程的 Purple 场所。
  • 来自 Purple 控制面板的 Purple RADIUS 详细信息和围墙花园地址。

使用 Purple 进行设置

具体的控制面板设置、访问控制 Splash 模式、RADIUS 认证和计费服务器、围墙花园以及 Splash Page URL,均在 Purple 的支持指南中进行了逐步记录,并提供了要输入的精确数值。

Cisco Meraki AP / MX / Z1 设置指南

请按照该指南进行配置。本页面介绍了 Captive Portal 的组合方式,以便您了解每个设置的作用。

您将获得什么

一旦访客通过您的 Purple Captive Portal 登录,每一次访问都将转化为经过验证、有意识选择加入的第一方数据:谁访问过、访问频率如何,以及如何在获得许可的情况下联系他们。这就是仅仅连接用户的 WiFi 与构建您自己拥有的营销受众的 WiFi 之间的区别。Purple 符合 GDPR 并通过了 ISO 27001 认证,在超过 80,000 个活跃场所中实现了 99.999% 的正常运行时间。

关键定义

Captive Portal

访客在联网前看到的登录页面。Purple 负责托管和运行它;Meraki 负责将设备重定向到该页面。

Purple 在您的 Meraki WiFi 之上提供的内容。

外部 Web 认证

一种 Splash Page 模式,可将未认证的设备重定向到外部托管的登录页面,并在访客登录后恢复联网。

Meraki 如何将访客引导至 Purple 门户。

RADIUS

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

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

围墙花园 (Walled garden)

设备在登录前可以访问的简短允许地址列表。

允许在认证前加载门户、支付和社交登录。

Splash Page

Meraki 向新设备显示的页面;设置为外部 URL 时,它会加载 Purple Captive Portal。

Meraki 对 Captive Portal 所指向的页面的称呼。