跳至主要内容

公共 WiFi 故障排除:解决“已连接但无互联网”及展示页面重定向失败问题

本权威技术参考指南详细阐述了 Captive Portal 检测的底层机制,并剖析了导致访客 WiFi 无法连接的六种主要失效模式。它为 IT 经理和网络架构师提供了一个实用的故障排除框架,用于解决 HTTP 重定向问题、DNS 冲突以及 MAC 地址随机化带来的挑战。

作者:Tom Hackett发布于 更新于
📖 6 分钟阅读287 字2 应用实例3 练习题8 关键定义

Video overview

收听本指南

查看播客转录
欢迎阅读来自 Purple 的技术简报。今天我们将解决企业无线网络中一个最顽固、最容易被误解的问题:那就是死活无法加载的访客 WiFi Captive Portal。 您一定遇到过这种情况。访客到达您的酒店、零售店、体育场或会议中心。他们连接了 WiFi 网络,却没有任何反应。没有登录页面。没有互联网。只有一个旋转的加载图标和不断增加的挫败感。对于场所运营总监和 IT 经理来说,那一刻不仅仅是小小的便利问题。它代表了您访客体验的直接失败、前台支持电话的激增,以及错失捕获能证明您无线基础设施投资合理性的第一方数据的机会。 在本简报中,我们将深入技术底层。我们将详细解释操作系统层面的 Captive Portal 检测是如何工作的,找出导致绝大多数连接失败的六个根本原因,并为您提供一个实用、可操作的排错框架,您可以立即将其交付给您的 IT 团队。 让我们从机制开始。大多数人认为 Captive Portal 仅仅是一个登录页面。它实际上是一个网络级的流量拦截机制,当出现问题时,这种区别至关重要。 以下是其运行流程。访客的设备加入您的访客 SSID 并通过 DHCP 获取 IP 地址。此时,操作系统不会等待用户打开浏览器。在后台,系统服务会立即向供应商控制的探测 URL 发起一个未加密的 HTTP GET 请求。Apple 设备查询 captive.apple.com。Android 设备查询 connectivitycheck.gstatic.com。Windows 设备查询 msftconnecttest.com。Firefox 在 detectportal.firefox.com 拥有自己的探测地址。 如果网络可以公开访问互联网,这些探测会返回其预期的响应,操作系统就会得出一切正常的结论。但在访客网络上,您的无线网关或控制器会在该 HTTP 探测到达互联网之前将其拦截。网关不会返回预期的响应,而是返回一个指向您的 Captive Portal 登录页面的 HTTP 307 重定向。操作系统检测到意外的重定向,意识到其处于 Captive Portal 之后,并打开一个沙盒浏览器窗口 - 通常称为 Captive Network Assistant - 来显示登录页面。 这是正常情况下的顺畅流程。现在让我们来看看导致其失效的六种原因。 根本原因之一:DHCP 池耗尽。这是高密度活动中的无形杀手。如果您在标准的 slash-24 子网上举办有两千名参会者的会议,您将拥有 254 个可用的 IP 地址。如果您的 DHCP 租约时间设置为默认的 24 小时,那么在开门后的几分钟内,该池就会耗尽。在此之后,甚至在 Captive Portal 流程开始之前,每个后续连接尝试都会失败。解决方法很简单:对于高周转率的环境,将访客 DHCP 租约时间设置为 15 到 30 分钟,并针对最高并发用户数而非总人数合理规划您的子网大小。 根本原因之二:DNS 拦截失败。Captive Portal 重定向依赖于网关拦截 HTTP 探测。但探测首先需要进行 DNS 查询。如果您的 DNS 配置不允许未经验证的客户端解析外部域名,则探测永远不会触发。请确保您的防火墙策略明确允许来自未验证客户端的 DNS 查询,并通过对测试设备进行数据包捕获来验证您的 DNS 拦截是否正常工作。 根本原因之三:围墙花园(walled garden)不完整。围墙花园(也称为预验证访问控制列表)定义了未经验证的访客可以访问哪些外部域名。如果您的 Portal 欢迎页面从不在围墙花园中的 CDN 加载资源,该页面将呈现为空白屏幕。如果您通过 Google、Apple 或 Facebook 提供社交登录,则这些提供商使用的每个 OAuth 域名都必须列入白名单。这里有一个关键点:社交身份提供商会定期更新其 CDN IP 范围和验证域名。六个月前工作完美的围墙花园今天可能已经悄然失效。请安排每季度的围墙花园审计,并在您的硬件支持的情况下使用通配符域名探听。在 Cisco Meraki、HPE Aruba、Ruckus 和 Juniper Mist 上,此功能是原生提供的。 根本原因之四:HSTS 阻止重定向。HTTP 严格传输安全(即 HSTS)是一种浏览器安全策略,它强制仅通过 HTTPS 连接到特定域名。如果访客的设备尝试联系已预加载 HSTS 的域名(这几乎包括每个主流网站),并且您的网关尝试拦截该 HTTPS 请求以重定向到 Portal,浏览器将检测到证书不匹配。它会呈现一个无法绕过的安全警告,并完全阻止重定向。正确的解决方案是永远不要尝试 HTTPS 拦截。您的网关应该只重定向未加密的 HTTP Canary 探测。基于标准的长期解决方案是 RFC 8910,它定义了 DHCP Option 114。此选项允许您的 DHCP 服务器直接向客户端设备广播 Captive Portal URL,从而完全无需进行 HTTP 重定向。iOS 14 和 Android 11 及以上版本已原生支持此功能。 根本原因之五:访客设备上启用了活跃的 VPN。VPN 会加密来自设备的所有流量,并在其到达您的网关之前通过外部通道进行路由。您的网关永远无法检测到 HTTP 探测。Captive Portal 检测程序永远不会被触发。访客看不到登录页面,也无法连接互联网。访客端的解决方法很简单:禁用 VPN,连接到门户,然后重新启用 VPN。对于您的前台工作人员来说,当访客报告连接问题时,这应该是他们询问的第一点。 根本原因之六:MAC 地址随机化破坏了会话持久性。现代 iOS 和 Android 设备默认使用随机 MAC 地址作为隐私保护功能。每次设备连接到网络时,它可能会呈现不同的 MAC 地址。由于 Captive Portal 会话状态是通过 MAC 地址进行跟踪的,一个小时前通过身份验证的访客在其设备的 MAC 地址轮换后,可能会再次看到登录页面。面向访客的解决方法是在网络设置中针对您的特定 SSID 禁用“私有地址”。运营商端的解决方法是实施基于配置文件的身份验证 - 例如通过 Passpoint 和 802.1X 实现的 OpenRoaming - 该技术使用凭据在第 2 层进行身份验证,而不是使用 MAC 地址,从而使随机化变得毫无影响。 现在让我们谈谈实施。在实践中,一个配置良好的 Captive Portal 部署到底是什么样的? 首先从您的 DHCP 架构开始。对于任何预计有超过 200 台并发设备的场所,请放弃使用单一的 /24 子网。使用 /22 或更大子网,并根据您场所的停留时间特征来设置租约时间。酒店将租约设置为 8 小时。体育场将租约设置为 3 小时。购物中心将租约设置为 90 分钟。会议中心将租约设置为 30 分钟。 其次,在每次重大活动之前验证您的围墙花园(Walled Garden)。所需的最少条目包括:您的门户网站的完全限定域名及所有相关的 CDN 域名,Apple、Google、Windows 和 Firefox 的 Captive Portal 检测 URL,以及您支持的每个社交登录提供商的 OAuth 域名。在 Purple 平台上,我们将这些围墙花园条目作为我们云管理服务的一部分进行自动维护和更新,从而减轻了您团队的手动维护负担。 对于您的门户网站证书,请使用来自公认证书颁发机构的公开受信任的 TLS 证书。自签名证书将在每台设备上触发浏览器警告。请在证书过期前进行更新 - 证书过期是导致突然发生、场所范围内的门户网站故障的最常见原因之一。 一个让许多 IT 团队踩坑的陷阱是:在之前已通过身份验证的设备上测试门户。您设备的会话仍处于活跃状态,因此您会完全绕过门户,并得出一切正常运转的结论。请务必在全新的、未通过身份验证的状态下测试设备 - 可以是新设备,也可以是您已忽略该网络并清除了 WiFi 配置文件的设备。 让我为您举两个实际场景的例子来阐明这些原则。 场景一:伦敦市中心的一家拥有350间客房的酒店。该物业的访客 WiFi 运行在单个 /24 子网上。在一次大型会议期间,400名代表同时抵达。在20分钟内,DHCP 地址池就被耗尽了。访客反馈虽然已连接,但无法访问 Captive Portal 或互联网。紧急修复方案是将子网扩大到 /22,提供1,022个可用地址,并将租约时间从24小时缩短至8小时。而长期的解决方案是部署 Purple 的云端管理 Captive Portal,该系统可实时监控 DHCP 地址池的使用情况,并在耗尽前向网络团队发送警报。在做出更改后的48小时内,Portal 的失败率降至接近于零。 场景二:一家拥有200家门店的大型零售连锁店。该连锁店在其访客 Portal 上使用了通过 Google 和 Facebook 进行的社交登录。在 Google 更新其 OAuth 基础架构后,新的身份验证域名并未包含在围墙花园(walled garden)中。访客可以访问 Portal 页面,但社交登录按钮却显示空白屏幕。该连锁店的 IT 团队花了整整两天时间进行故障排查,才定位到围墙花园的配置遗漏问题。定位问题后,修复只花了10分钟。教训是:切勿在您的围墙花园中为基于云的 OAuth 提供商硬编码 IP 地址。请使用通配符域名条目,并进行每季度审查。 现在解答一些我们经常从场所 IT 团队那里听到的快速问答。 为什么 Portal 在 iPhone 上可以正常工作,但在 Android 设备上却不行?Android 使用 connectivitycheck.gstatic.com 作为其探测 URL。如果该域名被您的防火墙阻止或未包含在您的围墙花园中,Android 设备将永远不会触发 Portal。请将其明确添加进去。 访客反映 Portal 已加载,但在登录后无法上网。这几乎总是 RADIUS 授权失败。请检查无线控制器是否可以访问您的 RADIUS 服务器,验证双方的共享密钥是否匹配,并查看 RADIUS 日志中的 Access-Reject 消息。 我们该如何处理每隔几分钟就会不断被登出的访客?请检查您的空闲超时(idle timeout)设置。许多控制器的默认空闲超时为5分钟,这对于在交互之间处于休眠状态的移动设备来说过于频繁。对于酒店和零售环境,请将空闲超时至少设置为30分钟。 总结一下今天简报的核心要点。 访客 WiFi Captive Portal 故障主要归结为六个类别:DHCP 地址池耗尽、DNS 拦截失败、围墙花园配置不完整、HSTS 重定向阻止、客户端设备上启用了活动 VPN,以及 MAC 地址随机化。每个类别都有具体且可测试的修复方法。 对于您的 IT 团队,眼下的即刻行动是:审计您的 DHCP 租约时间和子网大小,对照社交登录提供商当前的 OAuth 域名验证您的围墙花园,并在每次配置更改后,使用全新的、未认证的设备测试您的 Portal。针对您的长期规划,请评估将 OpenRoaming 作为返场访客 Captive Portal 重新认证的替代方案。该技术目前已非常成熟,其标准已在 IEEE 802.1X 和 WPA3-Enterprise 下确立,且 Purple 在 Connect 方案下免费提供此功能,无需额外的软件成本。 Purple 的业务遍及 80,000 个场所,仅在 2024 年就处理了 4.4 亿次登录。我们经历过本简报中描述的所有故障模式,并构建了相应的工具来防止这些问题发生。如果您想了解 Purple 的云端覆盖如何与您现有的 Cisco Meraki、HPE Aruba、Ruckus 或 Juniper Mist 基础设施进行整合,请访问 purple.ai 或联系您的客户经理。 感谢您的收听。

