S5700交换机MAC旁路认证为啥延迟大?王海军老师告诉你
1,问题描述
客户反馈在Linux终端接入S5700交换机,通过MAC旁路认证上线,但是上线延迟时间长达90秒。
交换机接口配置如下:
#
interface GigabitEthernet0/0/1
port link-type hybrid
port hybrid pvid vlan 100
undo port hybrid vlan 1
port hybrid untagged vlan 100
stp edged-port enable
dot1x mac-bypass mac-auth-first
dot1x mac-bypass
dot1x max-user 1
dot1x reauthenticate
dot1x authentication-method eap
#
2,处理过程
1、在使用802.1x认证的接口可以针对无法安装和使用802.1x客户端软件的终端,通过MAC旁路认证方式进行认证,默认情况下802.1x认证优先,但从接口配置可以确认使能了MAC认证优先。
2、在没有其他思路的情况下,我们通过在S5700上的debug信息来分析终端的上线过程。从下面的debug信息可以看到,连接在GigabitEthernet0/0/1端口的终端发送DHCP报文并触发了802.1x认证,由于该终端不支持802.1x认证,30秒后认证超时。随后系统再重复了2次相同的802.1x认证过程,最终超时退出。802.1x认证失败后,系统立即启动了MAC认证并认证通过。
#
Jul 20 2016 13:12:44.120.3 Switch DOT1X/7/DEBUG:[EAPOL-stack] [EAPOL Check Dhcp Packet]IfIndex=5,IF name:GigabitEthernet0/0/1,MAC:xxxx-xxxx-546b,vlan:100,DstIp=255.255.255.255,PktType:2,ValidFlag:0.
Jul 20 2016 13:12:44.160.5 Switch DOT1X/7/DEBUG: [EAPOL-info] Begin to dot1x trigger.(mac=xxxx-xxxx-546b,portindex=0,VLAN=100,L2Type=1)
Jul 20 2016 13:13:14.160.1 Switch DOT1X/7/DEBUG: [EAPOL-timer] User response timeout.(Index:51)
#
Jul 20 2016 13:13:14.160.3 Switch DOT1X/7/DEBUG:[EAPOL-packet] Send EAP packet to user successfully. (type:1, packet length:27, output interface:GigabitEthernet0/0/1, VLAN:100, return:0)
Jul 20 2016 13:13:44.160.1 Switch DOT1X/7/DEBUG: [EAPOL-timer] User response timeout.(Index:51)
#
Jul 20 2016 13:13:44.170.2 Switch DOT1X/7/DEBUG:[EAPOL-packet] Send EAP packet to user successfully. (type:1, packet length:27, output interface:GigabitEthernet0/0/1, VLAN:100, return:0)
Jul 20 2016 13:14:14.170.1 Switch DOT1X/7/DEBUG:[EAPOL-timer] User response timeout.(Index:51)
#
Jul 20 2016 13:14:14.170.7 Switch DOT1X/7/DEBUG: [EAPOL-message] Send auto request message to CM module:
user MAC: xxxx-xxxx-546b
Jul 20 2016 13:14:14.900.36 Switch DOT1X/7/DEBUG:[EAPOL-message] Start auth ack process for auto user.(mac=xxxx-xxxx-546b)
#
3、既然接口已经配置了“dot1x mac-bypass mac-auth-first”,为什么终端连接端口后会触发802.1x认证呢? 我们从交换机全局配置中找到了答案。由于全局配置使能了dot1x dhcp-trigger,当交换机收到dhcp报文后会优先触发802.1x认证,该配置优先于接口的mac-auth-first。
#
dot1x enable
dot1x authentication-method eap
dot1x dhcp-trigger
dot1x timer client-timeout 1
mac-authen timer offline-detect 0
#
3,根因
交换机全局使能了dot1x dhcp-trigger,当交换机收到dhcp报文后会优先触发802.1x认证,该配置优先于接口的mac-auth-first。由于终端不支持802.1x认证,在经过3个802.1x认证(90秒)后超时退出,然后才启动MAC认证并认证通过。
4,解决方案
全局去使能dot1x dhcp-trigger,交换机即使收到DHCP报文也会优先启动MAC认证。
5,建议与总结
对于用户上线类问题,可以通过debug信息来分析报文交互,清晰地看到整个认证流程。
查看原文 >>