1、了解FITAP与AC的建立过程

      之前我们已经知道了FATAP与FIT是一对双胞胎一样的兄弟,FAT哥哥能够直接独立使用当AP桥接、路由器等,而弟弟FIT则比较薄弱,独自发挥不出功效,需要一位师傅(AC)来带领,那么弟弟FIT如何能够正常找到一位好师傅(AC)呢,今天我们来了解了解FIT AP上线的过程。

 

CAPWAP协议

    竟然FITAP需要寻找AC,那么他们之间就有一种协议来构建通信,这个协议就是CAPWAP,CAPWAP(全称ControlAnd Provisioning of Wireless Access Points Protocol Specification无线接入点控制和配置协议)是由IETE定义出来的公有标准,实现以下几个重要功能

1、包括AC对AP的自动发现以及状态维护

2、AC对AP进行管理、业务配置下发 

3、客户端的信息通过AP发送CAPWAP协议告诉AC,AC进行维护 

4、客户端的业务数据也可以通过CAPWAP交给AC进行转发(可选,隧道转发才需要用到)

 

CAPWAP的报文结构如下,了解这个对于我们后续排查上线还是有一定帮助的。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道


1、CAPWAP是基于UDP端口的应用层协议。

2、CAPWAP协议传输层运输两种类型的负载:

         数据消息,封装转发无线帧 。

         控制消息,管理AP和AC之间交换的管理消息,通常AP上线就用到控制消息。

3、CAPWAP数据和控制报文基于不同的UDP端口发送:

        控制报文端口为UDP端口5246。

        数据报文端口为UDP端口5247。

4、DTLS加密是可选的,默认华为设备是没有开启。


FIT AP与AC建立的过程

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_网络工程师_02


1、首先AP需要获取到一个IP地址,用于跟AC通信(IP地址获取的方法一个是DHCP下发,另外一个则是AP手动静态设置),并且获取到的IP地址与AC之间是可通信的。(当然这里还分为AP于AC在同一个VLAN网段,以及不同VLAN网段,我们称为二层上线与三层上线,这个后续我会以实际案例讲解,这里简单提一下,大家有个印象)对于DHCP的获取过程就不在讲述了,可以参考博主的公众号。

 

2、当AP获取到地址后,AP会启用CAPWAP发现机制,会出现如下几个场景

      (1)AP、AC在同一VLAN网段场景:AP发送Discovery Reqiest广播报文自动发现同一网段AC,AC收到后会相应一个Discovery   Response给AP,AP收到后就开始于AC建立CAPWAP隧道。


    (2)AP、AC夸三层VLAN网段场景:这时候需要DHCP参数中携带option 43参数告诉AP,AC的地址,AP通过option43中携带的地址参数,直接发送一个发送DiscoveryRequest单播报文,AC收到后会相应一个DiscoveryResponse给AP,AP收到后就开始于AC建立CAPWAP隧道。

   (3)AP手动设置地址场景:则直接跳过发现机制,直接向AC发送Discovery Request单播报文,AC回应后,开始建立隧道

   (4)AP在发送广播报文寻找AC的过程会连续发送2次,如果2次没有AC响应,这认为没有AC存在,自动重启。

 

3、DTLS握手协议(可选),AP与AC在建立过程中,如果AC配置了DTLS加密传输UDP报文,那么后续报文则在加密过程中建立,默认情况下AC是没有开启,平时项目中也用的少,作为一个了解。

 

4、Join阶段:AC跟AP开始建立控制通道,交互过程中,AP会发送给AC join request AC回应的Join response报文中会携带AC当前的版本号,以及AP升级版本,握手报文间隔/超时时间,控制报文优先级等信息。AC会检查AP的当前版本,如果AP的版本无法与AC要求的相匹配时,AP和AC会进入ImageData状态做固件升级,以此来更新AP的版本,如果AP的版本符合要求,则进入configuration状态。

 

5、image date(可选):AP根据协商参数判断当前版本是否是最新版本,如果不是最新版本,则AP将在CAPWAP隧道上开始更新软件版本。AP在软件版本更新完成后重新启动,重复进行AC发现、建立CAPWAP隧道、加入过程。

 

6、Configuration:进入Configuration状态后,AP会发送一个configuration status request报文到AC,该信息中包含了现有AP的配置,AC收到后发现AP与现在AC的配置要求不符合,会通过回复configuration status response通知AP来同步。AP同步的时候,会发送configuationupdate request来请求信的配置,AC则回应confguation update response来下发配置个AP,让AP进行同步。

 

