7706交换机随板AC下挂AP通道环路导致802.1X认证用户频繁掉线

发布时间:  2015-05-05 浏览次数:  897 下载次数:  7
问题描述



客户端使用anyoffice进行无线802.1X认证,认证成功,认证成功后,每隔十分钟左右会出现一次掉线再认证过程,具体见客户端收集日志.客户端日志显示:TCP连接异常中断,错误码10054.controller服务端可以看见此账号仍然显示radius日志在线.

告警信息

[BTRACE][2015/04/15 15:03:30][WLAN_AC][0857-0083-3404]:[WSTA] Parse STA disassociate request message.

[BTRACE][2015/04/15 15:03:30][WLAN_AC][0857-0083-3404]:[WSTA] Process STA disassociate authentication request message.

[BTRACE][2015/04/15 15:03:35][WLAN_AC][0857-0083-3404]:[WSTA] User was offline.

[BTRACE][2015/04/15 15:03:35][CM][0857-0083-3404]:State from UP(substate:BUTT) to DELETING(substate:BUTT). (cib=27351, event=CONN_DOWN)

[BTRACE][2015/04/15 15:03:35][CM][0857-0083-3404]:Process user arp table for np broad (userid:27351, ulRet:0).

[BTRACE][2015/04/15 15:03:35][CM][0857-0083-3404]:Close user access ability (userid:27351).

[BTRACE][2015/04/15 15:03:35][AAA][0857-0083-3404]:AAA_ACCT_EX send accounting request message to AAA module (userid:27351).

处理过程

Controller-交换机-AP

Controller侧通过抓去服务器端,客户端,S7706交换机和POE交换机报文,

Controller服务端报文:


客户端报文:


对比客户端和服务器端报文,

客户端连续无法收到服务器端发出的 9140 号报文,不停要求重传,导致服务器认为TCP连接已经故障,重置TCP连接,导致controller踢掉客户端。

进一步抓包,S7706POE交换机,抓包显示如下:

S7706交换机


S7706交换机对应客户端报文


7706交换机上抓包报文里面客户端和服务器的报文都有,客户端还是收不到服务器的报文。如果确认7706交换机上抓包是在下行接口上抓的,那么可能还要在poe 交换机上再抓包才行。

继续抓取POE交换机和客户端之间报文

POE交换机下行端口


客户端


POE交换机上的抓包也没有服务器的回应报文,问题应该出在 7706 交换机上行口和 POE交换机下行口之间。

通过抓包,初步获取7706交换机和POE交换机下行口之间有报文丢失。???

经过对比数据和查看ARP表项发现:

发现ARP表项中MAC地址漂移。

进一步查看对比数据发现

发现环路出现在物理端口和虚拟端口之间,有vlan18通过,在POE叫换机上发现,用户的MAC地址是从POE的上行口上学到的,经查找文档证实如果用户数据是走隧道转发的话,用户的MAC地址是不会出现在POE交换机的MAC地址表里面的,把7706物理端口的业务vlan18删除,重置ARP表项再查看ARP表项,发现物理端口不在有用户的MAC地址,经过一天的观察发现用户不再掉线。

根因

AC的服务集中设置了业务的转发模式为隧道转发,但是在物理端口和POE交换机上又配置了业务vlan18,导致了ARP表项学习到的MAC地址分别出现在物理端口和ACwlan-dbss端口,出现MAC漂移现象,在用户和服务器之间交互802.1x报文的时候,出现丢包现象,认证服务器认为用户已经下线,所以认证服务器会把用户踢下线。

解决方案

有两种解决方法:

1,解除隧道转发模式,用直接转发。

2,遵循隧道转发的模式,把ACPOE交换机之间的业务VLAN删除。

建议与总结

AP下挂的业务如果走隧道转发的话,在物理端口不需要透传业务vlan

END