Captive Portal 架构:安全性、重定向与最佳实践
企业级 Captive Portal 架构的权威技术参考。本指南为部署安全、数据丰富的访客 WiFi 网络的 IT 决策者深入剖析网络隔离、DNS 重定向、RADIUS 身份验证以及安全合规性。
收听本指南
查看播客转录
📚 核心系列的一部分:Captive Portal Guide →

执行摘要
对于企业级场所,访客 WiFi 是关键的基础设施,需要严格的架构规范。要弥合开放式公共访问与安全企业网络之间的差距,需要对 VLAN 隔离、DNS 拦截和身份管理进行精确配置。本指南剖析了企业级 Captive Portal 架构的机制,剥离了营销术语,从数据包级别准确解释其工作原理。我们涵盖了核心技术组件:VLAN 细分、DHCP 池管理、HTTP 重定向、RADIUS 身份验证和带宽整形。
无论您是为 酒店/住宿 连锁店部署新网络,还是升级 医疗保健 领域的传统基础设施,了解这些机制对于降低风险、确保 PCI-DSS 和 GDPR 合规性以及通过我们的 WiFi 营销分析 平台获取可操作的第一方数据都至关重要。
收听技术简报播客:
技术深潜:Captive Portal 的工作原理
从根本上说,企业级访客 WiFi 网络通过适度欺骗客户端设备以拦截其流量、强制进行身份验证,然后将其安全地路由到互联网,而完全不触及企业 LAN。
1. 通过 VLAN 进行逻辑隔离
任何安全 访客 WiFi 网络的基础都是逻辑隔离。当场所用户连接到访客 SSID 时,接入点会用特定的虚拟局域网(VLAN)ID(例如 VLAN 20)标记其流量,而企业流量则在独立的 VLAN(例如 VLAN 10)上运行。
这种标记确保了在交换机和防火墙层面上,访客流量在物理上无法路由到包含销售终端系统或患者记录的内部子网。防火墙配置了针对跨 VLAN 路由的明确拒绝规则,迫使访客流量直接流出 WAN 接口。

2. DHCP 和 IP 地址池
连接后,客户端设备会广播一个 DHCP Discover 数据包。网络通过从专用访客子网分配一个 IP 地址来进行响应。这里一个关键的技术区别是租约时间。虽然企业设备可能会保留 IP 八天,但访客网络必须使用激进的租约时间(30 到 60 分钟),以防止在 交通 枢纽等高流转环境中出现 IP 池耗尽。
3. DNS 拦截与 Captive Portal
这是用户体验开始的地方。当新连接的设备尝试访问网站时(或者当操作系统执行其 Captive Portal 检测检查时,例如 Apple 的 captive.apple.com),网络会拦截 DNS 请求。
网关不会解析所请求网站的实际 IP 地址,而是返回 Captive Portal 的 IP 地址。然后,客户端的浏览器会被 HTTP 重定向到由 Purple 托管的登录页面。
4. 身份验证与 RADIUS
一旦用户与 Captive Portal 进行交互 - 无论是通过接受条款和条件、输入电子邮件,还是使用社交登录 - 平台必须通知本地网络控制器允许该流量。
这是通过 RADIUS (Remote Authentication Dial-In User Service) 协议处理的。Purple 充当云端 RADIUS 服务器,将 Access-Accept 消息发送回本地 WiFi 控制器或网关。然后,控制器将用户的状态从“未授权”(仅限围墙花园访问)更改为“已授权”,从而打开防火墙端口以进行标准互联网访问。
实施指南:构建规模化网络
部署访客 WiFi 需要平衡用户摩擦力与安全性以及数据采集需求。我们的云端覆盖网络与 Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme 和 Fortinet 硬件原生集成。
第 1 步:架构网络拓扑
确保您的核心交换机和防火墙支持 802.1Q VLAN 标记。将您的访客 VLAN 配置为终止于防火墙上的 DMZ 接口,从而完全绕过内部路由表。
第 2 步:配置围墙花园(Walled Garden)
围墙花园是未授权用户允许访问的 IP 地址和域名列表。这必须包括加载 Captive Portal 所需的 URL、Logo 的 CDN 资产以及社交登录的身份验证端点(例如 Microsoft Entra ID, Okta, Google Workspace)。如果围墙花园配置错误,登录页面将无法加载,从而导致用户无法访问。
第 3 步:实施客户端隔离
在您的接入点上启用客户端隔离。这可以防止已连接的访客设备通过无线介质直接相互通信,从而有效减轻访客子网内的点对点攻击和恶意软件传播。
第 4 步:集成身份管理
远离共享 PSK。部署托管 Captive Portal,通过有意识的选择加入捕获第一方数据。为了实现无缝、安全的引导,请考虑部署 OpenRoaming。Purple 在 Connect 计划下作为 OpenRoaming 的免费身份提供商,允许设备通过证书进行安全身份验证,而无需传统的欢迎页面。有关设计多网络环境的更多信息,请阅读我们的指南: Three SSIDs to rule them all: the WiFi design for guest, staff, and IoT 。
最佳实践与合规性
合规性并非可选项。设计合理的 Captive Portal 可保护您的组织免受责任和监管罚款。

