Aruba AP “D” Flag 的故障诊断方法

本文来源于Airhead community,可以给大家提供一个排错思路,如何去做基于AP flag troubleshooting。

问题 : 为什么 Aruba AP 在升级后会显示 “D” flag?

在 show ap database 命令的输出结果中,“D” Flag 表示 Dirty Configuration,意思是 AP 无法 从 AC 获得完整的配置。

现场环境确认以下状态:

  • AP 之前处于正常的 UP 状态,但是升级后出现”D” flag.
  • 相同 AP-Group 中的其它 AP 工作状态正常 (i.e. 没有配置问题).
  • 同一个 AP 在其它地方可以正常工作 (i.e. 不是 AP 硬件故障).

上述检查内容可以将故障定位到该故障 AP 所在位置到 AC 之间的网络路径。

通过”show ap details advanced ap-name ” 可以近一步将故障原因缩小到特定的 传输方向和特定的消息报文。

这条命令的输出涵盖了 AP 和 AC 之间的控制消息,可以帮助我们了解问题出在哪个方向(AP 到 AC 还是 AC 到 AP),以及哪一些消息报文未能正常传递。 在下面的示例中,AP 到 AC 的通信看起来是正常的。Total,New 以及 ACL 的值完全相同,说明 AP 第一次尝试发送消息就得到了 AC 的确认,不需要反复重新发送。

AP "TAC-Test-AP1" AP to Switch Message Counts
--------------------------------------------
Message Total New Acknowledged
------- ----- --- -----------
HELLO 1 1 1 
AP_READY 1 1 1 
KEEPALIVE 6 6 6 
CHAN_PWR_CHANGE 0 0 0 
PROV_RESULT 0 0 0 
FLASHING 0 0 0 R
EBOOTING 0 0 0

而在 AC 到 AP 的通信方面,我们可以看到 New Config Message 是 1,Total 在持续增加,但是 ACK 为 0,这意味着 Config 消息无法正常下发到 AP(ACK 是 0),然而 Log_Config 似乎并未收到影响。

AP "TAC-Test-AP1" Switch to AP Message Counts
--------------------------------------------
Message Total New Acknowledged
------- ----- --- -----------
CONFIG 123 1 0 
PROV 0 0 0 
FLASH 0 0 0 
REBOOT 0 0 0 
DISCONNECT 0 0 0 
LOG_CONFIG 1 1 1 
CLEAR_FW_CONFIG 0 0 0 
FW_CONFIG 0 0 0 
ALG_CONFIG 0 0 0 
DNS_ID_MAP_CONFIG 0 0 0 
ROLE_CONFIG 0 0 0

在”Rebootstraps and Control Messages Log” 这个部分可以得到更详细的有关消息大小的信息。

Rebootstraps and Control Messages Log 
-------------------------------------
Recent Messages Time now: Tue Jul 30 12:56:34 2013
--------------- ----------------------------------
Time Offset Message details
----------- ---------------
-17 SENT:CONFIG len=3412 peer=10.51.204.7 seq_num=1 tries=123 rtt=-1
-35 RCVD:KEEPALIVE len=20 peer=10.51.204.7 seq_num=7 rtt=0 result=MSG_IN_PROGRESS
-635 RCVD:KEEPALIVE len=20 peer=10.51.204.7 seq_num=6 rtt=0
result=MSG_IN_PROGRES

另外,我们可以利用”show ap debug config-msg-history ap-name ” 命令来获得 AP 发送和接受的消息。这个命令的数据是在 AP 上直接收集,从 AP 的视角来描述的。在下面的示例 中,我们注意到缺少了”RCVD REQ type=CONFIG” 消息,但是我们记得在 show ap details advanced ap-name “name of AP”)命令输出的”Switch to AP Message” 部分,我们看到有 CONFIG 消息的相关数据

show ap debug config-msg-history ap-name "TAC-Test-AP1"

Wed Dec 31 16:00:00 1969(1375217797 secs ago): RCVD RESP type=HELLO len=0 peer=0.0.0.0 seq_num=0
Wed Dec 31 16:00:00 1969(1375217797 secs ago): RCVD RESP type=HELLO len=0 peer=0.0.0.0 seq_num=0 
Wed Dec 31 16:00:00 1969(1375217797 secs ago): RCVD RESP type=HELLO len=0 peer=0.0.0.0 seq_num=0 Fri Dec 31 16:00:42 1999(428532955 secs ago): SENT REQ type=HELLO len=1032
略,详细debug信息参考原文

原因 : Config 消息报文的大小可能因为升级增加了,网络路径不能将增大后的 Config 消息从 AC 成功传递到 AP。

解决方案 : 故障的原因是由于网络不能成功传递 Campus AP 控制消息报文,对于远程站点的部署, 可以考虑采用 Remote AP,因为 Remote AP 与 AC 之间会建立 Ipsec 隧道,控制消息的传递会被封 装在 Ipsec 隧道中进行,从而可以规避网络 MTU 的影响;如果是园区网络,则可以考虑增加底层 网络设备的 MTU,或者启用 CPSEC,因为 CPSEC 启用后,AP 和 AC 之间的控制面通信也会通过 Ipsec 隧道来进行。

https://community.arubanetworks.com/blogs/julia-ostrowski1/2014/09/10/d-flag-troubleshooting

请登录评论。