核心系列的一部分:Captive Portal 指南 →

Interactive Network Diagnostic Tool

Public WiFi & Captive Portal Redirection Diagnostic Tool

Diagnose the root cause of splash page redirection failures, probe timeouts, and 'Connected, No Internet' errors across client operating systems and enterprise wireless controllers.

Diagnosis for:Apple iOS (iPhone / iPad)+Cisco Meraki

Root Cause Mechanism

The wireless controller or gateway is failing to intercept cleartext HTTP port 80 requests, or DNS queries for probe domains are being dropped by upstream firewalls before authentication.

Client OS Captive Portal Probe Details
Probe URL:http://captive.apple.com/hotspot-detect.html
Expected Success Status:HTTP 200 with "Success" body string
Detection Daemon:Captive Network Assistant (CNA daemon)
OS behaviour: Fires instantly upon L2 association. If HTTP 302 is received, opens a restricted modal web sheet without full Safari features (e.g. strict cookie storage, no tabs).

Recommended Remediation Actions

  1. Verify that UDP port 53 (DNS) is completely open in pre-authentication firewall policies to allow probe domain resolution.
  2. Ensure the AP or gateway intercepts cleartext HTTP requests (TCP 80) and issues an immediate HTTP 302 Found redirect to the portal URL.
  3. Do not intercept HTTPS port 443 before authentication, as HSTS and TLS SNI mismatches will trigger security warnings.
  4. Instruct users to test manual fallback URLs such as http://neverssl.com or http://captive.apple.com to trigger redirection.
