CE12800 Hwtacacs终端认证失败,在S57认证成功

发布时间:  2017-03-16 浏览次数:  349 下载次数:  0
问题描述
PC----S57----CE128----HWtacacs服务器
CE12800 与S57管理用户登陆均采用Hwtacacs认证,除NAS-IP其余配置相同
管理用户登录CE时认证失败提示用户名密码错误,登录S57认证成功
大致配置如下:
hwtacacs enable
hwtacacs server template hwtacacs
hwtacacs server authentication *.*.*.*
hwtacacs server authorization *.*.*.*
hwtacacs server source-ip *.*.*.*
hwtacacs server shared-key cipher %^%#X%VGZePYX8401ZTcG6dVh#LyWQ)nn1b=O1TS@Q+J%^%#
aaa
authentication-scheme hwtacacs
  authentication-mode hwtacacs local
authorization-scheme hwtacacs
  authorization-mode hwtacacs local
domain default_admin
  authentication-scheme hwtacacs
  authorization-scheme hwtacacs
  hwtacacs server hwtacacs
#
stelnet server enable
ssh authentication-type default password
ssh authorization-type default aaa
user-interface vty 0 4
  authentication-mode aaa

处理过程
1、根据故障现象描述,除IP地址配置,其余认证相关配置CE与S配置完全相同,排除交换机配置原因导致,初步分析:终端输入用户名密码错误;HWtacacs设置有问题;两种类型交换机上送tacacs服务器时用户名密码封装方式不同
2、根据测试反馈:终端登陆两台设备时确认输入的同一个用户名密码认证,同时HWtacacs服务器上已把CE的NAS-IP增加进去,与S57的增加相同;
需要进一步debug确认原因:
<WXSWSCOR-01>debugging hwtacacs all
<WXSWSCOR-01>sys
Enter system view, return user view with return command.
[~WXSWSCOR-01]diag
[~WXSWSCOR-01-diagnose]debugging aaa all
CE上送tacacs服务器用户名携带域名,并且服务器认证拒绝:
version          :: 0xc0
type             :: AUTHEN_REQUEST
seq_no           :: 1
flag             :: ENCRYPTED_FLAG
Session_id       :: 1490136678
DataLen          :: 45
action           :: AUTHEN_LOGIN
priv_lvl         :: 0
authen_type      :: AUTHEN_TYPE_ASCII
service          :: AUTHEN_SVC_LOGIN
user len         :: 20
port len         :: 4
rem_addr len     :: 13
data len         :: 0
user name        :: ldv528@default_admin
port             :: vty0
rem_addr         :: *.*.*.*
………………
|sender      :TAC
|receive     :AAA
|intf        :INTF_SMP
|sub_intf    :SMP_SUB_INTF_AAAI
|transno     :99
|type        :AUTHEN
|VS_ID       :0
|APPHANDLE   :135193
|RESULT      :Server return fail
|SESSION_ID  :103
|REPLY_MSG   :Error: Tacacs server reject
S57上送radius用户名未携带域名:
version          :: 0xc0
type             :: AUTHEN_REQUEST
seq_no           :: 1
flag             :: ENCRYPTED_FLAG
Session_id       :: 1658412364
DataLen          :: 45
action           :: AUTHEN_LOGIN
priv_lvl         :: 0
authen_type      :: AUTHEN_TYPE_ASCII
service          :: AUTHEN_SVC_LOGIN
user len         :: 6
port len         :: 4
rem_addr len     :: 13
data len         :: 0
user name        :: ldv528
port             :: vty0
rem_addr         :: *.*.*.*
通过debug信息确认两者上送tacacs服务器用户名不同,导致认证失败
在CE上增加配置hwtacacs server user-name domain-excluded,终端认证成功
核实CE与S系列设备,缺省情况下,设备向HWTACACS服务器发送的报文中的用户名包含域名,但是两者处理机制不同,当认证用户不携带域名时,S系列会保持用户名不变上送tacacs服务器,CE会增加对应域名,然后上送
根因

CE设备默认会对未携带域名的用户名增加对应域名然后上送radius服务器,HWtacacs服务器上用户名不包含域名,导致验证失败

解决方案
更改CE配置,上送HWtacacs服务器不携带域名hwtacacs server user-name domain-excluded
建议与总结

不同系列设备处理机制不同,配置相同不一定上送的报文内容就相同,目前针对域名上送无统一官方标准,请注意

END