Ubiquiti UniFi 与 Purple WiFi:集成指南
本指南为将 Purple WiFi 智能平台与 Ubiquiti UniFi 网络部署集成提供了权威的技术参考,涵盖了架构、分步控制器配置以及符合 GDPR 要求的数据采集。它面向需要在酒店业、零售业、活动和公共部门环境中部署安全、功能丰富的访客 WiFi 体验的 IT 经理、网络架构师和运营总监。通过正确配置 UniFi 网络控制器以利用 Purple 的外部 Captive Portal,组织可以将标准的成本中心转变为有价值的访客分析和营销情报来源。
Listen to this guide
View podcast transcript

执行摘要
Ubiquiti UniFi 是全球部署最广泛的企业 WiFi 平台之一,因其性能、可扩展性和成本效益而受到酒店、零售连锁店、体育场馆和公共部门组织的信赖。然而,其原生访客门户功能有限。Purple 的 WiFi 智能平台通过其外部门户服务器功能直接与 UniFi 网络控制器集成,从而弥补了这一差距,无需任何额外硬件即可提供完全品牌化、富含分析功能的 Captive Portal 体验。
本指南为该集成提供完整的技术参考。它涵盖了底层架构、当前版本(v7.4+)和旧版本(v7.3 及以下)UniFi 版本的逐步配置过程、安全与合规的最佳实践,以及结构化的故障排除框架。完成这一集成的组织可以访问实时访客分析、符合 GDPR 要求的数据采集、CRM 集成,并能够投放有针对性的营销传播——将访客 WiFi 从成本中心转变为可衡量的商业资产。
技术深度解析
Ubiquiti UniFi 与 Purple 之间的集成依赖于 UniFi 的外部门户服务器功能。此功能将访客用户从本地 UniFi 控制器重定向到指定的第三方 Captive Portal——在本例中即为 Purple 平台。底层机制依赖于一系列 HTTP 重定向和 API 调用,这些调用管理着访客授权生命周期。
当访客连接到指定的开放式认证 SSID 时,UniFi 控制器会将其设备置于“待处理”状态。在此状态下,所有 HTTP 流量都会被拦截并重定向到 Purple 的启动页面 URL,同时将关键参数附加到 URL 查询字符串中:访客的 MAC 地址、AP 的 MAC 地址以及站点标识符。Purple 平台捕获这些参数,呈现适当的登录体验,并在用户成功认证后——无论是通过社交登录、电子邮件表单还是代金券——向 UniFi 网络控制器发起安全的 HTTPS API 调用,以授权该访客的 MAC 地址在指定的会话时长内获得访问权限。这一授权将设备从“待处理”状态移至“已授权”状态,从而授予其互联网访问权限。
该架构的一个关键组成部分是围墙花园——在认证之前允许访客设备访问的 IP 地址和域名白名单。这对于允许访问 Purple 自己的域名、社交登录提供商(Facebook、Google)、Apple 的 CNA 检测端点以及任何其他所需的外部服务至关重要。如果没有正确配置围墙花园,Captive Portal 将完全无法加载。
对于更高级的部署,Purple 的 PurpleConnex 功能引入了 Passpoint (IEEE 802.11u) 支持,使用 RADIUS 服务器为回头客提供无缝、无需凭据的重新连接。这需要在 UniFi 中配置一个 RADIUS 配置文件,指向 Purple 的认证服务器 IP 34.150.158.147,端口为 1812(认证)和 1813(计费)。

实施指南
本节提供了配置 UniFi 网络控制器与 Purple 集成的分步指南。以下说明适用于 UniFi 网络应用程序版本 7.4 或更高版本。对于旧版本(v7.3 及以下),配置原则相同,但导航路径略有不同,需使用 配置文件 > 访客热点 而非 热点管理器。