Cisco Meraki Walled Garden & Controller Path:

Configuration Location: Wireless > Configure > Access control > Splash page

# Meraki Dashboard Configuration
1. Set Association Requirements to "Open (no encryption)"
2. Set Splash page to "Sign-on splash page / External captive portal"
3. In "Walled garden", add: *.purple.ai, *.purpleserver.net
4. Enable "RADIUS CoA (RFC 5176)" on port 3799
Pre-auth walled garden FQDNs: *.purple.ai*.purpleserver.net
Do not add the OS probe hosts (captive.apple.com, connectivitycheck.gstatic.com, msftconnecttest.com): if they answer before login, the device decides it is online and never shows the portal.

Eliminate Public WiFi Redirection Failures Across Your Estate

Purple's hardware-agnostic cloud guest WiFi platform eliminates captive portal drops, delivers sub-second splash page loading, and manages pre-auth walled gardens across Cisco Meraki, Aruba, Ruckus, and UniFi.

Useful? Link to this tool

执行摘要

公共 WiFi 故障排除:解决“已连接但无互联网”及展示页面重定向失败问题

访客连接了您的 WiFi,但登录页面却无法加载。他们看到了“已连接,无互联网”的警告并选择放弃。对于场所运营总监和 IT 经理而言,这种失败直接降低了访客体验、增加了技术支持工单,并错失了收集第一方数据的机会,而这些数据正是对无线基础设施进行投资的合理依据。