7、Data Check:Configuration阶段完成后,AP发送change state eventrequest信息,其中包含了radio,code、配置信息等,当AC接收到change state event request后,开始回应changestate event response 。如果出现radio或者配置不同步的话,则会在response里面告知AP配置不同步,这时候AP会发送configuationupdate request来请求信的配置,AC则回应confguation update response来下发配置个AP,让AP进行同步。同步一致的话,表示已经完成DateCheck 管理隧道建立的过程,开始进入run状态。

 

8、Run(最终正常工作状态):AP发送keepalive到AC,AC收到keepalive后表示数据隧道建立,AC回应keepalive,AP进入“normal”状态,开始正常工作。同时AP发送echorequest报文给AC,宣布建立好CAPWAP管理隧道并启动echo发送定时器和隧道检测超时定时器以检测管理隧道时候异常。

 

(对于AP上线有个很好的了解,对于我们部署无线网络那是事半功倍的,无线的第一大难点在于上线,至于后续业务50%的中小企业需求就是配置一个SSID、一个密码、需要漫游就完事了,博主这不管是从协助客户部署跟解决无线故障、以及私活部署大部分的都是卡在上线这块,其次就是高级认证、以及优化干扰这。)

  


进入正式配置之前,我们先了解下AC的设备以及如何初始化

 

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_03



2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_无线ACAP初始化_04


1、console登陆方法

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道_05

作为经常要维护、调试各类设备的朋友,那console线是必不可少的(博主建议大家选这样一体的,兼容性很好,别用转接的)

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_06

(博主用一体的一根三年多了 还没坏过,携带方便,如果不知道如何选择的朋友,可以公众号回复console线,博主推荐一个TB链接,一个JD链接,都性价比高的)


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_网络工程师_07


连接终端程序可以是 SecureCRT、XSHELL6、超级终端、putty,这里以SecureCRT为例



2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_网络工程师_08

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_网络工程师_09


串行里面,端口号就电脑设备管理显示的COM3,波特率位9600,其余默认,注意流控这块都不选择。

PS:全新设备第一次console登陆AC是要求设置密码的(必须要求字母数字符号中的两种出现,区分大小写),而并不是要求你输入密码,这里别搞混了(FAT AP第一次进入也是)


2、SSH/WEB登陆


接任意一个电口,把电脑网卡设置成169.254.1.2,华为AC出厂地址为169.254.1.1,可以直接SSH 169.254.1.1 或者浏览器直接输入https://169.254.1.1

默认账号为admin,密码位admin@huawei.com,浏览器第一次登陆进去强制要求改密码,SSH则不需要

 

博主经验分享:有console线的情况线可以直接用console来开局设备,如果没有console,那么用SSH或者WEB的时候,可以把其中一个口当管理口,并且修改默认地址169.254.1.1为其他,可以是169.254.1.2~254任意一个 或者其他网段,为什么建议修改呢,因为华为AP默认出厂地址也是169.254.1.1,很有可能把设备都接上去了,当访问169.254.1.1的时候会出现访问不了WEB,或者输入了密码没反应。


博主经验分享:这里AP与AC的建立过程了解完毕,看着建立状态特别多,那么我们在工作中部署AP上线需要注意的几个地方,这里提一下,对于AP上线很有帮助哦。拿到客户的需求后,我们要了解客户组网环境来判断AP跟AC上线需要采取什么方式,这里博主以案例形式举例几个工作中常见的场景。

 

 (1)AC与AP都在同一VLAN网段的场景(这里省去外网以及有线部分,我们这里主要讲解无线上线这块)

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_10

 当AP与AC在同一个VLAN网段环境下属于最简单的环境了,只需要交换机接AP以及AC的接口配置划分到一个VLAN内即可,然后AC配置一个固定IP(必须是固定,这个地址用于CAPWAP通信),然后开启DHCP给AP分配地址(DHCP可以是三层交换机、路由器、AC上面。)这里我们以中间拓扑来举例。PS:关于常见的数通路由交换技术需要有一定了解,无线部分不会在详细讲解这一块。

 

1、5700交换机的配置

vlan 100

#

interfaceGigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 100

#

interfaceGigabitEthernet0/0/2

 port link-type trunk

 port trunk allow-pass vlan 100

 

2、3700交换机的配置

vlan 100

 

interface Ethernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 100

#

interface Ethernet0/0/2

 port link-type access

 port default vlan 100

#

interface Ethernet0/0/3

 port link-type access

 port default vlan 100

 

3、AC的配置

(1)VLAN、DHCP以及地址配置,该地址用于CAPWAP隧道建立使用。

vlan batch 100

#