GDPR 与数据隐私
Captive Portal 从用户连接的那一刻起就会收集个人数据。为了满足 GDPR 要求,您必须在处理此数据之前获取明确的同意。Purple 的平台可处理 GDPR 合规所需的第 7 层身份和同意要求,确保合法收集数据、安全存储,并可通过自动化工作流根据请求进行擦除。
PCI DSS v4.0 合规性
如果您的组织处理信用卡,您的网络将受 PCI DSS 约束。与 POS 系统运行在同一网络上的访客 WiFi 网络可能会将访客网络拖入 PCI DSS 范围,从而带来重大的审计负担。必须进行严格的 VLAN 隔离,以确保访客流量绝不接触持卡人数据环境。
网络安全标准
在无线传输层强制执行 WPA3 或 WPA2-AES 加密。确保您的 Captive Portal 通过 HTTPS(使用 TLS 1.2 或 TLS 1.3)提供服务,以在身份验证阶段保护用户凭据。
故障排除与风险缓解
即使是设计良好的网络也会遇到问题。以下是最常见的故障模式以及如何避免它们。
故障模式:IP 地址耗尽 在繁忙的 零售 环境中,设备会不断探测并连接到开放网络。如果您的 DHCP 租约时间是 24 小时,那么在您商店旁走过五分钟的顾客就会占用一整天的 IP 地址。 缓解措施: 将访客 VLAN 上的 DHCP 租约时间缩短至 30 分钟。
故障模式:围墙花园(Walled Garden)拦截 云服务会频繁更改其 IP 地址。如果您的围墙花园使用静态 IP 白名单来限制社交登录端点,当这些 IP 轮换时,身份验证将会中断。 缓解措施: 只要您的硬件控制器支持,就在围墙花园条目中使用基于域名的白名单。
故障模式:陈旧会话 用户在未断开连接的情况下离开场馆,但其会话在控制器上仍保持活动状态,从而消耗资源。 **缓解措施:**实施严格的空闲超时设定(例如 30 分钟),并使用 RADIUS Change of Authorisation (CoA) 在达到时间限制时主动撤销会话。
投资回报率(ROI)与业务影响
安全的 captive portal 将传统的 IT 成本中心转变为创收资产。通过捕获经过验证的第一方数据,场所可以构建详细的访客画像。Purple 在 2024 年跨越 80,000 多个活跃场所处理了 4.4 亿次登录,证明了该方法的规模和可靠性。
例如,麦当劳利用 captive portal 数据来了解就餐者的逗留时间和到店频率,而曼彻斯特机场集团(Manchester Airports Group)则根据连接分析数据来优化旅客流量。投资回报率的衡量不仅在于营销数据库的增长,还在于从该平台收集的 290 亿个数据点中所获得的运营洞察。
关键定义
Captive Portal
拦截网络流量并在授予完整互联网访问权限之前要求用户进行交互(例如接受条款或登录)的网页。
在访客网络上收集第一方数据和执行使用条款的主要机制。
RADIUS
远程身份验证拨入用户服务(Remote Authentication Dial-In User Service)。一种提供集中式身份验证、授权和计费管理的网络协议。
Purple 用于告知您的本地 WiFi 硬件允许访客访问互联网的协议。
Walled Garden
用户在通过 Captive Portal 进行身份验证之前可以访问的受限 IP 地址或域名列表。
对于在设备处于预认证状态时允许加载展示页面和社交登录提供商至关重要。
VLAN
虚拟局域网(Virtual Local Area Network)。一个逻辑子网,它将来自不同物理局域网的设备集合进行分组。
用于安全地将访客流量与企业流量进行隔离,从而确保 PCI DSS 合规性。
Client Isolation
一种无线安全设置,用于阻止连接到同一接入点的设备之间进行直接通信。
对于保护访客免受对等网络攻击以及阻止恶意软件在公共网络中传播至关重要。
DHCP 租约时间
IP 地址在过期并返回到可用池之前分配给设备的持续时间。
在访客网络上必须保持较短(30 到 60 分钟),以防止随着访客的来去而耗尽 IP 地址。
RADIUS CoA
授权变更。RADIUS 的扩展,允许服务器更改活动客户端的会话状态。
Purple 用于在用户的时间限制到期或当用户根据 GDPR 要求擦除数据时,立即断开他们的连接。
OpenRoaming
一种漫游联盟服务,允许设备使用证书自动且安全地连接到参与的 WiFi 网络。
下一代无缝连接,在 Connect 计划下,Purple 充当免费的身份提供者。
应用实例
一家拥有 200 间客房的酒店需要在其整个物业中部署访客 WiFi。他们目前使用单一的扁平网络 (192.168.1.0/24) 供前台、后勤办公室使用,并通过共享密码进行访客接入。他们希望收集访客的电子邮件地址用于营销,同时确保前台系统的安全。
- 实施网络分段:为前台/办公室创建 VLAN 10,为访客创建 VLAN 20。
- 配置防火墙:阻止从 VLAN 20 到 VLAN 10 的所有路由。将 VLAN 20 直接路由到 WAN。
- 取消共享密码:部署一个名为 "Hotel_Guest" 的开放 SSID。
- 设置 Captive Portal:配置 WiFi 控制器,将未授权的 HTTP 流量重定向到 Purple 的 Captive Portal URL。
- 配置 Walled Garden:将 Purple 门户网站域名和 CDN 资产列入白名单,以便加载展示页面。
- 配置 RADIUS:将 Purple 的 RADIUS 服务器 IP 地址和共享密钥添加到 WiFi 控制器中。
- 调整 DHCP:将 VLAN 20 DHCP 地址池设置为 /22 子网,并设置 60 分钟的租约时间,以应对高设备周转率。
一个大型体育场预计将迎来 40,000 名观众观看比赛。他们已经部署了 Captive Portal,但担心在 3 小时的活动期间出现网络性能问题和 IP 地址耗尽。
- DHCP 规划:为访客 VLAN 部署一个 /16 子网,以提供超过 65,000 个可用 IP 地址。
- 租约时间:将 DHCP 租约时间设置为 30 分钟,以便快速回收提前离场球迷的 IP 地址。
- 带宽整形:在控制器级别应用每用户 5 Mbps 下行 / 2 Mbps 上行的速率限制,以防止少数用户占用 10 Gbps 互联网管道。
- Client Isolation:启用 AP 级别的 Client Isolation,以防止广播风暴和对等流量降低密集体育场环境中的无线性能。
练习题
Q1. 您正在医院候诊室部署 captive portal。该展示页面在 Android 设备上加载成功,但 iOS 设备显示空白白色屏幕。最可能的架构原因是什么?
提示:考虑不同的操作系统如何检测 captive portal 以及它们需要访问哪些资源。
查看标准答案
围墙花园(walled garden)可能配置错误。iOS 设备会尝试访问特定的 Apple 域名(例如 captive.apple.com)来触发门户微型浏览器。如果围墙花园中未将这些域名或展示页面所需的特定 CDN 资产列入白名单,则页面将无法在 Apple CNA(Captive Network Assistant)中正确呈现。
Q2. 某零售连锁店希望提供免费 WiFi,但要求用户使用其 Microsoft Entra ID 凭据进行登录。在测试期间,用户被重定向到展示页面,点击“使用 Microsoft 登录”按钮,但页面超时。为什么?
提示:思考在 RADIUS 身份验证完成之前防火墙的状态。
查看标准答案
Microsoft Entra ID 身份验证端点尚未添加到围墙花园中。因为用户处于预身份验证状态,所以防火墙会阻止所有指向互联网的流量。要解决此问题,必须将特定的 Microsoft 登录域名和 IP 范围列入白名单,以便设备可以与身份提供者进行通信以完成 OAuth 流程。
Q3. 某场馆每天下午其访客网络上的 IP 地址都会耗尽,尽管其并发用户数少于其 DHCP 池大小。需要进行什么配置更改?
提示:思考设备离开建筑物后保留 IP 地址的时间。
查看标准答案
DHCP 租期设置过长(可能为默认的 12 或 24 小时)。短暂连接并离开的设备仍占用其 IP 地址,从而阻止了新设备的连接。应将租期缩短至 30 到 60 分钟,以便快速回收已离开访客的 IP。
继续阅读本系列
Ruijie Captive Portal:使用 Purple 访客 WiFi 进行设置
介绍 Purple 的云端访客 WiFi 如何利用 Web 认证和 RADIUS(通过命令行配置)运行在 Ruijie RG 系列接入点之上,以及在何处可以找到具体的设置步骤。
设计 B2B Captive Portal:收集注册姓名与公司数据
本指南为 IT 经理和场所运营者提供了一个与供应商无关的技术框架,用于设计 B2B captive portals。它详细介绍了如何构建注册字段以捕获注册姓名和公司数据,在确保高完成率的同时,保持 GDPR 合规并构建账户级智能。
优化 B2B Captive Portal:获取公司名称与专业数据
本指南阐述了 IT 经理、网络架构师和场所运营总监如何配置 B2B Captive Portal,以便在连接 WiFi 登录时收集专业数据(包括公司名称、职位和企业电子邮箱)。内容涵盖了从 VLAN 隔离和 RADIUS 身份验证到与 Salesforce 和 HubSpot 的 CRM 集成的完整技术架构,并内置了 GDPR 和 CCPA 合规性。正确部署该方案的场所可以将宾客 WiFi 网络转化为第一方数据引擎和自动线索生成系统。