本指南将详细解释 Captive Portal 检测在操作系统底层的实际工作原理,并指出导致大多数连接失败的六大根本原因。它提供了一个实用的、与厂商无关的排障框架,用于解决 DHCP 耗尽、DNS 拦截失败、围墙花园(Walled Gardens)不完整、被阻止的 HSTS 重定向、活跃的 VPN 冲突以及 MAC 地址随机化问题。

技术深挖:Captive Portal 检测的实际工作原理

要对 Captive Portal 进行排障,您必须首先了解 Captive Portal 在网络层面的实际作用。它不仅是一个登录页面,而是一个网络层的流量拦截机制。

当访客设备加入访客 SSID 时,它会通过 DHCP 接收一个 IP 地址。操作系统不会等待用户打开浏览器。相反,后台系统服务会立即向厂商控制的探测 URL 发送一个未加密的 HTTP GET 请求。Apple 设备会查询 captive.apple.com。Android 设备会查询 connectivitycheck.gstatic.com。Windows 设备会查询 msftconnecttest.com。Firefox 会查询 detectportal.firefox.com。

如果网络具有开放的互联网访问权限,这些探测会返回其预期的 HTTP 200 OK 响应,操作系统据此判定连接已激活。然而,在访客网络上,无线网关或控制器会在该 HTTP 探测到达互联网之前将其拦截。网关不会返回预期的响应,而是返回一个指向 Captive Portal 认证页面的 HTTP 307 Temporary Redirect(临时重定向)。操作系统检测到这种非预期的重定向,从而得知其处于 Captive Portal 限制之后,并打开一个沙盒浏览器窗口(Captive Network Assistant)来显示登录页面。

