【WLAN】AP上线、SSID认证

## FITAP与AC的建立过程 ### CAPWAP协议 FITAP需要寻找AC,他们之间需要通过一种协议来构建通信,这个协议就是CAPWAP,全称control and provisioning of wireless access points protocol specification 无线接入点控制和配置协议。 1. 包括AC对AP的自动发现以及状态维护 1. AC对AP进行管理、业务配置下发 1. 客户端的信息通过AP发送CAPWAP协议告诉AC,AC进行维护 1. 客户端的业务数据也可以通过capwap交给AC进行转发(可选,隧道转发才需要用到) #### 报文结构 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805053964159.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 1. CAPWAP是基于UDP端口的应用层协议 1. CAPWAP协议传输层运输两种类型的负载: 1. 数据消息,封装转发无线帧 1. 控制消息,管理AP和AC之间交换的管理消息,通常AP上线就用到控制消息 3. CAPWAP数据和控制报文基于不同的UDP端口发送 1. 控制报文端口为UDP端口5246 1. 数据报文端口为UDP端口5247 4. DTLS加密是可选的,华为设备默认没有开启 ### FIT AP与AC建立的过程 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805075132490.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 1. **发现机制** 首先AP需要获取到一个IP地址,用于跟AC通信(通常是dhcp方式,也可以AP手动静态设置),要求获取到的IP地址与AC之间时可通信的。(如果地址与AC在统一VLAN,称为二层上线; 不在同一vlan,成为三层上线) 2. **当AP获取到地址后,AP会启用CAPWAP发现机制,会出现如下几个场景** (1)AP、AC在同一VLAN: AP发送discovery request 广播报文自动发现统一网段AC,AC收到后会响应一个discovery response 给AP,AP收到后就开始与AC建立CAPWAP隧道; (2)AP、AC跨三层VLAN网段场景: 这时候需要DHCP参数中携带option43参数,告诉AP ,AC的地址,AP通过option43中携带的地址参数,直接发送一个discovery request单播报文,AC收到后会响应一个discovery response 给AP,AP收到后就开始与AC建立CAPWAP隧道; (3)手动设置地址场景: 直接跳过发现机制,直接向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与现在的配置要求不符,会通过回复configuration status response 通知AP来同步; AP同步的时候,会发送configuration request来请求新的配置,AC则回应configuration update response 来下发配置给AP,让AP进行同步。 7. **Data check** configuration阶段完成后,AP发送change state event request信息,其中包含了radio,code、配置信息等,当AC接收到change state event request后,开始回应changestate request 来请求新的配置,AC则回应configuration update response来下发配置,让AP进行同步,同步一致的化,表示已经完成date check 管理隧道建立的过程,开始进入run状态、 8. **Run (最终正常工作状态)** AP发送keepalive到AC,AC收到后表示数据隧道建立,AC回应keepalive,AP进入"normal"状态,开始正常工作。同时AP发送echorequest报文给AC,宣布建立好CAPWAP管理隧道开始启动echo发送定时器和隧道检测超时器以检测管理隧道时候的异常。 ### 开局 1. console口 1. SSH/WEB登录 华为AC出场地址为169.254.1.1,修改电脑IP地址为同网段后,使用SSH或浏览器输入https://169.254.1.1即可; 默认账号为admin,初始密码通常为admin@huawei.com 建议登陆后修改管理地址。 ## AP上线 ### 二层上线场景(同vlan) #### 拓扑图 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805099259655.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) #### 基础配置 sw1 ```shell sysname sw1 vlan 100 port-group group-member g0/0/1 g0/0/2 port link-type trunk port trunk allow-pass vlan 100 ``` sw2 ```shell sysname sw2 vlan 100 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 100 port-group group-member e0/0/1 e0/0/2 port link-type access port default vlan 100 ``` AC1 ```shell sysname ac1 # VLAN、DHCP以及地址配置,该地址用于CAPWAP隧道建立使用 vlan 100 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 100 dhcp enable interface Vlanif 100 ip add 192.168.100.1 24 dhcp select interface ``` #### 指定capwap源地址 ```shell # 指定capwap使用的源地址,这里使用接口地址vlanif100, 即192.168.100.1 [AC1]capwap source interface Vlanif 100 ``` #### 认证 华为AC对于AP默认开启了认证,默认采用的时mac-auth方式,只有在AC里添加了AP的mac地址信息,才能在AC的列表里看到AP设备,否则会出现在未认证列表里 ```shell #查询当前认证方式 display ap global configuration #查询未认证列表 display ap unauthorized record ``` ```shell [ac1]display ap global configuration -------------------------------------------------------------------------------- AP auth-mode : MAC-auth AP LLDP swtich : enable AP username/password : -/****** AP data collection : disable AP data collection interval(minute): 5 ---------------------------------------------------------------- display ap unauthorized record Unauthorized AP record: Total number: 2 -------------------------------------------------------------------------------- AP type: AP2050DN AP SN: 2102354483106C58D608 AP MAC address: 00e0-fc29-5d80 AP IP address: 192.168.100.197 Record time: 2021-06-15 19:20:54 -------------------------------------------------------------------------------- AP type: AP2050DN AP SN: 210235448310EF779247 AP MAC address: 00e0-fcea-2010 AP IP address: 192.168.100.216 Record time: 2021-06-15 19:20:53 ---------------------------------------------------------------- ``` **解决认证的方法** 1. 把认证方式改成不认证 ```shell # [ac1] wlan ap auth-mode no-auth ``` 2. 手动确认 ```shell wlan ap-confirm [MAC|SN|] # 可以使用未认证列表中查到的MAC、SN信息,ALL表示全部确认为授权信息 ``` 3. 手动输入AP信息 ```shell wlan ap-id 1 ap-mac 00E0-ECEA-2010 ap-name 1F01 # 命名设备 #查询 display ap all ``` ### 三层上线 #### 拓扑图 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805145326048.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) #### 基础配置 SW1 ```shell sysname sw1 vlan batch 2 3 100 dhcp enable int Vlanif 100 ip address 192.168.100.1 24 interface Vlanif 2 ip address 192.168.2.1 24 dhcp select interface int Vlanif 3 ip address 192.168.3.1 24 dhcp select interface # 关联vlan100管理网段,放行vlan100 interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass vlan 100 # 监控网当作连接傻瓜交换机,所以配置access接口 interface GigabitEthernet0/0/2 port link-type access port default vlan 3 # 关联vlan2网段,trunk接口放行vlan2、100 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 2 100 ``` SW2 ```shell sysname sw2 vlan batch 2 100 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 2 100 interface GigabitEthernet0/0/2 port link-type access port default vlan 2 # 正常指定默认路由,使其与其他网段都能互访 ip route-static 0.0.0.0 0 192.168.2.1 ``` AC1 ```shell sysname ac1 vlan 100 #对接三层交换机的口配置成trunk interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass vlan 100 #创建管理地址,用于跟AP建立CAPWAP隧道用 interface Vlanif 100 ip address 192.168.100.3 24 # 默认路由让其他vlan都能互访 ip route-static 0.0.0.00.0.0.0 192.168.100.1 ``` #### 指定capwap源地址 AC1 ```shell capwap source interface Vlanif 100 ``` #### 认证模式配置 AC1 ```shell #设为不认证 wlan ap auth-mode no-auth ``` 这时再AC上查询设备是看不到AP设备的,因为capwap发现机制 属于广播报文,这个环境是跨越了vlan的,所以AC根本接收不到,需要配置option43 #### option43 配置 SW1 ```shell # 跨vlan网段,即三层场景中,需要再DHCP服务中配置option43 interface Vlanif2 dhcp server option 43 sub-option 3 ascii 192.168.100.3 interface Vlanif3 dhcp server option 43 sub-option 3 ascii 192.168.100.3 ``` 重启AP再查询AP设备,已经显示上线了 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805162610311.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### AP采用静态地址上线 静态地址设置的场景一般不多,默认情况下AP是DHCP方式的 AP配置 ```shell ap-address mode static #静态模式 ap-address static ip-address 192.168.2.2 255.255.255.0 192.168.2.1 #指定ip地址、掩码、网关 ap-address static ac-list 192.168.100.1 #指定AC地址 reboot fast # 重启生效 ``` ### 排错相关命令 1. `display ap online-fail-record all`        #查看AP上线失败的原因 报错: - Not in MAC whitelist或者Not in SN whitelist:是因为AC开启了MAC/SN认证AP的方式 解决方式: (1)添加白名单ap whitelist MAC/SN 后面跟MAC或者SN参数 (2)离线添加AP :ap-id  0 ap-mac - The AP is added to the AP blacklist:是因为AC配置了AP黑名单,可以直接undo  ap blacklist (在WLAN视图下) - CAPWAP tunnelnegotiation fails. 或 The CAPWAP tunnel fails to be established:这2个提示都是CAPWAP建立失败导致 排查方向:(1)线路问题  (2)速率双工协商不一致(3) AP到AC的路径中出现了故障 - Insufficient license resources:AC授权不够了导致AP没办法上线 授权查看:`display license`,也可以在WEB端的维护里面查看到 `displaylicense resource usage` ,该命令可以直接查看当前用了多少,总数量是多少 - The versions of the AP and AC do not match :AP跟AC的版本不一致 - The AC does notsupport the AP type:目前AC的版本不支持该AP(通常是比如AC的版本是有几个版本没更新了,而新加入的AP是后面版本才加入支持的,所以识别不到) 解决方式:(1)AC上面批量升级AP (2)升级AC版本到支持该AP型号的版本 查看AC支持的型号:`display ap-type all` 2. `display ap offline-record all`    #查看AP下线记录信息 - Echo time:AP与AC的中间网络故障导致的心跳报文超时(检查对应中间线路、配置是否出现问题) - Insufficient license resources   授权不足 - The AP is added to the blacklist   AP被添加进了黑名单 - 重启AP以及AP升级自动重启会出现的提示(这个是常规提示,不需要处理) Reboot by ap updatereset command. The AP is resetautomatically after the upgrade. 3. `display station online-fail-record all``(可以跟具体MAC、AP信息)`        # 查看客户端上线失败的原因,这个对于排错非常有用,特别是后面的MAC、dot1x认证的时候 4. `display station offline-record  all``(可以跟具体MAC、AP信息)`        # 查看客户端下线记录,排错的时候可以快速定位某个客户端下线的原因。 ### 维护相关命令 1. `display ap all` #查看当前AP信息,包括ID序列号、AP的MAC地址、名称、在哪个组、IP地址、AP类型、状态、运行时间 ```shell #重点看state状态 1. nor:正常状态 2. fault:曾经正常上线,但是某些原因跟AC失去了通信。(1)供电问题(2)AP的上行线路出故障 (3)升级自动重启 (4)AP设备故障 (5)AP与AC之间的网络出现故障 3. dload:当AP与AC版本不一致的时候,我们在AC配置了升级那么升级中的AP会出现这个状态 4. cfg:当新的AP上线到AC后,AC会下发业务配置给AP,AP进行同步。如果出现了cfgfa表示同步失败,需要检查AP与AC之间的连通性。 5. cmt:当AP已经上线在AC后,AC增加或者删除、更改了WLAN业务配置,AC会主动下发给AP这些变动的配置。如果出现了cmtfa表示下发失败,需要检查AP与AC之间的连通性。 6. idle:AP与AC重来没有建立过CAPWAP隧道,而是人为添加上去,一直没有上线成功 7. vmiss:当前AC与AP的版本不一致,无法正常工作,需要进行升级或者降级。 8. namec:两个AP的名字冲突了,可以通过ap-renameap-id 来更改名字 ``` 2. `display capwap configuration`             # 查看当前CAPWAP的配置 3. `display ap global configuration`     # 查看当前AP采用的认证方式 4. `display ap version all`                    # 查看AP当前版本,主要检查与AC是否匹配 5. `display ap blacklist`                       # 显示AP的黑名单,有时候不小心添加进去了,导致AP上不了线 6. `display access-user`                         # 查看当前在线用户 7. `display station all[/sta-mac]`          # 查看所有[/具体]客户端的接入信息 8. `display station statistics ` `(可以跟具体MAC地址)`          # 查看到AC或者某个客户端的统计信息,可以查看到上线成功的数量、认证失败、超时等、以及漫游情况 ### AC常见操作命令 所有操作都在WLAN视图下完成 1、`ap-reset`:可以重启某一台AP、或者全部AP 2、`ap-rename`:对某个AP进行名字更改,冲突的时候或者位置名字发生改变使用 3、`ap-id 1 ap-mac`:离线添加AP 4、`ap auth-mode`:AP认证模式更改 5、`ap lldp enable` :可以看到AP接在哪个交换机下面,前提对应的POE交换机也开了LLDP功能  ```shell [ac1]lldp enable [ac1]wlan [ac1-wlan-view]ap lldp enable [sw2]lldp enable [sw2]dis lldp neighbor brief Local Intf Neighbor Dev Neighbor Intf Exptime GE0/0/1 sw1 GE0/0/1 108 GE0/0/2 00e0-fcd3-2f90 GE0/0/0 [ac1]dis ap lldp neighbor brief -------------------------------------------------------------------------------- ---------------- Hostname Neighbor device Management address Local intf Neighbor intf TTL -------------------------------------------------------------------------------- ---------------- 00e0-fcd3-2f90 sw2 4c1f-cc0d-519a GE0 GigabitEthernet 0/0/2 107 -------------------------------------------------------------------------------- ---------------- Total: 1 ``` 6、`ap username / ap password`:更改AP的登陆认证帐号密码,默认为初始化帐号密码 7、`ap blacklist mac / ap whitelist mac` :AP的黑白名单功能,在白名单里面,AP采用MAC认证的情况下直接通过,如果是黑名单,则直接不允许。 ## SSID/密码认证 实际使用中,需要AP发射出1个或者2个SSID,以及密码,在AC里是以模板的形式来配置的 #### 1. SSID模板 我们可以通过创建模板形式,在模板下面定义我们需要的SSID名称,方便调用 #### 2. 安全模板 通过创建安全模板形式,来定义不同的认证方式、密码 #### 3. VAP模板 当我们创建完SSID模板、安全模板后,我们需要关联他们,VAP就是用来关联各种业务相关的模板 #### 4. AP组 当AP上线成功后,它会加入到系统容默认的default组,组的作用是把相同区域的AP放在里面,然后可以集中进行配置,VAP模板最终是调用在AP组下面。 ### 最简单配置 调用vap到AP默认组 ```shell wlan ap-group name default vap-profile default wlan 1 radio all ``` 已经可以产生信号,有SSID,且加密方式为不认证 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210616/1623805193500538.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 查看模板默认参数 #### SSID模板 `display ssid-profile all`      # 查看当前创建的模板,默认存在时default ```shell [ac1]display ssid-profile all ------------------------------------------------------------------- Profile name Reference ------------------------------------------------------------------- default 1 ------------------------------------------------------------------- Total:1 [ac1]display ssid-profile name default # 可以看到SSID默认模板里面内置了一个SSID:HUAWEI-WLAN ``` #### 安全模板 `display security-profile all`         ```shell # 默认系统内置三个安全模板,一个正常业务使用,一个WDS,一个mesh [ac1]dis security-profile all ------------------------------------------------------------ Profile name Reference ------------------------------------------------------------ default 1 default-wds 1 default-mesh 1 ------------------------------------------------------------ Total: 3 [ac1]display security-profile name default #可以看到默认的模板采用的是开放认证,不需要输入任何密码。 ``` #### VAP 模板 `display  vap-profile all ` ```shell [ac1]display vap-profile name default ... SSID profile : default Security profile : default Traffic profile : default ... # 默认情况下,VAP默认模板里直接调用了SSID、security、traffic的默认模板,也就是我们最终情况下,只需要调用vap默认模板在默认AP组里面就可以让业务生效了 ``` #### 流量模板 `display traffic-profile all`        # 默认存在一个default `display traffic-profile name default`: 流量模板的作用 (1)提供VAP或者每客户端的限速 (2) 控制某些流量能否访问,比如只能访问互联网 (3)CAPWAP等优先级 通常情况下,我们都用默认的参数即可。 #### AP组 `display ap-group all` ```shell [ac1]display ap-group all -------------------------------------------------------------------------------- Name APs -------------------------------------------------------------------------------- default 2 -------------------------------------------------------------------------------- Total: 1 # 查看默认组 [ac1]display ap-group name default ... Radio 0 Radio 2.4G profile : default Radio 5G profile : default VAP profile WLAN 1 : default ... Radio 1 Radio 5G profile : default VAP profile WLAN 1 : default ... Radio 2 Radio 2.4G profile : default Radio 5G profile : default VAP profile WLAN 1 : default ... #关键部分显示,默认情况下是调用了射频组2.4G、5G ``` ### 常规配置 AC1 ```shell wlan # 进入wlan模式 ssid-profile name wifi #定义SSID模板名字,与SSID名字一样,方便后续查找 ssid wifi #定义SSID名字 quit security-profile name wifi #定义安全模板名称 security wpa2 psk pass-phrase 88888888 aes #定义安全类型为wpa2,加密类型为AES,密码为8个8,WPA2+AES是最常使用的 quit vap-profile name wifi #定义VAP模板名称 ssid-profile wifi #关联ssid模板 security-profile wifi #关联安全模板 quit ap-group name default #AP组可以使用默认的,大部分场景中我们都使用一个组就解决问题了 # undo vap-profile default wlan 1 radio all vap-profile wifi wlan 1 radio all #调用创建的VAP模板 ``` ---- 参考资源:[网络之路博客](https://blog.51cto.com/ccieh3c/category9.html)
上一篇:TWT节能机制


下一篇:题解 P2569【 [SCOI2010]股票交易】