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 位址。
對於允許訪客設備在獲得完整網際網路存取權限之前載入 Splash Page、存取 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
根據設備的身分或憑證將其分配給特定 VLAN 的過程,而不是根據其連線的 SSID。
由 Purple RADIUS 將 Tunnel-Private-Group-ID 屬性傳回給 SonicWall 進行管理。
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) 需要透過 Splash Page 提供免費的訪客 Guest WiFi,並為房務設備提供安全的員工 Staff 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。
部署一個名為「Workspace-Secure」的單一 SSID,並使用帶有 PPSK 的 WPA2-Enterprise。在 SonicWall TZ 防火牆上建立 15 個 VLAN 子介面(例如 VLAN 101-115)。在 Purple 控制面板中,為每家公司產生一個唯一的 PPSK,並將其對應至其特定的 VLAN ID。當使用者使用其公司的 PPSK 連線時,Purple RADIUS 會傳回對應的 Tunnel-Private-Group-ID,然後 SonicWall 會將設備導向至隔離的 VLAN 中。
練習題
Q1. 您已將 SonicWall 訪客區域設定為「外部訪客驗證」,並將網頁伺服器設定為 portal.purple.ai。訪客被重新導向至 Splash Page 且可以成功登入,但他們始終無法存取網際網路。最可能的原因是什麼?
提示:思考 Purple 如何告訴 SonicWall 驗證已成功。
查看標準答案
LHM 授權封包被封鎖。SonicWall WAN 介面上的 TCP 連接埠 4043 必須開啟,才能接收來自 Purple 的成功訊號。請檢查上游防火牆或 ISP 設定是否有封鎖連接埠。
Q2. 某個場所希望在他們的 Splash Page 上提供 Facebook 登入。您將 www.facebook.com 新增至 Walled Garden FQDN 位址群組中。訪客回報 Facebook 登入頁面可以載入,但樣式損壞且登入按鈕無法運作。
提示:現代網頁應用程式會從多個網域載入資源。
查看標準答案
Walled Garden 設定不完整。您還必須將提供 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 位址。為什麼?
提示:SonicWall 需要在 RADIUS 請求完成之前知道將流量傳送到何處。
查看標準答案
VLAN 50 尚未在 SonicWall TZ 防火牆上建立為子介面。動態 VLAN 導向要求目標 VLAN 必須預先存在於防火牆上;如果不存在,設備將退回到預設的未標記 VLAN(在此情況下為 VLAN 10)。
繼續閱讀本系列
Cisco WLC and Catalyst Integration with Purple WiFi: Step-by-Step Guest Access Guide
本權威指南詳細介紹 Cisco Catalyst 9800 WLC 與 Purple WiFi 的逐步整合。內容涵蓋用於訪客 Captive Portal 的外部網頁驗證、用於員工安全存取的 802.1X EAP-TLS,以及用於多租戶動態 VLAN 隔離的 Cisco iPSK。
CommScope Ruckus 與 Purple WiFi 整合:安裝與設定指南
本技術參考指南為 CommScope Ruckus 架構與 Purple WiFi 的整合提供了權威的設定指南。其中詳細介紹了使用 Guest WiFi Captive Portal、透過 802.1X 的安全員工 WiFi,以及使用 Ruckus Dynamic PSK 的多租戶網路隔離的逐步部署步驟。
Allied Telesis 基地台與 Purple WiFi 整合
本指南提供將 Allied Telesis TQ 系列基地台與 Purple WiFi 整合的完整設定指南。內容涵蓋外部 Captive Portal 重新導向、802.1X RADIUS 驗證,以及使用私有預共用金鑰 (PPSK) 進行動態 VLAN 導向,以實現安全的多租戶部署。