Portal 不弹窗的三类情况
连上访客 Wi-Fi 后认证页面没出现,先分成三类:完全没有跳转、跳转但页面打不开、只有部分终端不弹。三类的根因不同——第一类多半是重定向或探测机制没生效,第二类是 Portal 服务器或 DNS 不可达,第三类通常是终端侧的缓存或浏览器拦截。先归类再排查,能少走很多弯路。
分类与抓手
| 无跳转 | 终端未触发 Captive Portal 检测,可手动访问 http 站点验证 |
|---|---|
| 跳转但打不开 | Portal 服务器不可达、DNS 解析错误、证书不受信 |
| 仅部分终端 | 终端缓存了「已联网」的探测结果,或浏览器拦截了弹窗 |
| 强制触发 | 访问任意 http 站点,观察是否被 302 到 Portal 地址 |
| 验证前提 | 一定用明文 HTTP 测试,HTTPS 站点不会被重定向 |
四步定位
四步定位
# 1. 手动访问任意 http 页面,看是否被 302 到 Portal
curl -I http://example.com
# 2. 直连 Portal 服务器,确认可达与证书有效
curl -I https://portal.example.com
# 3. 检查 DNS 能否解析 Portal 域名
nslookup portal.example.com
# 4. 换一台从未连过的设备复测,区分个体与群体问题现象与下一步
| 现象 | 可能原因 | 下一步 |
|---|---|---|
| 完全没有跳转 | 拦截重定向规则未生效 | 查 AP 或控制器的拦截策略 |
| 跳转但打不开 | Portal 服务、DNS 或证书问题 | 直连 Portal 地址并做解析测试 |
| 部分终端不弹 | 探测缓存或浏览器弹窗拦截 | 清除浏览器数据或忘记网络重连 |
| 只在 HTTPS 下不弹 | 明文重定向未被触发 | 用 http 站点复测 |
| 认证后立即失效 | 会话状态与计时器 | 查会话超时与并发限制 |
iOS 与 Android 的 Captive Portal 探测会访问特定域名。可在网关侧确认这些探测请求是否被正确拦截并重定向;探测未被拦截时,系统会认为已经联网,于是不弹窗。
不要为了排查方便把访客网络的隔离与限速整段关闭:那会同时打开对内网的访问面,而且排查结束后极易忘记恢复,留下长期安全缺口。