【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)
标签:profile,AC,WLAN,SSID,ap,default,AP,display 来源: https://blog.51cto.com/u_14895184/2907662