命令行使用radius认证登录正常,但是图形化登录报用户不存在
设备版本:
<AC>dis version
H3C Comware Platform Software
Comware Software, Version 5.20, Release 2609P73
Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved.
H3C WX5540E uptime is 3 weeks, 4 days, 19 hours, 38 minutes
H3C WX5540E with 1 RMI XLP 432 1400MHz Processor
8192M bytes DDR3
16M bytes Flash Memory
4002M bytes CFCard Memory
Hardware Version is Ver.B
FPGA1 Hardware Version is Ver.A
FPGA2 Hardware Version is Ver.A
CPLD 1 CPLD Version is 006
CPLD 2 CPLD Version is 004
FPGA1 Logic Version is 323
FPGA2 Logic Version is 323
Basic Bootrom Version is 1.12
Extend Bootrom Version is 1.13
[Slot 0]WX5540ELSW Hardware Version is NA
[Slot 1]WX5540ERPU Hardware Version is Ver.B
---------------raadius配置---------------------
radius scheme radius
primary authentication 10.2.4.18 key cipher $c$3$lSZYV3aD8J6nCRK2imRjHJJbO5pGsl9ucJwodUI=
nas-ip 10.254.0.252
#
domain ***.***
authentication login radius-scheme radius local
authorization login radius-scheme radius local
accounting login none
access-limit disable
state active
idle-cut disable
self-service-url disable
你这个问题是典型的CLI 和 Web 的 AAA 域不匹配导致的:命令行走的是正确的 Radius 域,而 Web 登录时没有正确绑定域,导致系统找不到用户。
一、问题根因
CLI 登录正常:说明你的 radius scheme 和 domain 配置是对的,Radius 服务器也正常响应。
Web 登录报 “用户不存在”:Web 界面登录默认走的是system域,而你的 Radius 用户可能只在自定义域里配置了,system域没绑定 Radius 方案,或者 Web 登录没指定正确的域。
二、解决步骤(按顺序操作)
步骤 1:确认当前域配置
先确认你的域配置和默认域设置:
bash
运行
display domain
display domain default enable
你看到的结果大概率是:
domain default enable system(默认域是 system)
你自定义的域(比如你的domain ***.***)只在vty/console 下生效,Web 没用到。
步骤 2:让 Web 登录也走 Radius 域
方案 A:把 Web 登录绑定到你的 Radius 域(推荐)
修改 Web 登录的认证域,让它直接用你配置好的 Radius 域:
bash
运行
# 1. 进入系统视图
system-view
# 2. 配置Web登录使用的域(替换为你的域名)
web authentication domain ***.***
保存配置后,重新登录 Web,使用 Radius 账号即可正常登录。
方案 B:直接修改系统默认域为你的 Radius 域(需谨慎)
如果想让所有登录方式(CLI/Web)都默认走你的 Radius 域:
bash
运行
system-view
domain default enable ***.***
⚠️ 注意:修改后 CLI 登录也会默认走 Radius,Radius 故障时会无法登录,建议同时保留本地用户作为兜底。
步骤 3:验证 Web 登录的 AAA 配置
修改后,用下面的命令确认配置生效:
bash
运行
display web domain
输出应显示你的自定义域名。
步骤 4:兜底检查(如果上面还不行)
检查 Radius 服务器是否允许 Web 登录:部分 Radius 服务器会区分 “设备管理登录” 和 “用户上网认证”,需要在服务器侧给该账号开启设备管理权限。
检查 NAS-IP 是否正确:你配置的nas-ip 10.254.0.252必须是 Radius 服务器上配置的 AC 管理 IP,且和 Web 登录时设备的源 IP 一致。
检查 Web 服务是否开启:确认设备上的 http/https 服务正常:
bash
运行
display ip http server
display ip https server
三、一句话总结
你现在的问题是Web 登录默认用的是system域,没绑定 Radius,而 CLI 用的是正确的自定义域。用web authentication domain把 Web 登录指定到你的 Radius 域,就能解决 “用户不存在” 的报错。
web authentication domain 没有这个命令
用户名@域名(例如 admin@***.***),或者设备默认带上了域名。但在 Web 登录界面,很多用户只会输入纯用户名(例如 admin)。admin@***.***),而 Web 登录时只发了 admin,服务器就会报“用户不存在”。用户名@***.*** 进行登录。1radius scheme radius
2 user-name-format with-domain # 强制发送带域名的用户名给服务器without-domain,即如果用户登录时没输域名,设备就不发给服务器。)Service-Type 属性(通常值为 HTTP 或 NAS-Prompt),而命令行登录通常是 Login 或 Exec。如果 RADIUS 服务器(如 Windows NPS、FreeRADIUS)的策略中没有放行或正确识别 Web 的 Service-Type,就会导致认证失败。Service-Type 是什么,并确保服务器的网络策略允许该类型的接入。1radius scheme radius
2 attribute 15 check-mode loose # 15号属性即Service-Type,改为宽松检查25506H3C-Service-Type (或 Service-Type) = HTTP (或对应的数值,如 53)H3C-AV-Pair (属性号 210) = shell:roles="network-admin" (如果是 V5 版本,可能是 shell:privilege=15 或类似的提权属性)1<AC> terminal monitor
2<AC> terminal debugging
3<AC> debugging radius packetAccess-Request 报文中,User-Name 是否带了 @***.***?Service-Type 是什么?Access-Reject(拒绝)还是 Access-Accept(接受)?Access-Reject,通常就是用户名不对或服务器策略拦截;如果是 Access-Accept 但依然登录失败,那就是缺少第 3 步提到的权限授权属性。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
命令行可以登录 web登录不了?