公共 WiFi 故障排除:解决“已连接但无互联网”及展示页面重定向失败问题 - portal architecture diagram

排障与风险规避:六大失败根本原因

当 Captive Portal 无法加载时,问题几乎总是由六种特定失败模式中的某一种引起的。

公共 WiFi 故障排除:解决“已连接但无互联网”及展示页面重定向失败问题 - root causes infographic

1. DHCP 地址池耗尽

这是高密度活动中的无形杀手。如果您正在举办一场有 2,000 人参加的会议,并使用标准的 /24 子网,那么您只有 254 个可用的 IP 地址。如果您的 DHCP 租约时间设置为默认的 24 小时,您的地址池将在开门后的几分钟内耗尽。在此之后的每次连接尝试都将在 Captive Portal 流程开始之前宣告失败。

解决方案: 对于人员流动率高的环境,将访客 DHCP 租约时间设置为 15 到 30 分钟之间。根据最高并发用户数(而不仅仅是平均出席人数)来规划子网大小。一个 /22 子网可提供 1,022 个可用地址,这是企业级场所推荐的最小规模。

2. DNS 拦截失败

Captive Portal 重定向依赖于网关拦截 HTTP 探测。然而,该探测首先需要进行 DNS 查询。如果您的 DNS 配置不允许未通过身份验证的客户端解析外部域名,则探测将永远无法触发。

解决方案: 确保您的防火墙策略明确允许来自未认证客户端的 DNS 查询(端口 53)。在测试设备上进行抓包分析,以验证您的 DNS 拦截是否正常工作。

3. 围墙花园(Walled Garden)配置不完整

围墙花园(认证前访问控制列表)定义了未认证的访客可以访问哪些外部域名。如果您的 Portal 登录页面从一个未包含在围墙花园中的 CDN 加载资源,该页面将呈现为空白屏幕。如果您通过 Google、Apple 或 Microsoft Entra ID 提供社交媒体登录,则这些提供商使用的每一个 OAuth 域名都必须列入白名单。社交身份提供商会定期更新其 CDN IP 范围和认证域名;半年前运行良好的围墙花园可能会在一夜之间失效。

解决方案: 安排每季度进行一次围墙花园审计。在您的硬件支持的情况下,使用通配符域名探听(Cisco Meraki、HPE Aruba、Ruckus 和 Juniper Mist 原生支持此功能)。作为我们云管理服务的一部分,Purple 会自动维护和更新这些围墙花园条目。

4. HSTS 重定向阻断

HTTP 严格传输安全(HSTS)是一种浏览器安全策略,它强制仅通过 HTTPS 连接到特定域名。如果访客设备尝试与预载了 HSTS 的域名进行通信,而您的网关试图拦截该 HTTPS 请求以重定向到 Portal 页面,浏览器将检测到证书不匹配。这将显示一条无法规避的安全警告,并完全阻断重定向。

解决方案: 切勿尝试对初始重定向进行 HTTPS 拦截。确保您的网关仅重定向未加密的 HTTP 探测。长期基于标准的解决方案是 RFC 8910,它定义了 DHCP Option 114。此选项允许您的 DHCP 服务器直接向客户端设备播发 Captive Portal URL,完全绕过了对 HTTP 重定向的需求。iOS 14 和 Android 11 及以上版本已原生支持此功能。

