跳至主要内容

OpenWrt 和访客 WiFi:使用 Purple 设置 Captive Portal

了解 Purple 的云端访客 WiFi 如何通过标准外部 Captive Portal 和 RADIUS 与 OpenWrt 设备协同工作,以及在哪里检查支持情况并查找步骤。

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

收听本指南

查看播客转录
[0:00 - 1:00] 介绍与背景 欢迎收听 Purple 技术简报。我是您的主持人,在接下来的十分钟里,我们将深入剖析 OpenWrt 自定义固件与 Purple WiFi 的集成。如果您是在酒店、零售或公共部门环境部署自定义固件的 IT 经理、网络架构师或 CTO,那么本期简报将非常适合您。我们将抛开学术理论,为您提供配置 CoovaChilli、使用 802.1X 保护员工网络以及使用 Private Pre - Shared Keys 细分多租户环境的具体操作指南。 为什么这很重要?因为部署像 OpenWrt 这样的自定义固件可以为您提供极大的灵活性和硬件独立性。但如果缺乏结构化的、身份驱动的访问控制层,这种灵活性就会变成安全隐患。您需要安全地捕获第一方数据,强制执行 GDPR 合规性,并可靠地对流量进行细分。让我们进入技术深潜阶段。 [1:00 - 6:00] 技术深潜 OpenWrt 集成的核心依赖于 CoovaChilli。CoovaChilli 是一款开源访问控制器,可拦截未授权的客户端流量并将其重定向到 Purple Captive Portal。当访客连接到您的开放 SSID 时,CoovaChilli 将扮演看门人的角色。它通过在 tun0 接口上运行的内部 DHCP 服务器分配 IP 地址,并阻止除您在围墙花园(Walled Garden)中明确允许的所有流量。 当访客尝试浏览网页时,CoovaChilli 会拦截 HTTP 请求并重定向到 Purple 页面。在这里,围墙花园的配置至关重要。在您的 chilli.conf 文件中,必须定义 HS_UAMDOMAINS 参数。这是一个以逗号分隔的域名列表,访客在授权之前可以访问这些域名。您必须包含 splash.purple.ai、api.purple.ai 以及我们用于提供门户资产的各种 CDN 域名。如果漏掉某个域名,门户将无法加载,或者社交登录按钮将失效。就这么简单。 一旦访客在 Purple 门户上通过授权,Purple 的云 RADIUS 服务器就会通过 UDP 端口 1812 向 CoovaChilli 发送 Access - Accept 消息。然后,CoovaChilli 会对该 MAC 地址进行授权,打开该会话的防火墙规则,并开始在 UDP 端口 1813 上发送计费数据。计费并非可选。Purple 就是通过这种方式来跟踪会话时长和数据使用量,以便在您的分析仪表板中进行展示。 现在,让我们谈谈员工 WiFi。对于员工,您不能使用 CoovaChilli。对于员工网络,您需要使用 hostapd 以及 WPA2-Enterprise 或 WPA3-Enterprise。这是标准的 802.1X 身份验证。接入点作为身份验证器,将 EAP 消息转发到您的 RADIUS 服务器。对于企业设备,您应该部署 EAP-TLS,它使用数字证书而不是密码。这彻底杜绝了凭据窃取。您需要配置 hostapd.conf 指向您的 RADIUS 服务器,然后 RADIUS 服务器会指定该特定用户的 VLAN 分配。这引出了现代 OpenWrt 部署中最强大的功能之一:个人预共享密钥(PPSK)。在多租户环境中 - 例如以房代租物业或联合办公空间 - 您不会希望广播五十个不同的 SSID。这会破坏您的空口效率。相反,您只需广播一个 SSID。当设备连接时,hostapd 会将 MAC 地址发送到 RADIUS 服务器。RADIUS 服务器通过使用 Tunnel-Password 属性,返回该设备专属的特定密码和特定 VLAN ID。 这意味着 A 商店的零售员工会被分配到 VLAN 10,而大厅里的活动参与者会被分配到 VLAN 30,但他们连接的都是完全相同的 SSID。这种方式优雅、易于扩展,并在网络边缘强制执行最小特权访问。 [6:00 - 8:00] 实施建议与常见陷阱 让我们讨论一下实施。在将 OpenWrt 与 Purple 一起部署时,第一步通常是从 Purple 门户获取您的 RADIUS 凭证。您需要主、备 RADIUS IP 地址、共享密钥和门户 URL。 在您的 OpenWrt 配置中,您将定义您的访客网络接口(通常是 eth1 或 wlan0),并将 CoovaChilli 绑定到该接口。确保 chilli.conf 中的 HS_RADSECRET 与 Purple 门户中的内容完全一致。哪怕是一个字符的不匹配,都会导致静默身份验证失败。 我们见过的最大陷阱是认证前的 DNS 解析。CoovaChilli 会拦截 DNS 请求。如果您的上游防火墙阻止了 OpenWrt 路由器解析外部 DNS,则 Captive Portal 重定向将失败。请确保您的 OpenWrt 路由器对 Google 或 OpenDNS 等公共解析服务器拥有无限制的 DNS 访问权限。 另一个常见问题是 iOS 和 Android 内置的 Captive Portal 检测机制。Apple 设备会连接 captive.apple.com 来检查互联网连接。如果您在围墙花园(放行列表)中将 captive.apple.com 设为白名单,设备会认为自己已连接互联网,从而不会弹出强制网络门户助手。如果您想要自动弹出,请不要将 Apple 的域名放入围墙花园中。 [8:00 - 9:00] 快速问答 让我们进行一次快速问答。 问题一:我可以在同一个 OpenWrt 接入点上运行 CoovaChilli 和 hostapd 802.1X 吗?可以。您将 CoovaChilli 绑定到您的访客 SSID 接口,并在您的员工 SSID 接口上配置带有 802.1X 的 hostapd。它们独立运行。 问题二:Purple 是否支持 OpenWrt 的动态 VLAN 分配?是的。Purple 的 RADIUS 服务器可以返回标准的 RADIUS 属性,包括 Tunnel-Type、Tunnel-Medium-Type 和 Tunnel-Private-Group-ID,从而指示 OpenWrt 将已验证身份的用户分配到特定的 VLAN。 问题三:如果 OpenWrt 路由器与 Purple RADIUS 服务器断开连接会怎样?CoovaChilli 将无法对新会话进行身份验证。已授权的现有会话将保持活动状态,直到其会话超时到期。请务必配置备用 Purple RADIUS 服务器以确保高可用性。 [9:00 - 10:00] 总结与后续步骤 总结一下:OpenWrt 为企业级 WiFi 提供了一个强大且与硬件无关的平台。通过整合用于访客接入的 CoovaChilli 以及用于安全员工和多租户 PPSK 的 hostapd,您可以构建一个基于身份的网络。Purple 简化了 RADIUS 架构的复杂性,提供了一个云端管理的门户,可捕获第一方数据并确保合规性。 您的下一步是审计您当前的自定义固件部署。确保完整配置您的围墙花园(walled garden),验证您的 RADIUS 计费间隔,并开始规划从共享 PSK 向动态 PPSK 分段的迁移。 感谢您收听 Purple 技术简报。要了解有关 Purple 如何保障您的访客 WiFi 安全并实现变现的更多信息,请访问 purple.ai。我们下期再见。

