SonicWall TZ 和 SonicWave 与 Purple WiFi 的集成
本技术参考详细介绍了 SonicWall TZ 防火墙和 SonicWave AP 与 Purple WiFi 平台的集成。它提供了有关 Captive Portal 重定向、Walled Garden(围墙花园)例外情况、802.1X 身份验证以及使用私有预共享密钥(PPSK)进行动态 VLAN 引导的具体配置步骤。
收听本指南
查看播客转录

执行摘要
将 SonicWall 网络基础设施与 Purple 的云覆盖层集成,可提供企业级访问控制以及先进的第一方数据捕获。本指南涵盖了四个不同用例的技术实现:具有 Captive Portal 重定向的访客 WiFi、Walled Garden 例外情况、使用 802.1X 的安全员工 WiFi,以及使用具有动态 VLAN 引导的 SonicWall 私有预共享密钥 (PPSK) 的多租户隔离。
我们每年在超过 80,000 个活跃场所处理 4.4 亿次登录。下面详述的架构已在酒店、零售和公共部门环境中得到大规模验证。它允许您保留现有的 SonicWall 硬件,同时将身份管理、Splash 页面托管和 RADIUS 身份验证卸载到 Purple 云。
技术深挖
该集成依赖于两种主要机制:用于 Captive Portal 重定向的轻量级热点消息传递 (LHM),以及用于 802.1X 和 PPSK 身份验证的 RADIUS。
通过 LHM 进行 Captive Portal 重定向
SonicOS 使用 LHM 处理外部 captive portal 重定向。当未通过身份验证的访客设备尝试访问互联网时,SonicWall TZ 防火墙会拦截 HTTP 请求,并将客户端重定向到 Purple 托管的 splash 页面。访客完成身份验证流程(例如,社交登录、表单填写)。然后,Purple 通过 TCP 端口 4043 向 SonicWall 发送回 LHM 授权数据包。收到此数据包后,SonicWall 将更新其内部访问控制列表,允许该设备的 MAC 地址访问互联网。

Walled Garden 架构
在身份验证之前,访客设备将保留在受限区域中。Walled Garden 是允许设备访问以渲染 splash 页面并完成登录过程的特定完全限定域名 (FQDN) 集合。这包括 Purple 的 CDN (cdn.purple.ai)、身份验证 API (api.purple.ai) 以及 Google Workspace、Microsoft Entra ID 和 Meta 等第三方身份提供商所需的域名。
SonicOS 使用 FQDN 地址对象实现 walled garden。防火墙对这些对象执行动态 DNS 解析,并自动更新允许的 IP 范围。这至关重要,因为身份提供商和 CDN 使用动态 IP 分配;静态 IP 白名单将不可避免地失效。
安全员工 WiFi 和 802.1X
对于员工网络,SonicWave AP 充当 802.1X 认证器,将请求代理至 Purple 的 RADIUS 服务器。我们建议对使用证书的托管设备使用 EAP-TLS,或针对 Microsoft Entra ID 等目录使用 PEAP-MSCHAPv2 进行用户名/密码认证。认证成功后,Purple 会返回标准的 RADIUS 属性(Tunnel-Type、Tunnel-Medium-Type 和 Tunnel-Private-Group-ID),以将设备动态分配给正确的员工 VLAN。
使用 PPSK 的多租户隔离
基于身份的网络(Identity-Based Networks)消除了对复杂多 SSID 部署的需求。使用 SonicWall PPSK,单个 SSID(例如“Multi-Tenant-WiFi”)可在整个场馆内广播。每个租户都会收到一个唯一的密码。当设备使用特定的 PPSK 进行关联时,SonicWave AP 会向 Purple 的 RADIUS 服务器验证该密钥。Purple 识别该租户并返回关联的 VLAN ID。然后,SonicWall 将流量引导至隔离的租户 VLAN 中。

