问题描述
如图所示,Switch_1和Switch_2为S5700交换机,配置802.1x认证与城市热点认证服务器联动,有用户反馈在接入交换机Switch_1下使用http://Dr.COM认证客户端进行802.1x认证成功,但在接入交换机Switch_2下使用http://Dr.COM认证客户端进行802.1x认证失败,提示:获取用户属性超时!请检查防火墙配置允许UDP61440端口!
组网拓扑略图:
Switch_2的主要配置如下:
#
vlan batch 888 2172
#
domain huawei
#
dot1x enable
dot1x authentication-method eap
#
undo nap slave enable
#
radius-server template rd1
radius-server authentication 172.16.192.111 1812 weight 80
radius-server accounting 172.16.192.111 1813 weight 80
radius-server retransmit 2
undo radius-server user-name domain-included
#
vlan 888
description manage
#
......
domain huawei
authentication-scheme auth
accounting-scheme abc
radius-server rd1
#
interface Vlanif888
ip address 172.18.7.23 255.255.255.0
#
interface GigabitEthernet0/0/1 //交换机上行端口
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
......
#
interface GigabitEthernet0/0/48 //http://Dr.COM认证客户端接入端口
port link-type access
port default vlan 2172
dot1x enable
#
处理过程步骤 1 检查http://Dr.COM认证客户端是否异常
将认证失败的http://Dr.COM认证客户端接入交换机Switch_1,使用http://Dr.COM认证客户端接入认证成功,排除http://Dr.COM认证客户端导致802.1x认证失败。步骤 2 检查Switch_2上的配置是否正确
与Switch_1的配置相比较,Switch_2上除管理VLAN不一致,其余配置均相同,而且版本及补丁均一致,排除Switch_2的配置、版本导致802.1x认证失败。步骤 3 获取http://Dr.COM认证客户端与Switch_1和Switch_2的交互报文进行分析
在http://Dr.COM认证客户端上配置固定IP地址,然后在Switch_1和Switch_2上获取报文分析
- 与Switch_1认证成功交互报文:
与Switch_2认证失败交互报文:
对比两个认证报文分析:
1、http://Dr.COM认证客户端与Switch_1和Switch_2进行802.1x EAP认证均交互成功。
2、Switch_2接入http://Dr.COM认证客户端因一直未学习到网关ARP,未向服务器发送UDP 61440的用户属性控制报文,获取服务器认证授权。
3、待http://Dr.COM认证客户端认证超时后,http://Dr.COM认证客户端向设备发送了EAPOL-Logoff离线的报文,设备端把端口状态从授权状态改变成未授权状态,并向http://Dr.COM认证客户端发送EAP-Failure报文,所以http://Dr.COM认证客户端显示认证失败,并提示相关报错信息:获取用户属性超时!请检查防火墙配置允许UDP61440端口!步骤 4 检查Switch_2下http://Dr.COM认证客户端为什么无法学习到网关ARPhttp://Dr.COM认证客户端无法学习到网关ARP,可能原因如下:
1、ARP报文因网络故障、CPCAR不合理等学习异常。
2、用户业务VLAN与汇聚交换机二层不通。
在http://Dr.COM认证客户端的网关设备使用display mac-address命令无法查询到http://Dr.COM认证客户端接入MAC地址。
<Quidway>display mac-address 0021-ccc0-761f
-------------------------------------------------------------------------------
MAC Address VLAN/VSI Learned-From Type
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Total items displayed = 0
从显示信息可以确认网关是没有学习到http://Dr.COM认证客户端接入MAC地址,导致用户业务VLAN与汇聚交换机二层不通。
然后,核实了解到实际网络中接入交换机与汇聚交换机级联了多台交换机。所以通过查询用户终端MAC信息方式逐层排查交换机客户端PC MAC学习情况,在其中一台级联交换机上可正常学习到客户端PC MAC地址。排查此级联交换机与上层交换机互连端口配置,发现该上层交换机未透传用户业务VLAN 2172,配置透传相关业务VLAN后问题解决。
根因
用户业务VLAN接入交换机至汇聚交换机二层不通导致用户认证客户端802.1x认证失败。
解决方案
将接入交换机与汇聚交换机互连链路接口均配置透传相关业务VLAN。
建议与总结
从正常认证报文可以看出用户认证业务完整的交互过程。客户端PC在EAP认证交互完成后,客户端PC会主动向服务器发送UDP 61440的用户属性控制报文(三层数据转发需要由主机网关设备转发数据),待服务器正确响应授权后客户端PC才会显示认证成功。但存在问题的交换机,在客户端PC与交换机EAP交互完成后一直没有学习到网关ARP信息,无法向服务器发送UDP 61440的用户属性控制报文,导致http://Dr.COM认证客户端认证超时后主动发送了EAPOL-Logoff离线报文。
因此,对于802.1x认证不成功问题可先在客户端PC和服务器端同时分析认证报文流程,确认是否是设备侧原因导致,还是客户端、服务器或其它原因导致。如过确认为设备侧原因导致,可在设备侧打开EAPOL、AAA、RADIUS等各个模块的调试开关,跟踪认证流程,看在哪个模块处理出错。
用户视图下执行以下命令:
terminal monitor
terminal debugging
EAPOL:debugging dot1x all、debugging dot1x packet
RADIUS::debugging radius packet
AAA:debugging aaa all