5. 客户端设备上激活了 VPN

VPN 会加密来自设备的所有流量,并在其到达您的网关之前将其路由通过外部隧道。您的网关永远无法检测到 HTTP 探测,因此绝不会触发 Captive Portal 检测顺序。访客既看不到登录页面,也无法访问互联网。

解决方案: 访客必须禁用 VPN,连接到门户,然后重新启用 VPN。对于前台工作人员来说,询问访客是否正在使用 VPN 应作为首要排障步骤。

6. MAC 地址随机化导致会话保持中断

现代 iOS 和 Android 设备默认使用随机 MAC 地址作为隐私保护功能。设备每次连接到网络时,可能会呈现不同的 MAC 地址。由于 Captive Portal 会话状态是根据 MAC 地址进行跟踪的,因此一小时前已通过身份验证的访客在设备 MAC 地址更改后可能会再次看到登录页面。

解决方案: 针对访客的解决方案是在其网络设置中针对您特定的 SSID 禁用“私有地址”。运营商侧的解决方案是实施基于配置文件的身份验证,例如通过 802.1X 部署 Passpoint 和 OpenRoaming,它在第 2 层使用凭据而非 MAC 地址进行身份验证,从而使随机化失效。

实施指南:构建高弹性架构

部署配置良好的 Captive Portal 需要主动做出架构决策。

  1. 在每次重大活动之前验证您的围墙花园(Walled Garden)。 最低要求的条目包括:您门户的 FQDN 和所有关联的 CDN 域名、Apple、Google、Windows 和 Firefox 的 Captive Portal 检测 URL,以及您支持的每个社交登录提供商的 OAuth 域名。
  2. 使用公共信任的 TLS 证书。 自签名证书会在每台设备上触发浏览器警告。请在证书过期前进行更新;证书过期是导致突然发生、覆盖全场馆的门户故障最常见的原因之一。
  3. 从全新的、未经身份验证的状态进行测试。 从之前已通过身份验证的设备测试门户将完全绕过门户,因为会话仍处于活跃状态。请始终从新设备,或从已忽略该网络并删除了 WiFi 配置文件的设备上进行测试。
  4. 调整空闲超时限制。 许多控制器默认采用 5 分钟的空闲超时,这对于在交互间隔进入睡眠模式的移动设备来说过于激进。在酒店和零售环境中,建议将空闲超时至少设置为 30 分钟。

投资回报率(ROI)与业务影响

Captive Portal 是一项成熟的技术,但它们也存在一些固有的复杂性。战略目标是迈向无缝且安全的身份验证。

基于 Passpoint 和 802.1X 构建的 OpenRoaming,可以帮助再次光临的访客自动、安全地连接 WiFi,而无需看到任何登录页面。在我们的 Connect 计划中,Purple 充当 OpenRoaming 的免费身份提供商。Premier Inn 和 Manchester Airports Group 等场所已经在使用它来为重复访客消除重新身份验证的麻烦,同时保持完全符合 GDPR 并进行第一方数据收集。通过减少连接失败,您可以直接增加收集的第一方数据量,从而提升客户忠诚度和个性化互动。

技术简报播客

在我们的 10 分钟技术简报中,听听我们的高级解决方案架构师对这些故障排除步骤的详细分析。

关键定义

Captive Portal

一种网络级流量拦截机制,它会限制互联网访问,直到用户在展示页面上完成所需操作(例如接受条款或提供凭据)。

企业场所保障访客访问安全并获取第一方数据的首要方法。

Walled Garden

一个认证前访问控制列表,用于定义未经验证的访客设备允许访问哪些外部 IP 地址或域名。

对于在用户完全通过身份验证之前允许其访问门户资产、CDN 和 OAuth 身份提供商至关重要。

Captive Network Assistant (CNA)

