H3C WX2540H AC 配置 CMCC V2 Portal 认证 + Radius 认证。HTTP 重定向到 Portal 登录页正常,但 Portal 服务器发送 REQ_AUTH(PAP 模式)到 AC 后,AC 回应 ACK_AUTH errCode=1(报文附带文本"AC999")。AC 未向 Radius 服务器发送任何 Access-Request 报文。display portal user all 始终显示 0 个 Portal 用户。display radius statistics 确认 Radius 报文计数为 0。Portal 密钥已验证匹配(AC 回应而非静默丢弃报文)。
WX2540H CMCC Portal 返回 errCode=1 AC999、不发 Radius 报文完整故障定位修复
一、故障核心结论
errCode=1 代表 AC 校验 Portal 上报用户信息失败,直接拒绝本次认证流程,不会下发 Radius Access-Request,所以display radius statistics计数始终为 0;
附带标识AC999是 Comware7 CMCC Portal 协议内部通用域 / 用户上下文校验失败标识;
同步现象:Portal 服务器REQ_INFO注册报文 AC 无响应,是同一套 Portal 上下文初始化失败导致连锁问题;
密钥匹配、页面重定向正常,仅认证交互失败,排除基础互通,问题集中在Portal 域绑定、CMCC 协议参数、无线上下文、NAS 源 IP、免认证规则、全局开关六大类配置缺陷。
二、故障根因分层排查(按出现概率从高到低)
根因 1:无线服务模板 Portal 域绑定失效 / 缺少portal apply web-server(最高概率)
你当前配置片段缺失关键绑定命令,CMCC V2 Portal 必须同时绑定 Portal 服务器实例,否则 AC 收到 REQ_AUTH 后无法匹配域上下文,直接返回 errCode=1。
错误配置(你现有)
plaintext
wlan service-template wsedu crypto
ssid wsedu
vlan 18
portal enable method direct
portal domain portal_dm
client forwarding-location ac
缺失关键命令(必须补充)
plaintext
# 绑定CMCC Portal服务器实例,建立无线与Portal服务关联
portal apply web-server wsedu-portal
补充后 AC 才能把无线用户、Portal 服务器、认证域三者绑定,正常触发 AAA 转发 Radius。
根因 2:CMCC Portal 服务器未配置动态授权(radius dynamic-author)
第三方 ToughRADIUS 对接 CMCC Portal 必须开启 DAS 动态授权,否则 AC 无法建立用户会话上下文,认证直接阻断。
plaintext
# 全局开启动态授权服务
radius dynamic-author server
# 增加ToughRADIUS服务器为DAS客户端,密钥与Radius一致
radius dynamic-author client ip 10.129.24.7 key simple 你的radius密钥
缺少此配置会导致 Portal 注册 REQ_INFO 报文无应答、认证直接拒绝。
根因 3:认证域仅配置 portal 认证,缺少无线用户匹配前置条件
CMCC direct Portal 用户的 AAA 流程必须完整三行,且不能混用 lan-access;同时确认全局 ISP 域匹配。
plaintext
domain portal_dm
authentication portal radius-scheme h3c-wx2540h-radius
authorization portal radius-scheme h3c-wx2540h-radius
accounting portal radius-scheme h3c-wx2540h-radius
# 补充:强制剥离用户名后缀(ToughRADIUS无域名)
authorization-attribute user-name-format without-domain
根因 4:Portal 免认证规则不完整,缺少用户网关 / 客户端网段放行
仅放行 Portal 服务器、DNS/DHCP 不够,终端 VLAN18 网段的客户端报文在未认证阶段会被 ACL 丢弃,导致 Portal 上下文创建失败:
plaintext
# 放行VLAN18全部客户端网段(10.239.103.0/24)
portal free-rule 2 source ip 10.239.103.0 0.0.0.255
# 原有放行规则保留
portal free-rule 0 destination ip any udp 53
portal free-rule 1 destination ip any tcp 80
portal free-rule 3 destination ip 10.129.24.7 0
根因 5:Radius 方案 NAS-IP 与 Portal 监听接口 IP 不匹配
你的 Radius nas-ip 配置10.129.24.4(VLAN1 地址,AC 上联三层口),但无线用户网关是 VLAN18 10.239.103.4。
CMCC Portal 协议要求 NAS-IP 必须为用户接入 VLAN 三层接口 IP,否则 Radius 报文 NAS 标识不匹配,AC 直接放弃发送 Radius 请求。
修复 Radius 方案:
plaintext
radius scheme h3c-wx2540h-radius
nas-ip 10.239.103.4 # 修改为用户VLAN18网关IP
根因 6:缺少无线 Portal 用户有效性校验开关(集中转发必配)
client forwarding-location ac集中转发场景,必须开启无线终端合法性校验,否则 AC 无法识别无线 STA MAC,Portal 认证上下文校验失败返回 errCode=1:
plaintext
system-view
portal wlan-client-validity-check enable
根因 7:Portal Web 服务器与 Portal 服务器 type 混用冲突
你配置两套 portal 实例:
portal server wsedu-portal type cmcc(UDP50100 CMCC 协议交互)
portal web-server wsedu-portal type imc(HTTP 跳转页面)
二者命名重名会造成内部表项冲突,修改 web-server 名称区分:
plaintext
# 修改Web服务器名称,与UDP portal服务区分
portal web-server wsedu-web
url http://10.129.24.7/portal/login.php
server-type imc
# 无线模板内绑定新web服务
wlan service-template wsedu
portal apply web-server wsedu-web
根因 8:全局 Portal 基础开关缺失
plaintext
system-view
# 全局开启Portal功能(老旧版本容易遗漏)
portal enable
# 开启Portal错误记录,方便debug定位
portal auth-error-record enable
三、完整修正后标准配置(可直接覆盖替换)
plaintext
system-view
# 全局基础开关
portal enable
portal wlan-client-validity-check enable
radius dynamic-author server
radius dynamic-author client ip 10.129.24.7 key simple 你的radius密钥
# 1. Radius方案(修正nas-ip为用户VLAN网关)
radius scheme h3c-wx2540h-radius
primary authentication 10.129.24.7 1812
primary accounting 10.129.24.7 1813
key authentication simple 你的radius密钥
key accounting simple 你的radius密钥
nas-ip 10.239.103.4
user-name-format without-domain
# 2. CMCC V2 UDP Portal服务器(认证报文交互)
portal server wsedu-portal
ip 10.129.24.7
port 50100
key simple ruijie_portal_2026
server-type cmcc
# 3. Portal Web跳转服务器(改名避免冲突)
portal web-server wsedu-web
url http://10.129.24.7/portal/login.php
server-type imc
# 4. 认证域完整Portal三AAA
domain portal_dm
authentication portal radius-scheme h3c-wx2540h-radius
authorization portal radius-scheme h3c-wx2540h-radius
accounting portal radius-scheme h3c-wx2540h-radius
authorization-attribute user-name-format without-domain
# 5. 免认证规则(补充客户端网段放行)
portal free-rule 0 destination ip any udp 53
portal free-rule 1 destination ip any tcp 80
portal free-rule 2 source ip 10.239.103.0 0.0.0.255
portal free-rule 3 destination ip 10.129.24.7 0
# 6. 无线服务模板(补充portal apply web-server关键命令)
wlan service-template wsedu crypto
ssid wsedu
vlan 18
portal enable method direct
portal domain portal_dm
portal apply web-server wsedu-web
client forwarding-location ac
akm open
# AP射频绑定省略
四、Debug 定位验证步骤(配置修改后抓日志确认)
1. 开启 Portal 调试
plaintext
terminal monitor
terminal debugging
debugging portal all packet
正常流程日志特征:
收到 Portal REQ_INFO 注册报文,AC 回复ACK_INFO(解决注册超时);
用户提交账号后收到REQ_AUTH;
AC 内部校验域 / 用户上下文无报错,输出Start to send Radius Access-Request;
向 10.129.24.7:1812 发送 Radius 报文,display radius statistics计数 + 1。
2. 关键查看命令
plaintext
# 查看Portal服务器、web-server绑定状态
display portal server
display portal web-server
# 查看Portal认证错误记录,定位errCode=1详细原因
display portal auth-error-record
# 查看Radius报文收发计数,确认是否发起认证
display radius statistics scheme h3c-wx2540h-radius
# 查看无线模板Portal完整配置
display current-configuration wlan service-template wsedu
五、故障逻辑总结
errCode=1 AC999 = AC 内部 Portal 上下文校验失败,直接终止认证,不会发送任何 Radius 报文;
最核心缺失配置:无线模板portal apply web-server、开启radius dynamic-author、修正 Radius nas-ip 为用户 VLAN 网关;
次要冲突点:Portal web-server 与 UDP portal-server 同名、缺少无线用户校验开关、免认证规则未放行客户端网段;
修复顺序:先补全缺失配置 → 重启无线服务模板 → 抓 Portal debug 报文验证 REQ_INFO 正常应答、REQ_AUTH 正常转发 Radius。
暂无评论
根据你的描述,ACK_AUTH errCode=1 并附带 "AC999",且AC没有向RADIUS服务器发送认证请求,问题基本可以定位在AC本地的终端信息学习上。
这个错误码 AC999 是AC定义的内部错误码,它的标准含义是:AC设备没有学习到终端的ARP(地址解析协议)信息。
正常流程:Portal服务器将终端认证请求发给AC后,AC需要先确认这个终端是否存在且可达。
你的问题:AC在自己的ARP表中找不到这个终端,所以直接拒绝了Portal服务器的请求,并返回 errCode=1(AC999)。因为AC在本地就判定失败了,所以根本没有走到向RADIUS服务器发起认证请求的那一步。
问题的核心在于如何让AC能正确学习到终端的ARP信息。请按照以下步骤操作:
这是最直接的解决方法。在AC的系统视图下执行以下命令:
这条命令强制AC通过ARP Snooping和DHCP Snooping来学习终端信息。
为了配合 wlan host-check enable 功能正常工作,需要确保以下两个功能已开启:
开启ARP Snooping:在系统视图下执行。
开启DHCP Snooping:在系统视图下执行,并确保连接终端的VLAN开启了该功能。
根据经验案例,如果AC回复 AC999,也可能是Portal服务器无法正确识别AC设备。需要检查AC上的Portal Web服务器配置中是否正确携带了nas-ip参数。
这能确保Portal服务器知道认证请求来自哪台AC,并正确回应。
确保终端正确获取了IP地址,并且该IP地址与AC上的ARP表项一致。如果终端获取到的是169.254.x.x这类无效地址,AC自然无法学习到正确的ARP信息。
Portal服务器类型:确认AC上配置的 type 与实际Portal服务器类型一致。你使用的是ToughRADIUS,type 配置为 CMCC 一般没问题,但值得再次确认。
BAS-IP:再次确认AC与Portal服务器上配置的BAS-IP(即AC的NAS-IP)是否一致。
完成以上配置后,可以通过以下命令验证:
display arp-snooping:查看AC通过ARP Snooping学习到的终端信息。
display dhcp snooping binding:查看AC通过DHCP Snooping学习到的终端绑定信息。
display wlan host-check all:查看AC学习到的所有终端信息。
debugging portal all 和 debugging radius all:开启调试信息,观察AC收到认证请求后的详细处理流程。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论