公司一台运行V7版本系统的H3C无线控制器(WAC380),经常在日志中报告AP掉线错误。
具体报错信息为:
警告
CAPWAP tunnel to AP 38ad-xxxx-4900 went down. Reason: Processed join request in Run state.
2018-05-13 23:12:46
在Google上搜索相关提示信息,所获得的信息并不适用于当前的问题。
通过AP的mac地址进行查找,发现同一时间(前后一分钟之内)报告掉线错误的AP,均在同一台接入交换机上。难道是交换机坏了吗?
登录到这台接入交换机,检查交换机的日志和运行状态,发现交换机未曾重启过。连接掉线AP的接口并没有任何收发错误,也未见接口up/down事件。
在控制器上开启AP的telnet,远程连接到报错的AP。
执行dis version命令后,发现AP运行时间已经长达2周,然而这台AP刚刚报告的掉线错误是在几个小时以前。
执行dis logbuf命令检查AP的日志,发现AP上确实存在capwap隧道down掉的日志。具体如下:
%May 13 23:12:32:927 2018 38ad-be81-4900 CWC/4/CWC_AP_DOWN: Backup CAPWAP tunnel to AC 10.32.0.5 went down. Reason: Deleted AP IP address.
%May 13 23:12:32:929 2018 38ad-be81-4900 CWC/4/CWC_AP_DOWN: Master CAPWAP tunnel to AC 10.32.0.4 went down. Reason: Deleted AP IP address.
%May 13 23:12:49:146 2018 38ad-be81-4900 CWC/6/CWC_AP_UP: Master CAPWAP tunnel to AC 10.32.0.4 went up.
%May 13 23:12:57:267 2018 38ad-be81-4900 CWC/6/CWC_AP_UP: Backup CAPWAP tunnel to AC 10.32.0.5 went up.
往前翻一翻,发现每天在相同的时间上,都有这样的日志。再结合日志上“Deleted AP IP address”的信息,就不难判断问题之所在了:AP因为DHCP租约到期,删除了接口的IP地址,导致capwap隧道down掉。
(补充:以上并非根本原因。根本原因在于,在AP管理vlan interface上设置的入站ACL不正确,拦截了AP向DHCP服务器发起的续约请求,导致租约到期后AP不得不释放IP地址并重新获取。)
再检查一下相关接入交换机的DHCP配置,发现dhcp地址池没有设置租约时间。在Cisco交换机上,默认的DHCP租约是1天,也正好印证了上述情况。
解决方法:调整交换机上的DHCP租约时长,或者将AP改用静态IP地址。
当然,AP掉线重连的时间只有大约15秒,如果影响不大,则直接忽略即可,无需改动配置。
根本的解决方法是,在交换机的入站ACL上允许bootpc(udp:68)到bootps(udp:67)的通信。