一个在检测到 Captive Portal 重定向时由操作系统自动打开的沙箱化、功能受限的浏览器窗口。

这是访客实际查看登录页面并与其进行交互的界面。

HSTS (HTTP Strict Transport Security)

一种 Web 安全策略机制,通过强制浏览器仅通过安全的 HTTPS 连接与网站进行交互,帮助保护网站免受中间人攻击。

HSTS 会阻止网关使用 HTTPS 拦截将用户重定向到 Captive Portal,如果配置不当,会导致连接失败。

DHCP Pool Exhaustion

DHCP 服务器已在其配置的子网中分配了所有可用 IP 地址的状态,从而导致新设备无法加入网络。

在体育场馆或会议等高密度环境中,导致“已连接但无互联网”错误的常见原因。

MAC Address Randomisation

现代移动操作系统中的一项隐私功能,可为每个 WiFi 网络生成随机 MAC 地址,从而防止跨不同位置进行追踪。

此功能会破坏 Captive Portal 上的会话持久性,如果访客的 MAC 地址发生轮换,则会迫使其重新进行身份验证。

OpenRoaming

一个 WiFi 网络联盟,允许用户自动、安全地连接到加入该联盟的网络,而无需输入凭据或与 Captive Portal 进行交互。

针对重复访客的 Captive Portal 的战略性替代方案,由 Purple 作为免费身份提供商提供支持。

RFC 8910 (DHCP Option 114)

一种允许 DHCP 服务器在分配 IP 地址期间,直接向客户端设备提供 Captive Portal URL 的标准。

这完全绕过了对 HTTP 重定向的需求,解决了由 HSTS 引起的问题,并提高了门户检测的速度。

应用实例

伦敦市中心一家拥有 350 间客房的酒店为访客 WiFi 运行单一的 /24 子网。在一次大型会议期间,400 名代表同时到达。20 分钟内,访客纷纷报告已连接但无法访问门户网站或互联网。

即时解决方案是将子网扩展到 /22,提供 1,022 个可用地址,并将 DHCP 租约时间从 24 小时缩短至 8 小时。长期解决方案是部署 Purple 的云管理 Captive Portal,该系统能够实时监控 DHCP 地址池利用率,并在地址耗尽前向网络团队发送警报。

考官评语: 此场景展示了典型的 DHCP 地址池耗尽。一个 /24 子网仅能提供 254 个可用 IP 地址。通过扩大子网规模并缩短租约时间,网络能够适应会议环境中常见的设备高周转率。

一家拥有 200 家门店的大型连锁零售店在其访客门户上使用 Google 和 Facebook 社交登录。在 Google 更新其 OAuth 基础架构后,访客可以访问门户页面,但社交登录按钮显示空白屏幕。

IT 团队必须识别 Google 使用的新认证域名,并将其添加到 Walled Garden(认证前访问控制列表)中。为了在未来防止此类问题,他们应该使用通配符域名条目(例如 *.google.com),而不是硬编码特定的 IP 地址,并每季度审查一次 Walled Garden。

考官评语: 这突显了在依赖第三方 OAuth 提供商时,静态 Walled Garden 的脆弱性。基于云的身份提供商会频繁更改其 IP 范围和 CDN 域名。通配符监听(由 Cisco Meraki 和 HPE Aruba 等企业级硬件原生支持)是正确的架构方法。

练习题

Q1. 一个体育场的 IT 主管报告说,在半场休息期间,数千名球迷尝试连接到访客 WiFi。部分用户成功加载了门户,但许多人报告说他们的设备卡在“正在获取 IP 地址”或在门户出现之前显示“已连接,无互联网连接”。最可能的架构缺陷是什么?

提示:考虑并发连接的数量与网络段上的可用资源。

查看标准答案

网络正在经历 DHCP 池耗尽。子网的规模可能设置得太小(例如 /24),无法应对巅峰期的并发用户负载,且 DHCP 租期可能设置得太长。推荐的解决方法是增加子网规模(例如增加到 /22 或 /21),并将 DHCP 租期缩短以匹配预期的逗留时间(例如,体育场设置为 3 小时)。

