本指南旨在为管理员提供一套系统化的排查流程,用于解决用户(员工、访客等)连接 Portal Wi-Fi 后,无法自动弹出认证页面、登录页面加载报错、或完成身份核验(账号登录/短信验证/扫码)后依然无法上网等问题。
Portal 认证的排查路径由以下四个逻辑阶段组成:
Portal 页面弹出的前提是终端与网络设备之间已建立基础的 IP 通信。在调整认证配置前,必须首先确认终端已完成预连接。
在开始 Portal 排查前,请确保终端已成功连接网络并获取合法身份,避免将底层网络问题误判为认证故障:
169.254.x.x),说明网络链路不通,Portal 认证流程将无法触发。Portal 弹窗的原理是:网络设备(AC)拦截终端发起的 HTTP 请求,并强制将其重定向至认证页面 URL。
http://1.1.1.1)进行手动访问,观察是否发生跳转。若手动访问能弹出页面而自动不弹,说明终端的探测机制(CNA)受阻。请确认网络设备(AC)的 Portal 白名单内已包含以下关键地址。若缺失,将导致重定向流程中断或页面加载失败:
若以上配置均正确但仍不弹窗,请检查是否存在以下环境干扰:
当终端成功触发重定向并打开 Portal 页面后,需重点排查“页面加载状态”与“身份凭证校验”两个环节。
若页面显示“获取配置失败,请刷新重试”,或后台返回代码 {"code":174003, "message":"无法匹配到当前AP"},说明飞连后台无法识别当前发起认证请求的网络设备。
apmac 参数与后台配置的设备 MAC 地址进行比对。
apmac 参数,且该参数的值是否与管理后台【网络设备】列表中录入的 MAC 地址完全一致。apmac 匹配逻辑。若 URL 中既有 ID 也有 apmac,系统将优先根据设备 ID 进行关联。用户在 Portal 页面输入的账号密码,需通过飞连后台的身份源校验。
当用户在 Portal 页面输入账号密码并点击“登录”后,浏览器会重定向至一个用于处理认证请求的地址(即“认证信息接收地址”)。通过识别这个地址的归属,您可以确定当前系统运行的模式,并选择后续的排查分支。
点击登录时,请密切观察浏览器地址栏变化,或通过浏览器的开发者工具(F12 - Network 标签页)查看请求的目标 URL。
http://[AC-IP]:8000/login 或 http://[AC-IP]/portal/logon.cgi,表示您的环境正在使用 AC 内置 Portal Server 认证方案,浏览器尝试将账密直接发往 AC。请直接进入 AC 内置 Portal 认证深度排查,重点核对各厂商特定的字段名称格式及 RADIUS 对接密钥。http://[飞连节点IP]:9100/login,表示您的环境正在使用飞连 Portal Server 认证方案,浏览器尝试将账密发往飞连服务器处理。请直接进入飞连 Portal Server 认证深度排查,重点检查 9100 端口存活状态、URL 中的 userip/nasip 参数以及 Portal 协议握手。无论属于哪种模式,如果点击登录后页面长时间无响应或显示“连接超时”,请执行以下排查:
telnet 或 tcping 工具探测目标地址的端口(AC 的 80/8000 端口或飞连的 9100 端口)是否处于开放状态。如果您在步骤三中确认浏览器跳转的地址是 AC 自身的 IP(如 8000 端口),请按照本路径进行深度排查。
AC 内置服务对表单提交的字段名(username/password)有严格固定要求。请检查飞连管理后台网络设备配置中的“认证用户名字段”和“认证密码字段”。必须与厂商要求(见下表)完全一致,大小写敏感。
厂商 | 认证信息接收地址示例 | 用户名字段名 | 密码字段名 |
|---|---|---|---|
华为 (Huawei) |
|
|
|
华三 (H3C) |
|
|
|
Aruba |
|
|
|
思科 (Cisco) |
|
|
|
ruckus |
|
|
|
AC 成功接收凭据后,会作为 RADIUS 客户端向飞连发起认证请求。若此时失败,通常体现为 RADIUS 端的拒绝。
radius.event.log 中观察到以下报错,说明对接存在问题:
client authentic failed:表示 RADIUS 共享密钥配置错误。get client err:表示飞连后台未正确录入该 AC 设备的 IP 地址。display portal user 检查该终端 MAC 是否已有残留会话。若存在残留,AC 可能会拒绝新的认证请求,需手动清除(cut portal user)后重试。如果您在步骤三中确认浏览器跳转的地址是飞连节点的 9100 端口,请按照本路径进行深度排查。
在此方案中,飞连 Portal 模块充当转发中间人,对 URL 参数有极高要求。
lsof -i:9100,核验 Portal 服务是否正常监听 9100 端口。
预期结果示例如下:
# 执行命令 root@radius-node:~# lsof -i:9100 # 预期输出示例 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME feilian-r [PID] root 25u IPv6 1234567 0t0 TCP *:9100 (LISTEN)
若无结果,说明 Portal 模块未启动。请在管理后台检查该节点的 Portal Server 实例是否已开启。
userip:AC 重定向时必须携带此参数。若缺失,Portal 模块无法定位发起请求的终端 IP,会返回错误 {"error":"portal http request do not contain arg userip"}。nasip:建议携带。若不携带,模块将尝试使用后台配置的默认 IP。若网络环境中存在多个 AC,缺失 nasip 可能导致认证指令发错对象。apmac:用于识别设备资产。如步骤二所述,这是匹配后台配置的前提。Portal 模块收到凭据后,会通过 UDP 2000 端口与 AC 进行“Portal 协议”握手。
说明
由于 Portal 协议为非 RFC 标准协议,Wireshark 默认无法解析报文详情。建议安装 Portal 协议解析插件以便观察 REQ_AUTH、ACK_AUTH 等具体字段。
观察报文流向:
REQ_AUTH(认证请求):Portal 模块 ➔ AC。若 AC 没收到或没反应,检查 AC 的 Portal 协议监听是否开启。ACCESS-REQUEST / ACCEPT):ACCESS-REQUEST,RADIUS 节点校验通过后返回 ACCESS-ACCEPT。只有收到此返回,AC 才会进行下一步。REQ_AUTH 却没有 ACCESS-REQUEST,说明 AC 的 RADIUS 服务器组或地址池配置有误,未触发认证。ACCESS-REJECT,AC 随后发送的 Portal 结果必为失败。请跳转至步骤五:RADIUS 认证结果与审计日志排查查看日志中的拒绝原因(如密码错误、权限不足)。ACK_AUTH(认证响应):AC ➔ Portal 模块。若返回的 ErrCode 不为 0,需根据 AC 的错误提示进行分析:
错误码 | 含义 | 排查方向 |
|---|---|---|
ErrCode=0 | 认证成功 | 流程已跑通。若仍无法上网,请跳至步骤六检查 RADIUS 的 ACL 或 VLAN 分配。 |
ErrCode=1 | 认证被拒绝 | AC 侧接收到了请求,但出于某种原因拒绝。请检查 AC 侧的 Portal 安全配置,或是否超过了最大连接数。 |
ErrCode=2 | 链接已建立 | 终端已存在残留会话。请参考步骤四,在 AC 命令行清理在线用户( |
ErrCode=3 | 正在认证中 | AC 正在处理该终端的并发请求。建议用户稍等片刻,避免连续频繁点击登录。 |
ErrCode=4 | 发生错误 | AC 系统内部错误或协议解析异常。请检查 AC 与飞连间的协议版本(Portal 1.0/2.0)是否匹配。 |
AFF_ACK_AUTH(确认应答):Portal 模块 ➔ AC。完成最后的三次握手确认。
若模块发出了请求但长时间未收到 AC 的回包:
tcpdump -i any port 2000 -v 观察。若只看到 REQ_AUTH 发出而无回包,说明报文在传输路径中被阻断,或 AC 未响应。在所有 Portal 协议握手完成后,AC 会向飞连后台发起标准的 RADIUS 请求。此时,您需要通过查看飞连管理后台的日志,确认最终的准入决策。
通过在 RADIUS 节点查看 RADIUS 认证日志和认证报文信息是否完整。在日志中找到 user conn report 记录,根据 connResult 的取值进行针对性排查:
connResult = 1(认证成功)
飞连认证流程已结束。若此时终端仍无法上网,请按序排查:
connResult = 2(认证失败)
流程因错误中断。请对照下表进行处理。
报错类型 (Log Message) | 日志解释与对策 |
|---|---|
| RADIUS 未获取到 AC 设备。检查后台配置的设备 IP 是否正确。 |
| 共享密钥错误。检查 AC 与后台配置的 RADIUS Secret 是否一致。 |
| 共享密钥错误导致的消息校验失败。 |
| 解析包失败。报文格式异常。 |
| 拉取配置时返回的 JSON 解析失败。系统内部配置异常。 |
| 权限拦截。该用户无权限或已被禁用。 |
| 收到重复请求。通常由于 RADIUS 未能在时间内回包,需检查网络延迟。 |
| CHAP 认证密码错误。 |
| 请求后台 API 接口失败。检查节点间网络通信。 |
| TLS 握手失败。多为证书错误(如 Windows 泛域名或自签证书问题)。 |
| 报文非 EAP 类型。若误选了 802.1X 认证,请检查配置。 |
| 802.1X 认证输入的密码错误(仅在兼容 802.1X 时出现)。 |
connResult = 3(认证降级)
认证未完全成功,触发了限制性策略。请前往检查飞连管理后台动态控制 > 控制策略,检查是否因命中控制策略(例如杀毒软件未开启等终端合规性检查)而导致降级。
如果已完成上述所有排查步骤但问题仍未解决,请准备以下信息并联系飞连技术支持团队,以便我们高效地为您定位问题。
/var/log/feilian/radius.event.log。pcap 格式抓包文件。为了规避潜在的认证故障,建议在部署及维护阶段重点落实以下预防工作:
REQ_AUTH、ACCESS-REQUEST 等关键报文的往返情况。