• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

HCL Server2 Web配置RADIUS用户未同步至FreeRADIUS运行用户库

11小时前提问
  • 0关注
  • 0收藏,41浏览
粉丝:0人 关注:0人

问题描述:

 

1. 问题概述

在HCL环境中使用Server2内置RADIUS服务器进行802.1X EAP-MD5认证时,Web页面配置的用户名、密码、RADIUS客户端地址及共享密钥均正确,但认证始终失败。

抓包显示认证流程能够正常进入EAP-MD5 Challenge阶段,最终由RADIUS服务器返回Access-Reject。进一步通过radiusd -X调试确认,FreeRADIUS未取得用户的Cleartext-Password

2. 环境信息

地址规划:

设备/接口 地址 用途
S6850 Vlan-interface10 192.168.56.2/24 RADIUS报文源地址/NAS地址
Server2 br-lan 192.168.56.4/24 RADIUS服务器
Server2 eth2 10.100.0.10/24 802.1X客户端

认证信息:

802.1X用户名:lixiang 802.1X密码:123456 NAS地址:192.168.56.2 NAS共享密钥:lixiang

3. 组网

Server2同时作为802.1X客户端和RADIUS服务器,但两个功能分别使用eth2br-lan,通信路径相互独立。

4. 交换机关键配置

radius scheme winradius primary authentication 192.168.56.4 1812 key authentication simple lixiang nas-ip 192.168.56.2 user-name-format without-domain domain dot1x authentication lan-access radius-scheme winradius authorization lan-access radius-scheme winradius accounting lan-access none dot1x dot1x authentication-method eap interface GigabitEthernet1/0/1 port link-mode bridge port access vlan 100 dot1x dot1x mandatory-domain dot1x interface GigabitEthernet1/0/24 port link-mode bridge port access vlan 10 interface Vlan-interface10 ip address 192.168.56.2 255.255.255.0

5. Server2 Web配置

RADIUS用户配置:

用户名:lixiang 密码:123456

RADIUS客户端配置:

名称:S6850 IP地址:192.168.56.2 共享密钥:lixiang

802.1X客户端配置:

用户名:lixiang 密码:123456 接口:eth2 EAP类型:MD5

所有页面均已执行“保存并应用”。

6. 故障现象

客户端侧EAPOL抓包:

EAPOL Start EAP Request/Identity EAP Response/Identity EAP Request/MD5-Challenge EAP Response/MD5-Challenge EAP Failure

RADIUS侧抓包:

Access-Request Access-Challenge Access-Request Access-Reject

说明客户端、交换机和RADIUS服务器之间的双向通信均正常,故障发生在RADIUS服务器校验EAP-MD5响应阶段。

7. 报文校验结果

同一轮认证中,Access-Challenge与后续Access-Request携带的State完全一致:

384e7185384c75a62632f4f54f566216

因此可以排除交换机未回送State或RADIUS会话关联失败。

客户端EAP-MD5报文示例:

EAP Identifier:2 Challenge:e72e861106b4b50c349a794703e73adf 客户端响应:d8cd42dd6fd1c087d380d570bf95c6c0

按照EAP-MD5公式:

MD5( 0x02 + "123456" + e72e861106b4b50c349a794703e73adf )

计算结果为:

d8cd42dd6fd1c087d380d570bf95c6c0

与客户端报文完全一致,证明客户端使用的密码及MD5计算结果正确。

8. Web配置及UCI配置检查

Server2执行:

uci show radius

输出:

radius.@user[0]=user radius.@user[0].username='lixiang' radius.@user[0].password='123456' radius.@client[0]=client radius.@client[0].name='S6850' radius.@client[0].ipaddr='192.168.56.2' radius.@client[0].secret='lixiang'

/etc/config/radius内容:

config user option username 'lixiang' option password '123456' config client option name 'S6850' option ipaddr '192.168.56.2' option secret 'lixiang'

说明Web页面已经正确写入UCI配置。

9. FreeRADIUS调试结果

使用以下命令启动调试:

radiusd -X

首个Access-Request能够正常进入EAP模块,服务器返回MD5 Challenge:

eap: Peer sent packet with method EAP Identity (1) eap_md5: Issuing MD5 Challenge eap: Sending EAP Request (code 1) ID 2 length 22

收到客户端MD5响应后,调试日志显示:

files: users: Matched entry DEFAULT at line 167

随后出现明确错误:

eap_md5: ERROR: Cleartext-Password is required for EAP-MD5 authentication eap: ERROR: Failed continuing EAP MD5 (4) session eap: Sending EAP Failure Failed to authenticate the user

FreeRADIUS实际使用的用户文件为:

/etc/freeradius3/mods-config/files/authorize

该文件中没有由Web配置生成的lixiang用户记录。因此FreeRADIUS只匹配到DEFAULT规则,控制列表中不存在Cleartext-Password,无法校验EAP-MD5响应。

10. 初步根因

HCL Server2的RADIUS Web配置存在配置同步问题:

Web页面 ↓ /etc/config/radius 已正确写入用户 ↓ FreeRADIUS authorize文件 未生成对应用户记录 ↓ radiusd运行配置 无Cleartext-Password ↓ EAP-MD5校验失败 ↓ Access-Reject / EAP Failure

RADIUS客户端配置能够正常生效,radiusd -XC可以识别:

client S6850 { ipaddr = 192.168.56.2 }

问题主要集中在Web用户配置到FreeRADIUS用户文件的同步环节。

11. 临时规避方案