Q2. 一位访客连接到您的零售 WiFi 网络。在尝试加载一个热门网站时,其设备显示安全警告“您的连接不是私密连接”,并且 Captive Portal 从未出现。是什么机制导致了这一阻断?

提示:想想现代浏览器在安全连接上如何处理强制重定向。

查看标准答案

HSTS (HTTP Strict Transport Security) 阻断了重定向。访客尝试访问一个预加载了 HSTS 的域名(通过 HTTPS),而无线网关尝试拦截该安全连接以重定向到门户。浏览器检测到证书不匹配并阻断了连接。网关必须配置为仅拦截未加密的 HTTP 探测。

Q3. 您最近在 Captive Portal 上启用了 Google 和 Microsoft Entra ID 社交登录选项。访客反馈说门户页面可以加载,但点击登录按钮会导致超时。而在 IT 部门不受限制的员工网络上测试时,该门户工作完全正常。缺失了什么配置?

提示:考虑认证完成前访客网络的设备网络状态。

查看标准答案

Walled Garden(认证前访问控制列表)不完整。Google 和 Microsoft Entra ID 所使用的 OAuth 认证域名和 CDN 尚未被加入白名单。因为访客尚未通过认证,网关阻断了对这些外部域名的访问,导致社交登录过程超时。IT 团队必须将这些身份提供商的通配符条目添加到 Walled Garden 中。

常见问题

Why does public WiFi fail to redirect to the splash login page?

Public WiFi fails to redirect when the wireless controller or gateway cannot intercept cleartext HTTP requests (TCP port 80), when upstream firewalls drop DNS queries for captive portal probe URLs (such as captive.apple.com or connectivitycheck.gstatic.com), or when modern client browsers enforce HSTS on HTTPS requests before authentication. Allowing pre-authentication DNS and redirecting HTTP traffic resolves the issue.

How do client operating systems detect public WiFi captive portals?

Upon connecting to an open or public WiFi network, iOS fires HTTP requests via Captive Network Assistant (CNA) to captive.apple.com/hotspot-detect.html, Android queries connectivitycheck.gstatic.com/generate_204 via CaptivePortalLogin, and Windows probes msftconnecttest.com/connecttest.txt via NCSI. If the network returns an HTTP 302 redirect, the operating system launches the captive portal webview. If the probe domain fails to resolve or times out, the device marks the connection as having no internet.

Why do users see SSL certificate or HSTS warnings on public WiFi?

When an access point or gateway intercepts encrypted HTTPS requests (port 443) and presents its own self-signed or vendor certificate to force a splash page on public WiFi, modern web browsers detect a domain mismatch and block the connection with an HSTS or untrusted certificate error. Public WiFi networks should only intercept cleartext HTTP port 80 requests or implement RFC 8910 DHCP Option 114 to cleanly announce the portal URL.

What causes public WiFi captive portals to loop back to the login page?

Infinite login loops occur when the wireless access point or controller fails to receive or process the RADIUS Access-Accept packet or RFC 5176 Change of Authorization (CoA) disconnect/re-authenticate message on UDP port 3799. As a result, the controller maintains the client device in the pre-authentication walled garden role despite successful submission of guest credentials on the public WiFi network.

How does Purple eliminate public WiFi splash page redirection failures?

Purple operates as a cloud-delivered, hardware-agnostic guest WiFi management platform across Cisco Meraki, HPE Aruba, Ruckus, Ubiquiti UniFi, and Fortinet architectures. By optimizing captive portal redirection flows, automating walled garden rules, and integrating with high-speed Anycast DNS, Purple ensures detection probes succeed instantly, onboarding visitors in under 3 seconds without connection drops.

对您的具体配置有疑问吗?

我们的团队与 80,000 多个场所的运营方、IT 经理和网络工程师保持合作。预约 20 分钟的通话,我们将为您展示同行是如何解决类似问题的。