WLN00058轻量级无线接入点不能加入到无线控制器的故障排除.docx
《WLN00058轻量级无线接入点不能加入到无线控制器的故障排除.docx》由会员分享,可在线阅读,更多相关《WLN00058轻量级无线接入点不能加入到无线控制器的故障排除.docx(31页珍藏版)》请在冰豆网上搜索。
![WLN00058轻量级无线接入点不能加入到无线控制器的故障排除.docx](https://file1.bdocx.com/fileroot1/2022-11/24/948c18ba-7668-45b7-9ce5-cf26659ae35f/948c18ba-7668-45b7-9ce5-cf26659ae35f1.gif)
WLN00058轻量级无线接入点不能加入到无线控制器的故障排除
【标题】轻量级无线接入点不能加入到无线控制器的故障排除
【译者姓名】骆灵峰
【校对人】
【翻译完成时间】2008-12-21
【原文英文标题】TroubleshootaLightweightAccessPointNotJoiningaWirelessLANController
【原文链接】
【翻译内容】
导言
必备条件
知识需求
通用定义
无线控制器(WLC)发现和加入过程概述
从控制器端debug
debuglwappeventsenable
debugpmpkienable
从LAP端debug
避免与DHCP相关的一些问题
为什么LAP不能加入到控制器
症状1:
控制器的时间在LAP证书有效期之外
症状2:
管域(国家代码)不匹配
症状3:
ErrorMessageAPcannotjoinbecausethemaximumnumberofAPsoninterface2isreached(错误信息,因为接口2上的AP数量已经最大,所以AP不能加入)
症状4:
SCC证书的AP,控制器SCCAP的策略是未启用的
症状5:
WLC上启用了AP授权列表,但是LAP不在授权列表里面
症状6:
SSC证书的公有hash密钥错误或丢失
症状7:
AP上的证书或者公有密钥损坏
症状8:
控制器可能工作在2层模式
症状9:
转换成LWAPP后,在AP上看到这种错误信息
症状10:
控制器不在当前的VLAN里收到AP的discovery信息(你可以看到discovery信息,但是看不到response)
症状11:
1250LAP不能加入WLC
症状12:
AP不能加入WLC,因为防火墙阻止了一些必要的端口
NetPro论坛-FeaturedConversations
相关信息
导言
这篇文档简单介绍了无线控制器(以下简称WLC或者控制器)的发现和加入过程,也提供了有关于为什么轻量级无线接入点(以下简称LAP)加入WLC失败以及如何解决这种问题的信息。
必备条件
知识需求
Cisco建议您对以下知识点有所了解:
∙配置LAP和WLC的基本知识;
∙轻量级无线接入点协议(以下简称LWAPP)的基本知识
参阅理解轻量级无线接入点协议(LWAPP)[UnderstandingtheLightweightAccessPointProtocol(LWAPP)]以获得更多信息
通用定义
参阅思科技术通用提示[CiscoTechnicalTipsConventions]获得更多这方面的信息
无线控制器发现和加入过程概述
在思科统一无线网络里,LAP在为无线客户端提供服务前,必须先发现并加入到WLC。
早期的控制器只能在工作在2层模式。
在2层模式下,LAP必须和控制器的管理接口在同一个子网内,控制器并不提供3层模式的AP管理接口。
LAP和控制器之间只通过2层封装(以太网封装)方式进行通信,并不需要通过DHCP方式获得一个IP地址。
当控制器发展到能够提供3层工作模式的时候,一个全新的被称之为AP管理接口的3层接口被引入。
在3层模式下,LAP可以先通过DHCP方式获得一个IP地址,然后通过IP地址的方式向管理接口发送发现请求(以下称为discoveryrequest)。
这种方式可以允许LAP和控制器上的管理接口不在同一个子网内。
目前,主要的工作模式是3层模式,有些控制器和LAP只能提供3层工作模式。
然而,这就带来了一个新的问题:
当LAP和控制器位于不同的子网时,LAP如何知道控制器管理接口的IP地址?
在2层工作模式下,LAP和控制器必须在同一个子网内。
在3层工作模式下,控制器和LAP之间就好比是在网络中玩捉迷藏。
如果不通过DHCP选项43或者"Cisco-lwapp-controller@local_domain"的DNS方式或者静态配置的方式把控制器的管理接口IP地址通告给LAP,LAP就不知道如何在网络中找到控制器的管理接口。
在这些方式之外,LAP能够通过255.255.255.255的本地广播方式自动来寻找同一子网内的控制器。
同样的,LAP在重启时能够储存任何一个曾经加入过的控制器的管理接口IP地址。
因此,如果您将一个LAP第一次放入到本地子网内,它最终会找到控制器的管理接口并记住地址。
这就是所谓的启动(priming)。
如果您在LAP启动之后再放入,这并不能帮助LAP找到控制器。
因此,思科建议使用DHCP选项43或者DNS方式。
当LAP在寻找控制器时,他们并不会知道控制器是工作在2层模式还是3层模式的。
因此,LAP在连接管理接口的地址之前,需要发送一个discoveryrequest,然后控制器通过发送发现回应(以下称为discoveryreply)来告诉LAP该控制器的工作模式。
如果控制器是工作在3层模式的,discoveryreply会包含3层的AP管理地址,以便于LAP接下来可以向AP管理接口发送加入请求(以下称为joinrequest)。
LWAPP模式的AP在启动时通过以下进程来启用3层模式:
1.如果事先没有配置静态IP地址,LAP在启动的时候需要通过DHCP方式来获得一个IP地址
2.LAP通过各种发现算法向控制器发送discoveryrequest,并建立控制器清单。
从本质上讲,为了要建立控制器清单,LAP会学习到尽可能多的控制器的管理接口地址,通过:
a.DHCP选项43(适合于全球化公司,因为这种公司,通常办公室和控制器在不同的地方)
b.DNS条目:
“cisco-lwapp-controller”(适合于本地性公司,也可以被用来使全新的AP找到可供加入的WLC)
c.LAP先前储存的控制器的管理口IP地址
d.子网内的3层广播
e.通过空中接口提供
f.静态的配置信息
从这些发现方式中,你会发现,最简单的方法是将LAP和控制器的管理接口部署在同一个子网内,并允许LAP通过3层广播方式去发现控制器。
这种方法可以应用于网络规模比较小,并且没有本地DNS服务器的小型企业。
下一个简单的部署方法是使用DNS和DHCP方式。
相同的DNS名字可以有多个条目,这可以让LAP发现多个控制器。
这种方法可以应用于所有控制器在同一个地点,并拥有本地DNS服务器的企业。
或者是拥有多个DNS后缀并通过后缀来区分控制器的企业。
大型企业通常会使用DHCP选项43方式,并通过DHCP方式使信息本地化。
使用这种方式的大型企业通常都只会有一个DNS条目。
例如,思科在欧洲,澳大利亚和美国都有办公场所,为了确保LAP只加入本地的控制器,就不能使用DNS方式,必须使用DHCP选项43告诉LAP他们本地控制器管理接口的IP地址。
最后,如果网络里面没有DCHP服务器的话,就需要使用静态配置了。
您可以通过console口连接AP,并通过CLI方式静态配置LAP所要加入到控制器的必要信息,关于如何使用的APCLI方式静态配置控制器信息的方法,请参阅利用接入点CLI手动配置控制器[ManuallyConfiguringControllerInformationUsingtheAccessPointCLI.].
如需了解LAP用来发现控制器的不同发现算法的详细解释,请参阅LAP注册到WLC[LAPRegistrationwithWLC.]
如需了解在DHCP服务器上配置DHCP选项43的更多信息,请参阅为思科aironet轻量级无线接入点提供DHCP选项43的配置实例[DHCPOPTION43forLightweightCiscoAironetAccessPointsConfigurationExample.]
3.LAP会向控制器列表上的所有的控制器发送discoveryrequest并等待控制器回应discoveryreply,回应中会包括系统名字,AP管理接口IP地址,每个AP管理接口上已经连接的AP数量,以及控制器剩余的可承载AP的数量。
4.基于生成的控制器列表,LAP通过以下顺序向控制器发送joinrequest(前提是AP收到该控制器发送的discoveryreply)
a.第一个(primary)控制器系统名(该系统名先前已经配置在LAP上)
b.第二个(secondary)控制器系统名(该系统名先前已经配置在LAP上)
c.第三个(tertiary)控制器系统名(该系统名先前已经配置在LAP上)
d.主控制器(如果AP没有配置primary、secondary、tertiary控制器名字,用来使新LAP知道所要加入的控制器)
e.如果以上几个环节没有的话,将启用控制器间的负载均衡。
该负载均衡通过discoveryresponse中所包含的控制器剩余承载能力这个值来实现。
如果两个控制器剩余的承载能力相同的话,AP会向第一个回应discoveryresponse的控制器发送joinrequest。
如果一个控制器上有多个AP管理接口,将向关联AP最少的AP管理接口发送joinrequest。
控制器会回应所有的discoveryrequest,并不检查AP的证书或者AP是否符合信任策略。
然而,joinrequest必须包含一个有效的认证信息,否则将无法从控制器处收到joinresponse。
如果LAP无法从它选择的控制器处收到joinresponse,LAP会尝试向列表中的下一个控制器发送joinrequest。
如果控制器是配置好加入顺序的(primary/secondary/tertiary),就算LAP收不到joinresponse,也不会向加入顺序之外的其他控制器发送joinrequest。
5.当LAP收到一个joinreply之后,它会检查自己的软件镜像是否和控制器上的相同。
如果不同,AP需要从控制器处下载软件镜像,然后重启并加载新的软件镜像。
重启之后,AP需要重新从步骤1开始。
6.如果AP和控制器上的软件镜像相同,AP需要向控制器请求配置信息,然后AP在控制器上才会显示状态是已注册。
在AP下载完配置信息后,AP可能会再次重启来应用新的配置。
因此,可能会有额外的重启发生,但这是一种正常的行为。
从控制器端Debug
在控制器上,在CLI界面,可以使用一些debug命令来查看LAP加入无线控制器的整个过程:
∙debuglwappeventsenable—显示discovery数据包和join数据包.
∙debuglwapppacketenable—显示数据包级别的discovery和join信息
∙debugpmpkienable—显示认证确认过程
∙debugdisable-all—关闭所有的debug.
在终端上可以导出日志信息,通过console方式、SSH或者telnet方式登陆到控制器,输入以下命令:
configsessiontimeout120
configserialtimeout120
showrun-config(输入空格键来收集所有的信息)
debugmacaddr
(使用xx:
xx:
xx:
xx:
xx格式)
debugclient
debuglwappeventsenable
debuglwapperrorsenable
debugpmpkienable
在收集完debug信息之后,使用debugdisable-all命令来关闭所有的debug命令。
下一个部分显示的是,当LAP注册到控制器的时候,这些debug命令所输出的信息。
debuglwappeventsenable
这个命令提供了一些在LWAPPdiscovery和join过程中,发生的LWAPP的事件和错误信息。
如下所示,是debuglwappeventsenable命令的输出信息,前提是LAP和它所要注册的WLC拥有相同的image。
注意:
因为空间的限制,有一些输出的信息被移到了下一行。
debuglwappeventsenable
WedOct2416:
59:
352007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPDISCOVERYREQUESTfrom
AP00:
0b:
85:
5b:
fb:
d0to00:
0b:
85:
33:
52:
80onport'2'
!
---LAP向WLC发送LWAPPdiscoveryrequest
WedOct2416:
59:
352007:
00:
0b:
85:
5b:
fb:
d0Successfultransmissionof
LWAPPDiscovery-ResponsetoAP00:
0b:
85:
5b:
fb:
d0onPort2
!
---WLC向LAP回应discoveryrequest
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPJOINREQUESTfrom
AP00:
0b:
85:
5b:
fb:
d0to00:
0b:
85:
33:
52:
81onport'2'
!
---LAP向WLC发送joinrequest
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0APap:
5b:
fb:
d0:
txNonce00:
0B:
85:
33:
52:
80rxNonce00:
0B:
85:
5B:
FB:
D0
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0LWAPPJoin-RequestMTUpathfrom
AP00:
0b:
85:
5b:
fb:
d0is1500,remotedebugmodeis0
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0SuccessfullyaddedNPUEntryfor
AP00:
0b:
85:
5b:
fb:
d0(index55)SwitchIP:
10.77.244.211,SwitchPort:
12223,intIfNum2,
vlanId0APIP:
10.77.244.219,APPort:
49085,nexthopMAC:
00:
0b:
85:
5b:
fb:
d0
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0Successfullytransmissionof
LWAPPJoin-ReplytoAP00:
0b:
85:
5b:
fb:
d0
!
---WLC向LAP回应joinreply
WedOct2416:
59:
462007:
00:
0b:
85:
5b:
fb:
d0RegisterLWAPPeventfor
AP00:
0b:
85:
5b:
fb:
d0slot0--LAPregisterswiththeWLC
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPCONFIGUREREQUESTfrom
AP00:
0b:
85:
5b:
fb:
d0to00:
0b:
85:
33:
52:
81
!
---LAP从WLC处请求配置信息
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0UpdatingIPinfofor
AP00:
0b:
85:
5b:
fb:
d0--static1,10.77.244.219/255.255.255.224,gtw10.77.244.220
WedOct2416:
59:
482007:
spamVerifyRegDomainRegDomainsetfor
slot0code0regstring-AregDfromCb-AB
WedOct2416:
59:
482007:
spamVerifyRegDomainRegDomainsetfor
slot1code0regstring-AregDfromCb-AB
WedOct2416:
59:
482007:
SendAPTimesyncof1193245188sourceMANUAL
WedOct2416:
59:
482007:
spamEncodeDomainSecretPayload:
Senddomainsecret
TSWEBRET<0d,59,aa,b3,7a,fb,dd,b4,e2,bd,b5,e7,d0,b2,52,4d,ad,21,1a,12>to
AP00:
0b:
85:
5b:
fb:
d0
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0Successfullytransmissionof
LWAPPConfig-MessagetoAP00:
0b:
85:
5b:
fb:
d0
!
---WLC回应LAP并提供所有必需的配置信息。
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'eapfast'
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'WPA'
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'webauth'
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'eapfast'
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'WPA'
WedOct2416:
59:
482007:
RunningspamEncodeCreateVapPayloadforSSID'webauth'
.
.
.
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0Successfullytransmissionof
LWAPPChange-State-EventResponsetoAP00:
0b:
85:
5b:
fb:
d0
.
.
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPUpeventfor
AP00:
0b:
85:
5b:
fb:
d0slot0!
!
---LAP已经启动并可以给无线客户端提供服务
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPCONFIGURECOMMANDRESfrom
AP00:
0b:
85:
5b:
fb:
d0
.
.
.
WedOct2416:
59:
482007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPRRM_CONTROL_RESfrom
AP00:
0b:
85:
5b:
fb:
d0
!
---WLC将所有的RRM(radioresourcemanagement)和其他的配置信息细节发送到LAP上。
正如上面章节所提到的,一旦LAP注册到WLC上,它会检测是否和控制器上的软件镜像一致。
如果LAP上的软件镜像和WLC上的不同,LAP会首先从WLC下载新的软件镜像。
如果LAP上的软件镜像和WLC上的相同,LAP会继续从WLC下载配置和其他的一些参数。
如果LAP在注册过程中从控制器上下载软件镜像,因为这也是LAP注册的一部分,所以可以从debuglwappeventsenable这条命令的输出中看到相应的信息:
WedOct2417:
49:
402007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPIMAGE_DATA_RESfrom
AP00:
0b:
85:
5b:
fb:
d0
WedOct2417:
49:
402007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPIMAGE_DATA_RESfrom
AP00:
0b:
85:
5b:
fb:
d0
WedOct2417:
49:
402007:
00:
0b:
85:
5b:
fb:
d0ReceivedLWAPPIMAGE_DATA_RESfrom
AP00:
0b:
85:
5b:
fb:
d0
一旦下载完毕,LAP会重启,并再次运行discovery和join算法。
debugpmpkienable
在LAP的加入过程中,WLC需要通过检测LAP的证书是否有效来对LAP进行验证。
在AP向WLC发送LWAPPjoinrequest的时候,它会把自己的X.509证书包含在LWAPP消息中。
LWAPP的joinrequest消息里面还包括AP所生成的随机会话ID。
当WLC收到LWAPP的joinrequest的时候,WLC使用AP的公有密钥来验证X.509证书的有效性,同时也检测该证书是否由受信任的证书机构发布。
WLC会通过验证证书起始日期和时间来检查AP证书的有效性,同时和自己的日期和时间进行对比。
(因此控制器的时钟最好是和当前的日期和时间接近)。
如果X.509的证书是有效的,WLC会生成一个随机AES加密密钥。
WLC会将该加密密钥放到加密引擎中,使得后续WLC和AP之间交换的LWAPP控制信息能够被加密和解密。
需要注意的是,在LAP和控制器之间的LWAPP隧道中的数据包是以明文形式进行传输的。
Debugpmpkienable这条命令显示的是LAP在加入到控制器阶段时,证书确认过程的信息。
如果AP有一个由LWAPP转换程式创建的自我签署证书(下面简称SSC),Debugpmpkienable这条命令也会显示加入过程中AP的哈希密钥。
如果AP用的是由制造商安装的证书(下面简称MIC),你将不能看到这个哈希密钥。
注意:
所有在2006年6月后制造的AP,都会有制造商安装的证书(MIC)。
当有MIC证书的LAP需要加入到控制器时,通过debugpmpkienable命令可以看到这种信息:
注意:
因为空间的限制,有一些输出的信息被移到了下一行。
ThuOct2513:
52:
592007:
sshpmGetIssuerHandles:
lockingcacerttable
ThuOct2513:
52:
592007:
sshpmGetIs