OpenWrt 是一款开源固件,运行在广泛的路由器和接入点上。Purple 在其上添加了访客层:访客看到的 Captive Portal、登录流程以及您收集的第一方数据。它不会取代您的硬件或固件。

OpenWrt 如何与 Purple 访客 WiFi 协同工作

Purple 是一个云端覆盖网络,并且与硬件无关。如果您的设备支持外部 Captive Portal 和 RADIUS,它就可以运行 Purple 的访客登录。两个标准机制负责处理这些工作。

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

围墙花园(Walled garden,即设备在登录前可以访问的简短允许列表)可以加载部署页面并完成任何支付或社交登录步骤。

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

您需要什么

  • 一台支持外部 Captive Portal 和 RADIUS 的 OpenWrt 设备。
  • 一个设置了部署页面和登录流程的 Purple 场所。
  • 来自您的 Purple 控制面板的 Purple RADIUS 详细信息和围墙花园地址。

使用 Purple 进行设置

您的具体型号是否受支持以及要使用的设置,已在 Purple 的受支持硬件列表中确认。请先在该列表中检查您的设备,然后按照相应的设置指南输入精确的值。

Purple 受支持硬件

此页面解释了这些部分是如何组合在一起的,以便您了解每个步骤的作用。

您将获得什么

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

关键定义

云端覆盖网络

Purple 部署在您现有的硬件之上。设备继续运行 WiFi;Purple 运行访客登录和数据,无需替换任何东西。

与硬件无关

Purple 可与任何支持外部 Captive Portal 和 RADIUS 的接入点或控制器配合使用,而不受限于单一供应商。

外部 Web 认证

一种标准,接入点将新设备重定向到外部部署页面进行登录,而不是由其自身授予访问权限。Purple 托管该部署页面。

RADIUS

硬件用于在标准端口 1812(用于认证)和 1813(用于计费)上检查每次登录并向 Purple 记录会话数据的协议。

围墙花园

设备在登录前可以访问的简短允许列表,以便加载部署页面以及任何支付或社交登录步骤。