公共 Wi-Fi 网络(如机场、咖啡馆和酒店)使用强制门户(Captive portals)来让用户同意其服务条款或在允许访问互联网之前提供付款。当用户连接到 Wi-Fi 时,强制门户会阻止所有 HTTPS 流量,直到用户在浏览器中完成强制门户登录流程。这会阻止 Cloudflare One Client(前称 WARP)连接到 Cloudflare。与此同时,Cloudflare One Client 会在设备上创建 防火墙规则,将所有流量发送到 Cloudflare。因此,除非暂时断开 Cloudflare One Client,否则用户无法访问强制门户的登录屏幕。
要允许用户通过强制门户进行连接,管理员可以配置以下设备客户端设置:
- 启用 强制门户检测(Captive portal detection)。这允许 Cloudflare One Client 在网络上检测到强制门户时临时断开连接。有关更多详细信息,请参阅 强制门户检测的工作原理 及其 限制。
- 将 设备隧道协议(Device tunnel protocol) 设置为 MASQUE。使用 MASQUE 时,客户端流量看起来像标准 HTTPS 流量,因此不易被强制门户阻止。
- 启用 锁定设备客户端开关(Lock device client switch) 并启用 允许管理员覆盖码(Allow admin override codes)。用户可以联系 IT 管理员获取一次性代码,以便他们手动断开 Cloudflare One Client 并连接到门户。
- 对于需要出差的员工,禁用 锁定设备客户端开关(Lock device client switch) 并设置 自动连接(Auto connect) 时长。这允许用户手动断开 Cloudflare One Client,而无需联系 IT。
如果 Cloudflare One Client 无法建立与 Cloudflare 的连接,它将:
-
启动强制门户计时器。
-
向 Cloudflare 强制门户 URL 以及其他特定于操作系统和浏览器的强制门户 URL 发送一系列请求。这些请求是在 WARP 隧道外部发送的。
-
如果请求被拦截,Cloudflare One Client 会假定网络处于强制门户后,并完全打开 系统防火墙。当防火墙打开时,所有设备流量都将绕过 Cloudflare One Client。
-
在用户成功连接到门户或超时期限到期后,重新启用防火墙。
- 由于 强制门户检测的工作原理,员工可能会伪造强制门户以断开 Cloudflare One Client。
- 某些强制门户(尤其是航空公司上的门户)可能响应缓慢并超出强制门户检测超时时间。用户在尝试连接时可能会看到 CF_CAPTIVE_PORTAL_TIMED_OUT 错误。有关导致这些错误的步骤的背景信息,请参阅 连接状态。
- Cloudflare One Client 可能无法检测多阶段强制门户,此类门户在登录过程中会将用户重定向到不同的网络。用户需要手动断开 Cloudflare One Client 才能通过强制门户。
- 某些公共 Wi-Fi 网络与运行 Cloudflare One Client 不兼容:
- 拦截所有 DNS 流量的强制门户将阻止 Cloudflare One Client 的 DoH 连接。用户在登录到强制门户后可能会看到 CF_NO_NETWORK 错误。
- 仅允许 HTTPS 流量的强制门户将阻止 Cloudflare One Client 的 Wireguard UDP 连接。用户在登录到强制门户后可能会看到 CF_HAPPY_EYEBALLS_MITM_FAILURE 错误。
功能可用性
| 客户端模式 | Zero Trust 计划 ↗ |
|---|---|
| 所有模式 | 所有计划 |
| 系统 | 可用性 | 最低客户端版本 |
|---|---|---|
| Windows | ✅ | 2025.4.589.1 |
| macOS | ✅ | 2025.4.589.1 |
| Linux | ❌ | |
| iOS | ❌ | |
| Android | ❌ | |
| ChromeOS | ❌ |
Cloudflare 支持团队使用强制门户日志来排查 Cloudflare One Client 强制门户问题。当终端用户报告强制门户问题时,IT 管理员可以要求用户在其设备上收集强制门户日志。然后,管理员可以将该日志附加到 Cloudflare 支持工单中。
要获取强制门户日志:
-
打开终端窗口。
-
运行以下命令:
warp-diag captive-portal -
当收到提示
You're currently connected via interface '<INTERFACE>' (<SSID>). Is this interface connected to the network causing issues?时,选择 **Yes(是)**进行确认。
- 打开 Cloudflare One Client。
- 转到 Settings(设置)(齿轮图标) > Preferences(偏好设置) > Advanced(高级)。
- 选择 Collect Captive Portal Diag(收集强制门户诊断)。
- Cloudflare One Client 将询问设备是否已连接(或正尝试连接)到导致问题的 Wi-Fi 网络。选择 **Yes(是)**进行确认。
诊断运行完成后,Cloudflare One Client 将在用户的桌面上生成一个 warp-captive-portal-diag-<date>-<time>.zip 文件。终端用户现在可以将此文件分享给其 IT 管理员。
- 连接状态 - 了解 Cloudflare One Client 在其连接过程中显示的各种状态消息,并理解在客户端建立连接至 Cloudflare 的安全隧道时的每个阶段。