interfaceGigabitEthernet0/0/1

 port link-type trunk

 port trunk allow-pass vlan 100

#

dhcp enable

#

interface Vlanif100

 ip address 192.168.100.1 255.255.255.0

 dhcp select interface

 

(2)指定CAPWAP使用哪个地址,这样后续AP与AC建立CAPWAP隧道就使用接口地址,这里位192.168.100.1

capwap source  interface Vlanif  100


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_无线ACAP初始化_11


可以看到现在没有任何一台AP上线。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_12


Ap已经是获取到了地址并且跟AC也能通信,但是没有上线


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道_13

我们抓包可以看到 两台AP都发送了 CAPWAP的discovery request来寻找AC,AC跟AP在一个网段内,按之前的报文交互流程AC应该收到了,而且会回应一个Discovery Response给AP,但从抓包来看并没有,这就涉及到我们常见上线的第一个难题了,AP地址也获取到了,跟AC通信也正常,但是不上线。



在这里就要了解下华为对于AP默认是开启了认证的,可以通过display ap global configuration 看到默认是采用的mac-auth,也就是说只有AC里面添加了AP的MAC地址信息,才能在AC的列表里面看到,否则则出现在未认证列表里面。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_14


display  ap unauthorized record通过该命令可以看到有两台未认证的设备存在,我们来深入看下discovery request的包里面包含什么。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_15


在包里面我们可以发现AP携带了产商、型号、序列号以及自身MAC地址,当AC收到后,它会查看自己WLAN配置里面是否有该AP的信息存在,如果没有则不会让其出现在AP列表里面,放入未认证列表。


解决办法:

(1)把认证方式改成不认证

       [AC6005]wlan  

       [AC6005-wlan-view]apauth-mode no-auth

 

(2)手动确认

         [AC6005-wlan-view]ap-confirm(后面可以跟MAC、SN、ALL),display  ap unauthorizedrecord查看未授权AP信息

         然后复制MAC,SN,而ALL的意思是则全部确认为授权信息

 

(3)手动把AP信息输入进去

       [AC6005-wlan-view]ap-id 1 ap-mac 00e0-fc2e-56f0

       [AC6005-wlan-ap-0]ap-name1F-1A

 

那么在平时工作中怎么去使用呢,博主的经验就是如果施工方好说话,把每个地点装的AP的MAC/SN信息都记录成表格形式了,那么我会采用手动信息输入方式上线,手动输入上线的好处在于,第一个可以排序,第二个可以在输入的过程中命名。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_16


默认情况下AP的命名是以MAC地址来命名的,采用手动输入方式的话,可以直接命名,后续AP上线就直接以名字显示,当后续出现故障,很快就能定位到是哪台AP,在什么位置。


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道_17


博主也是非常建议大家采用这种方式,虽然前期麻烦点,但是后期维护真心省不少事,特别是楼层多的场景,没记录信息的时候找一个AP可能得花费不少体力、精力。那么另外博主常用到的就是不认证了,规模不大的场景我都会选择不认证,AP少,好找,前期省不少事情。至于手动确认的方式博主没用过,暂时想不到什么场景用的少。(后续试验环境都一律采用不认证方式)

 

[AC6005-wlan-view]ap auth-mode no-auth (缺省模式是ap auth-mode mac-auth)


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_18


这时候在看AP就已经都上来了,这还只是涉及到了我们一种上线方式,二层上线,篇幅有限,在后续我们还会讲解到AP与AC建立CAPWAP过程中的抓包,分析每个包里面的内容,以及AP在AC中的状态显示,还有三层上线、AP静态地址配置等。

 

WEB操作单独说明(有的朋友喜欢WEB操作,命令行太复杂了,这里单独加上)

1、登陆WEB,默认地址169.254.1.1,电脑设置成169.254.1.2即可。默认账号admin 密码 admin@huawei.com这里说一个模拟器也是支持WEB的,可以直接桥接到本地即可(用云功能)


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_19


2、创建VLAN与VLANIF


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_无线ACAP初始化_20

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道_21

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_22


3、开启DHCP


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_华三思科无线_23

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_24


4、接口配置成trunk


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_网络工程师_25

2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_26


这里记得点击那个加号

 

5、配置CAPWAP source接口


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_capwap隧道_27


指定VLAN 100为capwap 原地址,认证方式可以采取MAC认证、SN认证、不认证,如果是MAC认证、或者SN认证可以直接这里添加AP即可

 

6、未认证的设备在AP配置里面可以看到


2、AP上线的那些事儿(1)capwap建立过程、设备初始化以及二层上线_ACAP二层上线_28


本文首发于公众号:网络之路博客