在FreeRADIUS实际用户文件中手工增加:

文件:

/etc/freeradius3/mods-config/files/authorize

内容:

lixiang Cleartext-Password := "123456"

注意该行必须从行首开始,不能包含前导空格、Tab或注释符号#

配置检查:

radiusd -XC

检查通过后重启服务:

/etc/init.d/radiusd restart

并确认UDP 1812恢复监听:

netstat -unlp | grep ':1812'

然后成功解决。

12. 排查建议

建议重点检查以下环节:

  1. Server2 Web页面“保存并应用”后,是否调用了RADIUS用户配置生成脚本。

  2. /etc/config/radius中的config user是否应转换到:
    /etc/freeradius3/mods-config/files/authorize

  3. 生成的用户记录是否应使用:

username Cleartext-Password := "password"
  1. 用户新增、修改或删除后,是否自动执行配置校验及radiusd重载。

  2. 用户文件生成失败时,Web页面是否应显示明确错误。

  3. 重启radiusd前是否应先执行radiusd -XC,避免错误配置导致UDP 1812停止监听。

  4. 多台Server2共存时,Web管理入口、IP地址和配置实例是否存在相互覆盖问题。

13. 当前结论

客户端、交换机、RADIUS网络、共享密钥、EAP Identifier、EAP-MD5摘要及State传递均已验证正常。

当前故障已定位到:Server2 Web页面中的RADIUS用户配置未同步到FreeRADIUS实际使用的authorize文件,导致EAP-MD5认证时缺少Cleartext-Password并返回Access-Reject。

当前状态:根因已定位,手工写入authorize文件的规避方案确认可行。

2 个回答
粉丝:99人 关注:0人

您好,参考

  1. 现象:HCL Server2 内置 RADIUS 做 802.1X EAP‑MD5 认证,Web/UCI 用户名、密码、NAS 客户端、共享密钥配置全部正确;报文交互完整走到 MD5‑Challenge 阶段,最终返回 Access‑Reject;客户端 MD5 摘要计算正确,State 会话标识正常,网络连通无异常。
  2. 根因:Server2 Web 保存应用后,用户配置写入/etc/config/radius但没有自动同步生成到 FreeRADIUS 真正加载的 authorize 用户文件。FreeRADIUS 仅匹配 DEFAULT 规则,拿不到Cleartext‑Password,EAP‑MD5 校验直接失败。RADIUS 客户端配置同步正常,仅用户条目同步失效。
  3. 临时规避:手动在/etc/freeradius3/mods‑config/files/authorize写入用户lixiang Cleartext‑Password := "123456",执行配置校验、重启 radiusd 服务,认证恢复正常。
  4. 待排查点:Web “保存并应用” 的配置转换脚本异常,UCI 用户数据没有自动输出为 freeradius 用户条目;无报错提示,容易误导排查方向。
  5. 排除项:交换机 802.1X 与 radius 方案配置、网络路由、共享密钥、EAP 报文、State 会话关联、客户端密码均无问题。

暂无评论

粉丝:31人 关注:1人

针对此问题,我有以下几点补充建议,或许能帮助您从根本上解决或规避该同步缺陷:


1. 定位Web后端同步脚本

  • 检查Web界面(如LuCI或自定义管理页面)中“保存并应用”调用的具体UCI回调或自定义脚本。通常这类软件会在/usr/lib/lua/luci//etc/init.d/下放置触发器。

  • 确认是否有一个负责从/etc/config/radius读取config user并生成/etc/freeradius3/mods-config/files/authorize的脚本。如果缺失,建议编写一个简单的Shell脚本,例如:

    bash
    #!/bin/sh uci show radius | grep '@user' | while read line; do username=$(echo $line | cut -d"'" -f2) password=$(echo $line | cut -d"'" -f4) echo "$username Cleartext-Password := \"$password\"" >> /etc/freeradius3/mods-config/files/authorize.tmp done mv /etc/freeradius3/mods-config/files/authorize.tmp /etc/freeradius3/mods-config/files/authorize radiusd -XC && /etc/init.d/radiusd restart

    并在每次Web修改后触发执行。

2. 改用其他用户认证后端

  • FreeRADIUS本身支持多种认证后端(如SQL、LDAP)。如果环境允许,可以配置使用SQLite或MySQL存储用户,这样Web直接写入数据库,FreeRADIUS通过mods-available/sql实时查询,彻底规避文件同步问题。这更适合多用户场景。

3. 监控文件变化并自动热加载

  • 使用inotifywait监控/etc/config/radius的修改,触发上述生成脚本。或者配置FreeRADIUS的files模块,设置update = yes并定期重读文件(但需要重启或触发HUP信号),但更推荐用脚本+重启服务。

4. 检查多实例冲突

  • 文档提到“多台Server2共存”,请确保Web管理入口绑定的IP地址或端口唯一,且FreeRADIUS只监听对应接口的UDP 1812,避免配置实例相互覆盖。

5. 扩展认证日志

  • radiusd -X调试时,可增加-d指定配置目录,确保加载的是预期的mods-config/files/authorize。另外,可在mods-config/files/authorize文件开头增加DEFAULT规则前的Auth-Type := Accept等测试条目,辅助判断文件是否被正确加载。

6. 关于文档中的State一致性验证

  • 您已通过Wireshark确认State回传正确,这点很重要,说明交换机行为正常。后续如遇到类似问题,可优先检查FreeRADIUS内部用户的Cleartext-Password属性,无需重复排查网络。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明