步骤 1:验证并确保控制器可访问性。 在进行任何配置之前,请确认您的 UniFi 网络控制器可从公共互联网访问。Purple 云平台必须能够与您的控制器 API 通信以授权访客会话。对于基于软件的 UniFi 控制器,这需要在防火墙上设置端口转发规则,将 TCP 端口 8443 映射到控制器的内部 LAN IP 地址。对于基于硬件的部署——包括 UniFi Dream Machine Pro (UDM Pro)、UDM 特别版、UDR 和 CloudKey Gen2+——相关端口为 TCP 443。
步骤 2:创建专用本地管理员账户。 出于安全卫生考虑,切勿在 Purple API 集成中使用您的主要 Ubiquiti 超级管理员或云账户凭据。在 UniFi 控制器上专门为此目的创建一个新的专用本地管理员账户。该账户应具有相关站点的完全管理权限。使用专用账户可以限制任何潜在凭据泄露的影响范围,并确保集成不会因您的主账户变更而中断。
步骤 3:创建访客 WiFi SSID。 在 UniFi 网络应用程序中,导航至 设置 > WiFi,然后点击 新建。分配一个面向公众的名称(例如,“酒店访客 WiFi”)。将 安全协议 设置为 开放式——这是 Captive Portal 重定向机制正常工作的必要条件。将该 SSID 分配给您指定的访客 VLAN。启用 热点门户 开关。
步骤 4:配置热点门户和外部服务器。 导航至 热点管理器 > 登录页面。在 认证 下,选择 外部门户服务器,并输入 Purple 提供的外部门户 IP 地址。在 设置 下,进行如下配置:启用 安全门户,启用 使用主机名重定向 并输入 Purple 提供的访问域名,并确保 HTTPS 重定向 设置为 禁用。会话的 默认过期时间 应设置为 8 小时。
步骤 5:配置围墙花园。 在热点管理器设置中,找到 预授权访问 部分。添加 Purple 提供的列表中的所有域名。此列表通常包括 Purple 自己的平台域名、社交登录提供商域名(facebook.com、google.com、accounts.google.com)、Apple 的 Captive Network Assistant (CNA) 检测端点,以及您在启动页面上使用的任何其他第三方服务。此步骤是部署失败的最常见原因,必须精确完成。
步骤 6:在 Purple 门户中输入控制器详细信息。 登录您的 Purple 账户,并导航至相关场所的设置。输入 UniFi 控制器的公共 IP 地址或主机名,以及步骤 2 中创建的专用本地管理员账户的凭据。保存配置。Purple 将尝试验证连接。
步骤 7:测试与验证。 使用先前未连接过该网络的移动设备,连接到新的访客 SSID。您应自动重定向到 Purple 的 Captive Portal。使用配置的认证方式之一进行认证。成功后,您应获得互联网访问权限。如果重定向失败或认证后未获得互联网访问权限,请参考下面的故障排除部分。
最佳实践
网络隔离是任何访客 WiFi 部署的基本安全要求。访客 SSID 必须分配给一个专用 VLAN,该 VLAN 需与所有公司网络和管理网络进行防火墙隔离。这可以防止访客设备访问内部资源,满足 PCI DSS 网络隔离要求,并限制任何安全事件对访客网络的影响。
在高密度环境中,带宽管理同样重要。应配置 UniFi 的每用户速率限制功能,为访客用户设置合理的上传和下载上限。这可以防止少数高带宽用户降低所有访客的体验,这在酒店和会议中心部署中尤为重要。
围墙花园需要持续维护。社交登录提供商和其他第三方服务会定期更新其域名结构。每季度对照 Purple 最新的推荐域名列表审查围墙花园配置,是一种良好的运维实践。未能维护此列表是部署后门户失败的主要原因。
对于 API 集成,始终使用专用本地管理员账户,而不是关联云账户。这既是最佳安全实践,也是一项可靠性措施——云账户凭据会受到多因素认证流程的影响,可能会中断 Purple 为授权访客而进行的自动 API 调用。
故障排除与风险缓解
最常见的故障模式是 Captive Portal 无法加载。当访客连接到 SSID 但未看到重定向,或门户页面无法呈现时,根本原因几乎总是围墙花园不完整。开始故障排除时,连接一个测试设备并尝试导航到一个已知的 HTTP URL。如果发生了重定向但页面无法加载,则将缺失的域名添加到围墙花园中。同时验证访客网络的 DNS 是否正确配置以解析外部主机名。
第二常见的故障是访客在 Purple 门户上成功认证,但未获得互联网访问权限。这表明 Purple 与 UniFi 控制器之间的 API 通信失败。诊断步骤如下:首先,通过从外部网络尝试访问来确认控制器在正确的端口上可公开访问;其次,验证在 Purple 门户中输入的本地管理员凭据是否正确,并且账户未被锁定;第三,检查 UniFi 控制器的事件日志,查看是否有任何 API 认证错误。
对于生产环境部署,控制器可用性是一个关键风险因素。如果 UniFi 控制器离线,新的访客授权将失败。缓解策略包括部署云托管 UniFi 控制器(提供固有冗余),实施高可用性控制器配对,或配置控制器可用性的监控和警报。Purple 平台将对授权尝试进行排队并重试,但长时间控制器停机将导致访客体验下降。
从合规性的角度来看,通过 Captive Portal 收集的数据受 GDPR 及同等数据保护法规的约束。Purple 的平台架构专为合规性而设计,提供同意管理、数据主体访问请求 (DSAR) 工具以及可配置的数据保留策略。但是,合法数据处理的法定责任仍由场所运营方承担。确保您的隐私政策在启动页面上有明确的链接,您有数据收集的书面法律依据,并且您的数据保留设置与您的组织政策一致。
投资回报率与业务影响
将 Purple 与 UniFi 集成不仅仅是一次技术升级;它是一项战略性的业务决策,将访客 WiFi 从成本中心转变为强大的资产。投资回报率可在多个关键维度上衡量。
商业智能是主要的驱动力。Purple 捕获访客行为的丰富匿名数据——包括客流量、停留时间、访问频率和移动模式。对于零售连锁店,这些数据可以直接为店铺布局决策、人员配备水平和促销时机提供信息。对于酒店,它可以揭示哪些设施在什么时间使用最多,从而实现更有针对性的追加销售和运营效率。
营销和互动能力是显著的次要效益。通过征得同意后捕获访客联系方式,组织可以建立第一方营销数据库,不受第三方 cookie 弃用的限制。访问后的电子邮件活动、满意度调查和忠诚度计划邀请可以直接从 Purple 平台自动化,从而推动重复访问率和客户终身价值的可衡量改进。
对于体育场馆、会议中心和购物中心等大型场所,通过实时客流量分析和热力图获得的运营情报可以带来显著的效率提升——根据实际的访客移动数据而非假设来优化清洁时间表、安保部署和零售摊位布局。
在某些情况下,访客 WiFi 基础设施本身可以通过分级访问模式、赞助启动页面或定向广告实现货币化,从而创造直接的收入来源,抵消基础设施投资的成本。
Key Definitions
Captive Portal
在授予更广泛的互联网访问权限之前,向新连接的 WiFi 网络用户显示的一个网页。它控制访问、认证用户,并/或显示服务条款和营销内容。
在 UniFi/Purple 集成中,UniFi 控制器将访客重定向到 Purple 托管的 Captive Portal,该门户管理整个访客体验,包括认证、同意获取和品牌化。
External Portal Server
一种 UniFi 配置选项,将 Captive Portal 体验委托给第三方 Web 应用程序,而不是使用 UniFi 的内置门户。UniFi 控制器将访客重定向到指定的外部 URL,并依赖该系统处理认证,然后回调控制器的 API 来授权访客。
这是启用 Purple 集成的核心 UniFi 设置。在 UniFi 网络 v7.4+ 中,位于 热点管理器 > 登录页面 > 认证 下。
Walled Garden
在通过 Captive Portal 认证之前,允许访客设备访问的 IP 地址、主机名和域名的白名单。在访客完成认证流程之前,流向未列入白名单的目的地的流量将被阻止。
这对于允许设备加载 Purple 启动页面本身及其依赖的任何第三方资源(如社交登录提供商或支付网关)至关重要。不完整的围墙花园是 Captive Portal 失败的主要原因。
RADIUS (Remote Authentication Dial-In User Service)
一种网络协议 (RFC 2865),为连接到网络服务的用户提供集中式的认证、授权和计费 (AAA) 管理。
虽然标准的 Purple 集成使用 UniFi API 进行访客授权,但 PurpleConnex (Passpoint) 功能使用 RADIUS 为回头客提供更安全、无缝的连接体验,无需通过 Captive Portal 重新认证。
Passpoint (IEEE 802.11u / Hotspot 2.0)
WiFi 联盟的一项认证计划,可实现对 WiFi 网络的自动、安全认证,无需用户手动选择网络或输入凭据。具有 Passpoint 配置文件的设备可使用基于 EAP 的认证自动安全地连接。
Purple 的 PurpleConnex 功能利用 Passpoint 为回头客提供无缝重连体验。用户一旦通过 Captive Portal 认证一次,后续访问即可自动连接,无需再次查看启动页面。
SSID (Service Set Identifier)
无线局域网 (WLAN) 的公共名称——即用户在设备上搜索可用 WiFi 连接时出现的网络名称。
对于访客网络集成,会创建一个采用开放式安全的专用 SSID,并与 Captive Portal 关联。它与使用 WPA2/WPA3-Enterprise 认证的公司 SSID 分开。
VLAN (Virtual Local Area Network)
在同一物理网络基础设施上创建逻辑上分离的网络的方法。不同 VLAN 上的设备在没有路由器的情况下无法相互通信,从而提供网络分割和安全隔离。
安全最佳实践和 PCI DSS 合规性要求将访客 SSID 放置在其自身的 VLAN 上,与公司、管理和 POS 网络完全隔离。这可以防止访客设备访问内部资源。
WISPr (Wireless Internet Service Provider Roaming)
一种行业标准协议,定义了客户端设备如何发现并认证到 WiFi 热点 Captive Portal。它使用 HTTP 重定向和基于 XML 的认证消息来管理门户交互。
UniFi 的外部门户功能基于 WISPr 原理。理解此协议有助于网络工程师排除重定向故障,并理解为什么某些客户端设备(尤其是 iOS 和 Android)在连接到 Captive Portal 网络时表现不同。
Port Forwarding
一种网络地址转换 (NAT) 技术,将路由器或防火墙上的外部端口映射到特定的内部 IP 地址和端口,从而允许外部服务发起与专用网络上设备的连接。
如果您的 UniFi 控制器托管在本地网络上,则必须配置端口转发规则,以允许 Purple 云平台访问控制器的 API。对于软件控制器,所需端口为 8443;对于基于硬件的控制器,则为 443。
PurpleConnex
Purple 对 Passpoint (IEEE 802.11u) 标准的实现,通过专用的 RADIUS 服务器使用 EAP-TTLS 认证,为回头客提供安全、无缝的 WiFi 连接。它消除了回头客通过 Captive Portal 重新认证的必要。
PurpleConnex 需要在 UniFi 中进行额外配置:一个指向 Purple 认证服务器的 RADIUS 配置文件,以及一个单独的启用 Passpoint 的 SSID。它在回头客较多的酒店业和零售业环境中特别有价值。
Worked Examples
一家拥有 250 间客房的精品酒店希望将其基本、不可靠的访客 WiFi 替换为高级的品牌化体验。他们的目标是在登录页面上捕获访客电子邮件地址以进行住后营销,宣传其水疗中心和餐厅,并确保拥有多台设备的访客能够无缝连接。其基础设施包括一台 UniFi Dream Machine Pro 和 40 个 UniFi U6 Pro 接入点。
推荐的部署方案通过外部门户服务器方法将 UDM Pro 与 Purple 集成。创建一个新的“酒店访客 WiFi” SSID,采用开放式安全协议,并分配给专用的访客 VLAN(例如,VLAN 20),该 VLAN 通过防火墙与酒店的管理和 POS 网络隔离。启用热点门户,并将其配置为使用 Purple 作为外部门户服务器。由于 UDM Pro 使用端口 443,需在 UDM Pro 的 WAN 接口上创建端口转发规则,将 TCP 443 映射到 UDM Pro 的 LAN IP。在 UDM Pro 上创建一个专用的本地管理员账户('purple-api'),具有完整的站点权限。在 Purple 门户中,设计一个自定义品牌的启动页面,页面包含酒店徽标、带有 GDPR 同意复选框的简单电子邮件捕获表单,以及一个突出显示的横幅广告,宣传水疗中心并提供直接预订链接。围墙花园配置为包含所有 Purple 域名、Facebook、Google 和 Apple CNA 端点。酒店的营销团队被授予 Purple 分析仪表板的访问权限,使他们能够跟踪每日访客数量、高峰连接时间和电子邮件捕获率。在第一个季度内,该酒店平均每周捕获 180 个新的电子邮件地址,这些地址会自动同步到其 CRM 中,用于住后活动自动化。
一家在英国拥有 20 家门店的零售连锁店,每家店都配有 UniFi AP,并由一个云托管的 UniFi 控制器进行管理,希望利用访客 WiFi 数据来了解客户行为。运营总监需要测量所有门店的客流量、停留时间和回头客比率,以便为门店布局重新设计方案提供信息,并评估店内促销活动的效果。
云托管的 UniFi 控制器已经拥有公共主机名,因此无需端口转发——这大大简化了部署。配置一个单一的访客 SSID('品牌 WiFi'),并通过 UniFi 控制器的站点管理功能应用于所有 20 个站点。热点门户被配置为使用 Purple 的外部门户服务器。在 Purple 门户中,将 20 家门店中的每一家都配置为独立的场所,从而实现精细的、门店级别的分析。启动页面旨在最大限度地提高采用率:仅包含一个“连接”按钮和简短的隐私声明,以减少操作摩擦。在 Purple 分析平台中,运营总监可以查看一个比较仪表板,显示每家门店的客流量、停留时间以及新访客与回头客的比率。经过 90 天的数据收集后,分析结果显示有三家门店的停留时间显著高于其他门店,这与特定的门店布局相关。这一洞察直接为布局重新设计方案提供了信息,并将该高效布局推广至全部 20 家门店。在所有门店同时开展一项促销活动,Purple 仪表板提供了活动前后的客流量和停留时间对比,显示出可衡量的活动提升效果。
Practice Questions
Q1. 一位酒店 IT 经理完成了 UniFi/Purple 集成配置,并在办公室成功测试。但是,在部署到实际酒店环境后,访客报告称 Captive Portal 页面可以加载,但“使用 Facebook 登录”按钮不起作用。最可能的原因是什么?应如何解决?
Hint: 考虑 Facebook 登录按钮需要加载和运行哪些资源,以及这些资源在认证之前是否可供访客设备访问。
View model answer
最可能的原因是 Facebook 登录域名未包含在围墙花园(预授权访问列表)中。当访客设备处于“待处理”状态时,它只能访问围墙花园中明确列入白名单的域名。Facebook 登录流程需要访问 facebook.com、fbcdn.net 及相关域名。解决方法是将所有必需的 Facebook 域名添加到 UniFi 热点管理器设置中的围墙花园。Purple 为每个社交登录提供商提供了一个维护的必需域名列表。更新围墙花园后,使用新设备连接再次测试 Facebook 登录流程。
Q2. 一位网络架构师正在为一个拥有 5000 个座位的会议中心规划访客 WiFi 部署,该会议中心将举办活动,最多同时有 3000 名 WiFi 用户。该场所使用基于软件的 UniFi 控制器,托管在场所服务器机房中的一台服务器上。确保 Purple 集成在高峰活动期间保持可靠的三个最关键的基础设施考虑因素是什么?
Hint: 思考集成架构中的单点故障——如果控制器离线、互联网连接饱和或控制器硬件性能不足,会发生什么?
View model answer
三个最关键的因素是:首先,控制器可用性和性能——UniFi 控制器是每次访客授权的关键组件。在 3000 个并发用户的情况下,控制器必须有足够的 CPU 和 RAM 来处理负载。考虑升级到高规格服务器或迁移到云托管控制器以获得固有的冗余。其次,互联网连接和端口转发的可靠性——Purple 对控制器的 API 调用必须通过场所的互联网连接。确保端口转发规则位于有弹性的防火墙上,并确保互联网连接有足够的容量。对于关键业务活动,建议使用带有自动故障转移的辅助互联网连接。第三,带宽管理——对于 3000 个用户,在 UniFi 中实施严格的每用户速率限制,以防止带宽耗尽。如果没有速率限制,少数高带宽用户可能会降低所有访客的体验。
Q3. 一家零售连锁店的 IT 经理被法律团队要求确保访客 WiFi 数据收集完全符合 GDPR。当前的启动页面只有一个简单的“连接”按钮,没有明确的同意机制。需要对 Purple 配置进行哪些更改,以及应实施哪些持续的运营流程?
Hint: GDPR 要求处理个人数据具有合法依据,透明化数据使用方式,以及数据主体行使其权利的机制。
View model answer
需要进行以下更改并实施相关流程:在启动页面上,必须将“连接”按钮替换为明确的主动选择加入机制。这意味着添加一个措辞清晰的同意复选框(默认未选中),说明正在收集哪些数据、如何使用这些数据以及将与谁共享。必须显著显示完整隐私政策的链接。处理的法律依据应为针对营销传播的明确同意,以及针对匿名分析的合法权益。在 Purple 门户中,配置数据保留设置以符合组织的数据保留政策——营销数据通常不超过 24 个月。启用 Purple 的 GDPR 工具以处理数据主体访问请求 (DSAR) 和删除权请求。在运营方面,实施季度审查流程,以确保隐私政策保持准确、同意措辞是最新的,并强制执行数据保留设置。为访客 WiFi 数据收集维护一份处理活动记录 (ROPA)。
Q4. 一位网络工程师按照所有文档步骤配置了 UniFi/Purple 集成。测试时,访客设备连接到 SSID 并被重定向到 Purple 门户。访客成功认证,但未获得互联网访问权限。Purple 门户显示认证成功。诊断过程是什么?
Hint: 如果 Purple 显示认证成功但访客没有互联网访问权限,则问题出在 Purple 与 UniFi 控制器之间的通信路径上。
View model answer
此症状表明 Purple 对 UniFi 控制器的 API 调用——即将访客设备从“待处理”移至“已授权”的调用——失败了。诊断过程如下:首先,通过从外部网络尝试访问控制器的管理界面或使用在线端口检查工具,验证 UniFi 控制器在正确的端口上是否可公开访问(软件为 8443,硬件为 443)。其次,登录 Purple 门户,验证控制器 IP/主机名和本地管理员凭据是否正确。一个常见错误是输入控制器的内部 LAN IP 而不是其公共 IP,或者使用云账户凭据而不是本地管理员凭据。第三,检查 UniFi 控制器的事件日志,查找任何 API 认证错误或来自 Purple IP 地址的失败登录尝试。第四,验证防火墙规则或端口转发是否正确配置,以及 Purple 的源 IP 地址是否未被任何上游安全设备阻止。