本文记录了WLAN配置实践的过程,该操作在华为HCIA中属于相对较复杂的实验,记录过程备忘。这里不就WLAN原理解释,仅进行配置实践,可以作为学习原理时候的参考。本文使用华为ENSP进行仿真。实验拓扑图如下:
在配置WLAN之前,需要确保基本网络的连通性,这里在ENSP中使用的WLAN拓扑如下,采用瘦AP模式,由路由器上配置DHCP,LSW1进行DHCP中继,AC采用旁挂式。设置两个VLAN,其中VLAN100 控制VLAN 传输CAPWAP协议,VLAN200是业务VLAN。其中LSW2作为二层交换机使用,LSW1作为三层交换机使用。
SW2配置
[SW2]vlan batch 100 200 # 创建业务和数据VLAN
[SW2]int g0/0/2
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 100 200
# AP刚发出的帧是不带标记的,为了让帧能达到VLAN100对应的三层接口,
# 需要打上标记,因此配置PVID100
[SW2-GigabitEthernet0/0/2]port trunk pvid vlan 100
# 这里不能配置PVID100,否则AP数据从0/0/1口出来后会被剥离VLAN100标签,
# 无法找到VLAN100三层口
[SW2]interface GigabitEthernet0/0/1
[SW2-GigabitEthernet0/0/1] port link-type trunk
[SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 100 200
SW1配置
[SW1]vlan batch 100 200
[SW1]interface GigabitEthernet0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW1]interface GigabitEthernet0/0/3
[SW1-GigabitEthernet0/0/3] port link-type trunk
[SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan all
[SW1]interface GigabitEthernet0/0/1
# 需要配置为aceess,数据通向路由器时候标签被去除,否则路由器不认识包
# 如果要配置为trunk,则需要配置PVID移除标签
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 1000
AC配置
[AC]vlan batch 100 200
[AC-GigabitEthernet0/0/1] port link-type trunk
[AC-GigabitEthernet0/0/1] port trunk allow-pass vlan all
配置DHCP中继
SW1上配置接口类型
[SW1]interface vlanif100
[SW1-Vlanif100]ip address 10.1.1.2 24
# 交换机与路由器之间建立三层逻辑口,将g0/0/1划入VLAN1000
[SW1]vlan 1000
[SW1]interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 1000
R1配置相关接口
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] ip address 10.1.12.1 255.255.255.0
此时可以在路由器上ping通交换机端口
在SW2 g0/0/1上抓包,可以看到DHCP Discocery广播
但此时交换机不会将该DHCP广播帧泛洪到路由器。因为从SW2 g0/0/1上传递出来的DHCP Discocery报文是打着VLAN100标签,只能到达VLANif100对应目的地,而SW1的g0/0/1属于VLANif 1000,因此必须通过三层转发才行。
但是该广播没法转发到路由器DHCP服务器,需要在SW1上开启DHCP中继。继续在SW1上进行配置:
SW1上配置中继
[SW1]dhcp enable
[SW1]int vlan 100
[SW1-Vlanif100]dhcp select relay # 配置中继后,广播变成单播
[SW1-Vlanif100]dhcp relay server-ip 10.1.12.1 # 设置DHCP服务器地址
在SW1 g0/0/1上进行抓包,可以看到已经从上面的广播变为单播,但此时只是AP发往路由器,并没有路由器给AP的回复。
在路由器上开启DHCP功能
[AR1]dhcp enable # 开启DHCP功能
[AR1]ip pool 1 # 配置DHCP地址池
[AR1-ip-pool-1]network 10.1.1.0 mask 255.255.255.0
[AR1-ip-pool-1]excluded-ip-address 10.1.1.1 # 排除一个地址给AC用
[AR1-ip-pool-1]gateway-list 10.1.1.254 # 配置AP网关地址
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]dhcp select global # 在接口上开启地址分配
R1和SW1上配置路由
[AR1]ospf router-id 1.1.1.1
[AR1-ospf-1]area 0
# 简化起见,全网通告
[AR1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
[SW1]ospf router-id 2.2.2.2
[SW1-ospf-1]area 0
[SW1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
在SW1 g0/0/1上进行抓包,可以看到服务器回复的DHCP Offer:
展开DHCP服务器发给中继的DHCP Offer消息,可以看到以下关键信息:
中继是替客户端AP获取动态地址,因此此处抓到的都是中继和DHCP服务器之间的DHCP交互,而且经过中继后是单播形式。
在AP上查看,现在AP已经获得了DHCP动态分配的IP地址,即上面看到的10.1.1.253/24
FIT AP需完成上线过程,AC才能实现对AP的集中管理和控制,以及业务下发。为了AP能上线,AC需要配置如下内容:
AP的上线过程包括如下步骤:
这一步的操作在步骤0中已经完成,在实验中可以看到AP1已经获取到了10.1.1.253/24
在AP通过DHCP得到自己的地址后,就会通过广播发送CAMWAP协议去找AC,此时在SW2 g0/0/1开启抓包,可以看到:
注意:如果AP和AC不在同一个网段,这个时候AP就不可能用广播去寻找AC,而是单播寻找。在R1的DHCP中需要增加option43配置:
[AR1]ip pool 1
[AR1-ip-pool-1]option 43 ip-address AC地址
这一步受限于模拟器无法做出效果,真机中可以。
上面的报文中可以看到AC并未回复,接下来配置AC:
[AC]interface Vlanif 100
[AC-Vlanif100]ip address 10.1.1.1 24
[AC]capwap source interface Vlanif 100 # 配置CAPWAP源地址
AC上配置监视域的模版:
[AC]wlan
[AC-wlan-view]regulatory-domain-profile name ctr # 配置监控域模版,ctr是自定义名字
[AC-wlan-regulate-domain-ctr]country-code cn # 国家码,每个国家发射功率不同
AC上配置AP组,方便需要对多个AP进行分组管控:
[AC]wlan
[AC-wlan-view]ap-group name ctr # 建立AP组,ctr是自定义名字
Info: This operation may take a few seconds. Please wait for a moment.done.
[AC-wlan-ap-group-ctr]regulatory-domain-profile ctr # 将监控域模版挂入需要的AP组
Warning: Modifying the country code will clear channel, power and antenna gain c
onfigurations of the radio and reset the AP. Continue?[Y/N]:y
AC上配置AP信息,可以用AP序列号SN认证,也可以用AP MAC认证,这里用AP MAC认证,查询AP MAC:
在AC上配置
[AC]wlan
[AC-wlan-view]ap-id 1 ap-mac 00e0-fc41-58d0 # 配置AP的MAC
[AC-wlan-ap-1]ap-group ctr # 挂到AP组,让AP上线
查看一下AP是否上线,看到状态nor
为正常上线
此时在AP上也弹出上线消息,命令提示符转换为BSSID:
在在SW2 g0/0/1开启抓包,可以看到,完整的CAMWAP交互报文:
需要在AC上建立如下模版:
[AC]wlan
[AC-wlan-view]security-profile name ctr # ctr是自定义名字
# psk:共享秘钥方式 huawei@123:自定义的秘钥 aes:使用高级加密方式
[AC-wlan-sec-prof-ctr]security wpa-wpa2 psk pass-phrase huawei@123 aes
[AC]wlan
[AC-wlan-view]ssid-profile name ctr
[AC-wlan-ssid-prof-ctr]ssid ctr # ctr为自定义名称
[AC]wlan
[AC-wlan-view]vap-profile name ctr
[AC-wlan-vap-prof-ctr]ssid-profile ctr # 把SSID模版挂上去
Info: This operation may take a few seconds, please wait.done.
[AC-wlan-vap-prof-ctr]security-profile ctr # 把安全模版挂上去
Info: This operation may take a few seconds, please wait.done.
[AC-wlan-vap-prof-ctr]service-vlan vlan-id 200 # 业务VLAN,数据上来后会打上VLAN200标签
Info: This operation may take a few seconds, please wait.done.
[AC]wlan
[AC-wlan-view]ap-group name ctr
[AC-wlan-ap-group-ctr]vap-profile ctr wlan 1 radio all # 下发安全、SSID、射频频段
Info: This operation may take a few seconds, please wait...done.
下发配置后,模拟器中的拓扑图上WLAN区域可以看到变化,不得不说华为的ENSP模拟得挺好。
此时在模拟器中添加一个笔记本电脑,连接WLAN,发现地址获取不到:
原因在于业务VLAN200在SW1中没有配置
[SW1]interface Vlanif 200
[SW1-Vlanif200]ip address 192.168.1.254 24
[SW1-Vlanif200]dhcp select interface # 通过接口自动分配DHCP地址
此时笔记本WLAN已经连接上
ping网关能通:
此时业务数据不会经过AC(direct-forward),如果所有业务都需要先通过隧道方式到达AC再转发,则需要在AC上如下配置:
[AC]wlan
[AC-wlan-view]vap-profile name ctr
[AC-wlan-vap-prof-ctr]forward-mode tunnel
Warning: This action may cause service interruption. Continue?[Y/N]y
此时在笔记本上ping 192.168.1.254,在SW2 g0/0/1口抓ICMP包,可以看到先找AC后找网关的过程,使用的使IPOverIP技术
查看AP2 MAC
在AC上加入AP2
[AC]wlan
[AC-wlan-view]ap-id 2 ap-mac 00e0-fc87-2990
[AC-wlan-ap-2]ap-group ctr
Warning: This operation may cause AP reset. If the country code changes, it will
clear channel, power and antenna gain configurations of the radio, Whether to c
ontinue? [Y/N]:y
Info: This operation may take a few seconds. Please wait for a moment.. done.
在SW2上做相应配置:
[SW2]interface g0/0/3
[SW2-GigabitEthernet0/0/3]port link-type trunk
SW2-GigabitEthernet0/0/3]port trunk pvid vlan 100
[SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan all
此时在AC上可以看到新增加的AP:
模拟器中AP2也开始发射信号
在模拟器上将笔记本电脑从AP1区域移动到AP2区域,在笔记本上持续ping 192.168.1.254,可以发现不掉包,即在ESS内,可以不改变SSID进行漫游切换