实施指南
1. 配置 SonicWall Captive Portal (LHM)
要在运行 SonicOS 7.x 的 SonicWall TZ 系列上配置外部 Captive Portal:
- 导航至 Object > Match Objects > Zones。编辑分配给您的访客网络的区域(例如 WLAN)。
- 在 Guest Services 选项卡下,启用 Enable Guest Services 和 External Guest Authentication。
- 导航至 Configure > Guest Services > General。
- 将 Client Redirect Protocol 设置为 HTTP。
- 将 Web Server 地址设置为
portal.purple.ai。 - 将 Port 设置为
4043。 - 在 Auth Pages 选项卡下,将 Login URL 设置为 Purple 场馆控制面板中提供的特定展示页面 URL。
- 保存配置。SonicOS 将自动生成 NAT 策略和 WAN 到 WAN 的访问规则以允许 TCP 端口 4043。请勿修改这些自动生成的规则。
2. 构建 Walled Garden
为所需的域名创建 FQDN 地址对象,并将它们添加到地址组中。将此组应用于访客区域中的允许规则。
所需的 Purple 域名:
*.purple.ai*.purpleportal.net
操作系统 Captive Portal 探测:
captive.apple.com(iOS/macOS)connectivitycheck.gstatic.com(Android)msftconnecttest.com(Windows)
常见的社交登录域名 (Google):
accounts.google.comoauth2.googleapis.comapis.google.com*.gstatic.com
3. 为 SonicWave AP 配置 RADIUS
要通过 Wireless Network Manager 将 SonicWave AP 与 Purple RADIUS 集成:
- 导航至 Policies > Policy Hierarchy 并选择您的 AP 策略。
- 选择 802.1X 选项卡。
- 输入 Purple RADIUS 服务器 IP 地址(可在您的 Purple 控制面板中找到)。
- 输入由 Purple 生成的共享密钥。
- 将 Authentication Port 设置为
1812,将 Accounting Port 设置为1813。 - 根据您的身份提供商选择合适的 EAP 方法。
4. 配置动态 VLAN 引导
在启用动态分配之前,确保目标 VLAN 作为子接口存在于 SonicWall TZ 防火墙上。
在 Purple 控制面板中,将用户组或 PPSK 映射到目标 VLAN ID。Purple 在成功验证后将返回以下属性:
Tunnel-Type = VLAN (13)Tunnel-Medium-Type = 802 (6)Tunnel-Private-Group-ID = [VLAN ID](例如,"110")
最佳实践
- 测试 LHM 端口可见性:必须能够从互联网访问 SonicWall WAN 接口的 TCP 端口 4043。在上线前使用外部端口扫描器对此进行测试。如果 ISP 阻止了此端口,授权数据包将丢失,访客将一直受阻于展示页面。
- 预先配置 VLAN 子接口:如果在验证事件发生之前未在 SonicWall 上配置目标 VLAN 子接口,动态 VLAN 引导将静默失败。设备将退回到默认的未标记 VLAN。
- 强制基于 Web 的 OAuth:确保您的展示页面配置强制执行基于 Web 的 OAuth 流程。深层链接到原生社交媒体应用(例如 Facebook iOS 应用)通常会中断 Captive Portal 流程,因为原生应用流量会被 Walled Garden 阻止。
- 优化 DNS 刷新间隔:SonicOS 会定期解析 FQDN 对象。在体育场或交通枢纽等高周转环境中,请将 Walled Garden 对象的 DNS 刷新间隔设置为 60 秒,以确保准确跟踪 CDN IP 更改。
故障排除与风险缓解
现象:访客完成了展示页面登录,但无法访问互联网。 原因:TCP 4043 上的 LHM 授权数据包未到达 SonicWall。 解决方法:验证自动生成的 WAN 到 WAN 访问规则是否存在。检查上游 ISP 路由器是否有端口阻止。确保 SonicWall WAN IP 在 Purple 控制面板中正确注册。
现象:展示页面加载失败,或社交登录按钮返回 CORS 错误。 原因:Walled Garden 配置不完整。 解决方法:在未验证状态下连接测试设备。使用浏览器开发者工具(Network 选项卡)识别被阻止的 HTTPS 请求。在 SonicOS 中将失败的域名添加为 FQDN 地址对象。
现象:员工设备通过 802.1X 进行身份验证,但从默认 VLAN 而不是分配的 VLAN 获取 IP 地址。
原因:SonicWall 上不存在目标 VLAN 子接口,或者 RADIUS 属性格式错误。
解决方法:验证 VLAN 子接口是否处于活动状态。检查 Purple RADIUS 日志以确认 Tunnel-Private-Group-ID 是否作为与 VLAN ID 匹配的字符串值发送。
ROI 与业务影响
将 SonicWall 基础设施与 Purple 一起部署,可将标准的网络成本中心转变为可衡量的业务资产。
对于拥有200个网点的零售连锁店,从通用的预共享密钥过渡到品牌化的 Captive Portal,通常会在六个月内使已知客户画像增加40%。这些第一方数据可直接集成至CRM系统,从而推动精准营销活动并增加回头客流量。
在联合办公空间或学生公寓等多租户环境中,支持动态VLAN引导的PPSK消除了为每个租户管理专用硬件的运营开销。您只需部署一个物理网络,并根据身份进行逻辑划分。这在降低高达60%硬件资本支出的同时,还能保持严格符合ISO 27001标准的网络隔离。
关键定义
Lightweight Hotspot Messaging (LHM)
SonicWall 用于与外部 Captive Portal 进行通信的协议。它负责处理重定向和授权握手。
用于将 SonicOS 与 Purple 等云端托管的访客 WiFi 平台进行集成时所必需。
Walled Garden
允许未授权设备访问的一组特定域名或 IP 地址。
对于允许访客设备在获得完全互联网访问权限之前加载欢迎页面、访问 CDN 并完成社交登录 OAuth 流程至关重要。
Private Pre-Shared Key (PPSK)
一种安全方法,其中单个 SSID 上可以使用多个唯一的密码,每个密码都与特定的用户或策略绑定。
用于多租户环境中,在不广播多个 SSID 的情况下隔离流量。
Captive Network Assistant (CNA)
iOS、Android、Windows 等操作系统内置的机制,用于检测 Captive Portal 并自动打开受限的浏览器窗口进行身份验证。
如果操作系统探测域名(例如 captive.apple.com)不在 walled garden 中,CNA 将不会触发,访客会认为 WiFi 无法正常工作。
Dynamic VLAN Steering
根据设备的身份或凭据(而非其连接的 SSID)将设备分配到特定 VLAN 的过程。
通过 Purple RADIUS 向 SonicWall 返回 Tunnel-Private-Group-ID 属性来进行管理。
FQDN Address Object
基于完全限定域名(FQDN)而非静态 IP 地址的防火墙对象。
SonicOS 动态解析这些对象,使其成为构建强大的 walled garden 配置所必不可少的要素。
Identity-Based Network
一种网络架构,其中访问策略和分段是基于已认证的用户或设备来应用的,而不是基于物理端口或 SSID。
通过将 Purple RADIUS 与 SonicWall PPSK 和 802.1X 结合使用来实现。
Tunnel-Private-Group-ID
用于指定连接设备 VLAN ID 的标准 RFC 2868 RADIUS 属性。
必须由 Purple 作为字符串值(例如 '100')返回,以指示 SonicWall 引导设备。
应用实例
一家拥有 150 间客房的酒店 (Premier Inn) 需要通过登录页面提供免费的访客 WiFi,并为客房服务设备提供安全的员工 WiFi 网络。他们拥有 SonicWall TZ570 和 40 个 SonicWave AP。他们应该如何划分这些流量?
部署两个 SSID。SSID 1:“Guest-WiFi”映射到 VLAN 100。配置 SonicWall WLAN 区域以进行外部访客身份验证,指向 TCP 4043 上的 portal.purple.ai。为 Purple 和社交登录配置 Walled Garden FQDN。SSID 2:“Staff-WiFi”通过 802.1X 映射到 VLAN 200。将 SonicWave AP 策略指向 Purple 的 RADIUS 服务器。配置 Purple 以通过 MAC 地址规避 (MAB) 或 PEAP-MSCHAPv2 对客房服务设备进行身份验证,并返回 Tunnel-Private-Group-ID “200”。
一个联合办公空间管理着 15 家共享一个开放式办公室的不同公司。他们希望为每家公司提供安全、隔离的网络,而不从其 SonicWave AP 广播 15 个不同的 SSID。
使用带有 PPSK 的 WPA2-Enterprise 部署一个名为“Workspace-Secure”的单一 SSID。在 SonicWall TZ 防火墙上创建 15 个 VLAN 子接口(例如 VLAN 101-115)。在 Purple 控制面板中,为每家公司生成一个唯一的 PPSK 并将其映射到其特定的 VLAN ID。当用户使用其公司的 PPSK 进行连接时,Purple RADIUS 将返回相应的 Tunnel-Private-Group-ID,并且 SonicWall 会将设备引导至隔离的 VLAN 中。
练习题
Q1. 您已经为外部访客身份验证(External Guest Authentication)配置了 SonicWall 访客区域,并将 Web 服务器设置为 portal.purple.ai。访客被重定向到 Portal 页面并可以成功登录,但他们始终无法访问互联网。最可能的原因是什么?
提示:思考一下 Purple 是如何向 SonicWall 通知身份验证成功的。
查看标准答案
LHM 授权数据包被拦截。SonicWall WAN 接口上的 TCP 端口 4043 必须保持开放,以便接收来自 Purple 的成功信号。请检查上游防火墙或 ISP 配置是否存在端口拦截。
Q2. 某个场馆希望在其 Portal 页面上提供 Facebook 登录功能。您将 www.facebook.com 添加到了围墙花园(walled garden)FQDN 地址组中。访客报告称 Facebook 登录页面可以加载,但样式发生错乱且登录按钮不起作用。
提示:现代 Web 应用程序会从多个域名加载资源。
查看标准答案
围墙花园配置不完整。您还必须将提供 Facebook 的 CSS、JavaScript 和 API 调用的域名列入白名单,特别是 graph.facebook.com、connect.facebook.net 以及 CDN 域名(例如 *.fbcdn.net)。
Q3. 您正在为一个多租户办公室部署 PPSK。您将 SSID 配置为带有 PPSK 的 WPA2-Enterprise,并将 RADIUS 服务器指向 Purple。您在 Purple 中创建了一个映射到 VLAN 50 的 PPSK。当用户使用该 PPSK 连接时,他们却获取到了来自 VLAN 10 的 IP 地址。为什么?
提示:在 RADIUS 请求完成之前,SonicWall 需要知道将流量发送到何处。
查看标准答案
VLAN 50 尚未在 SonicWall TZ 防火墙上创建为子接口。动态 VLAN 引导要求目标 VLAN 预先存在于防火墙上;如果不存在,设备将退回到默认的未标记 VLAN(在本例中为 VLAN 10)。
继续阅读本系列
CommScope Ruckus 与 Purple WiFi 集成:安装与配置指南
本技术参考指南为 CommScope Ruckus 架构与 Purple WiFi 的集成提供了权威的配置指南。它详细介绍了 Guest WiFi Captive Portal、通过 802.1X 实现的 Secure Staff WiFi 以及使用 Ruckus Dynamic PSK 实现的多租户网络隔离的逐步部署过程。
Allied Telesis 接入点与 Purple WiFi 集成
本指南为 Allied Telesis TQ 系列接入点与 Purple WiFi 的集成提供了全面的配置手册。内容涵盖外部 Captive Portal 重定向、802.1X RADIUS 身份验证,以及使用专用预共享密钥 (PPSK) 进行动态 VLAN 引导,以实现安全的多租户部署。
Grandstream GWN Access Points 接入 Purple WiFi 集成指南
本权威技术参考指南详细介绍了如何将 Grandstream GWN 接入点与 Purple 的访客 WiFi 及分析平台进行集成。内容涵盖 Grandstream Captive Portal 配置、RADIUS AAA 设置、Walled Garden(围墙花园)设置、基于动态 VLAN 引导的安全员工 802.1X 认证以及多租户 PPSK 细分,为部署大规模访客和员工 WiFi 的 MSP 及 IT 团队提供切实可行的分步指导。