简介
上一篇已经把整个网络的网络初始化已经完毕,从接入交换机的VLAN划分以及接口类型配置,到核心交换机的初始化,VLANIF创建跟DHCP与路由,出口路由器的路由 NAT等,这些初始化的目的主要是为了让整个网络能够通信起来,比如AP能获取到地址与AC建立CAPWAP隧道,当WLAN业务部署起来后,无线客户端关联后获取到地址能够正常访问其他内网或者外网。这次主要介绍WLAN业务相关,以及如何在两个AP之间进行漫游,包括二层漫游的注意事项。
【掌握目标】
1、AP正常上线
2、配置WLAN业务
3、下发给AP
4、Client关联,并且查看命令
5、访问外网测试
6、漫游测试 (漫游过后会丢包?)
7、解析为什么会造成这样的情况以及解决方案
8、模拟器支持的漫游效果以及拓扑
9、在二层漫游时候应该注意的问题
拓扑说明
说明:该拓扑内有2个办公区域,部署了无线业务,提供给办公人员使用,但是由于两个区域之间距离相对较远,一个AP的信号覆盖不了2个区域,所以必须每个办公区域1个AP,又希望办公人员从区域1到区域2办公的时候,不需要执行操作就能继续的享受无线提供的业务。AP设备连接在POE的接入交换机上面(二层交换机),接入交换机只提供VLAN的划分以及与核心交换机对接,核心交换机提供DHCP服务以及业务VLAN的网关,并提供高速转发,路由器作为出口设备,主要提供给下面客户端上网业务,在上面执行NAT服务,使得下面无线客户端能够访问外网。而AC主要是用来管理AP以及下发业务给AP,让AP正常工作。
管理VLAN 100:192.168.100.0/24 GW:192.168.100.254 AC:192.168.100.1
业务VLAN 101:192.168.101.0/24 GW:192.168.101.254
与路由器对接接口VLAN 1:192.168.1.0/24 交换机地址:192.168.1.1 路由器内网地址:192.168.1.2
隧道转发模式:直接转发
AP上线组网方式:二层(同一个子网广播)可以通过discovery发现,不需要用到Option 43
SSID:Intranet 认证与加密方式:WPA2 PSK+CCMP
1、AP正常上线
1、AC必须配置源地址【可以跟使得AP跟AC建立capwap隧道】,AP能够通过CAPWAP discovery让AC收到discovery包,然后AC回复respons
2、AP的认证方式,默认为MAC-auth,可以修改为序列号或者是不认证,只有认证通过的AP才能正常上线。
3、版本问题(AP与AC的版本要对应匹配,这个具体看文档说明),版本不匹配,AP也关联不上AC
[Huawei-AC]wlan
[Huawei-AC-wlan-view]wlan ac source interface Vlanif 100
说明:这里配置了AC的源地址是用VLAN 100,也就是用该地址与AP建立CAPWAP 隧道。
AP的认证方式默认为MAC-AUTH,MAC地址可以通过在AP上面命令查看。
[Huawei-AC-wlan-view]ap id 0 type-id 19 mac 00e0-fc70-2c90
[Huawei-AC-wlan-view]ap id 1 type-id 19 mac 00e0-fc24-1ce0
通过手动添加,来添加设备的MAC地址,这样AP可以通过认证,就可以正常上线了。这里id是自定义的,只是一个序列号而已,但是type-id很正常, 它跟你实际关联设备有关,该设备为AP6010DN-AGN这个在刚刚display中有显示,所以可以通过命令display ap-type all查看AC支持关联的AC类型与序列号,看自己要关联的AP是多少 这里就填写多少。
可以看到AP现在已经获取到地址了,可以会发送CAPWAP discovery报文来寻找AC
可以看到两台AP上面的CAPWAP状态为RUN了,RUN表示CAPWAP隧道协商完成,AP已经正常上线到AC上面。
可以通过display ap all 来查看AP是否上线了,state为normal表示正常。这里表示AP已经正常上线了。
2、配置WLAN业务
配置WLAN业务,由于两台AP之间是需要做漫游的,而且这里是二层漫游,所以我们可以把WLAN-ESS接口、WMM、射频模板、安全、流量模板以及服务器都定义同一个,然后在AP下面关联即可,这样简化了配置,也保证了漫游的一些注意事项,当然信道需、功能等可以不一样 手动调整或者自动调优都可以。
(1)创建wlan-ess接口
[Huawei-AC]interface Wlan-Ess 101
[Huawei-AC-Wlan-Ess101]port hybrid pvid vlan 101
[Huawei-AC-Wlan-Ess101]port hybrid untagged vlan 101
说明:创建wlan-ess接口,下面的hybird接口类型是可选的,该接口可以启用各种安全认证、QOS策略以及ACL等。
(2)WMM模板与射频模板
[Huawei-AC-wlan-view]wmm-profile name roam
[Huawei-AC-wlan-view]radio-profile name roam
[Huawei-AC-wlan-radio-prof-roam]wmm-profile name roam
[Huawei-AC-wlan-radio-prof-roam]channel-mode fixed (默认为自动)
说明:WMM模板可以定义流量优先级,射频模板功能比较多,可以设置功率、802.11类型以及更多的,最简单的就是要关联WMM模块才能被射频调用,所以这里调用WMM即可,其他的使用默认。
(3)流量模板与安全模板
[Huawei-AC-wlan-view]traffic-profile name roam
[Huawei-AC-wlan-view]security-profile name roam
[Huawei-AC-wlan-sec-prof-roam]security-policy wpa2
[Huawei-AC-wlan-sec-prof-roam]wpa2 authentication-method psk pass-phrase simple ccieh3c.taobao.com encryption-method ccmp
说明:流量模板里面可以定义流量限速等,而安全模板则是定义安全策略,默认为Open,需求是WPA2 PSK+CCMP,所以这里修改了。
(4)服务集模板
[Huawei-AC-wlan-view]service-set name roam
[Huawei-AC-wlan-service-set-roam]ssid Intranet
[Huawei-AC-wlan-service-set-roam]service-vlan 101
[Huawei-AC-wlan-service-set-roam]wlan-ess 101
[Huawei-AC-wlan-service-set-roam]forward-mode direct-forward
[Huawei-AC-wlan-service-set-roam]traffic-profile name roam
[Huawei-AC-wlan-service-set-roam]security-profile name roam
说明:定义SSID,然后业务VLAN,以及WLAN-ESS接口,默认转发模式是直接转发,其他的就是关联流量模板与安全模板了。
(5)在射频绑定射频模板以及服务集
[Huawei-AC-wlan-view]ap 0 radio 0
[Huawei-AC-wlan-radio-0/0]radio-profile name roam
Warning: Modify the Radio type may cause some parameters of Radio resume default value, are you sure to continue?[Y/N]:y
[Huawei-AC-wlan-radio-0/0]service-set name roam
[Huawei-AC-wlan-view]ap 1 radio 0
[Huawei-AC-wlan-radio-1/0]radio-profile name roam
Warning: Modify the Radio type may cause some parameters of Radio resume default value, are you sure to continue?[Y/N]:y
[Huawei-AC-wlan-radio-1/0]service-set name roam
[Huawei-AC-wlan-radio-1/0]channel 20mhz 6
说明:ap 0是之前定义的序列号,radio 0表示2.4G频率,如果是双频的话,还可以定义1,1表示5G,然后在射频里面调用了服务集以及射频模板。另外AP 1里面我是手动把channel修改为6了,默认都是1,模拟器不支持自动调优 所以这里手动指定下。工作中也可以人为修改,或者自动调优都可以。
3、下发给AP
[Huawei-AC-wlan-view]commit all
Warning: Committing configuration may cause service interruption,continue?[Y/N]y
这里提交服务给所有AP,也就是AP-1与AP-2。
可以看到模拟器已经发出模拟的信号了,圆圈表示一个AP提供的信号覆盖范围。
4、Client关联测试
可以看到客户端收到了一个无线信号,当然这个由于目前Client在AP 1的无线覆盖范围内,并没有在AP2,所以看不到AP2发送出来的。
输入密码连接。
可以关联上去后,获取地址到最后的链接成功。
可以通过该命令查看用户关联,默认它记录的是MAC地址跟IP地址对应
也可以通过该命令查看AP 0上面关联了哪些客户端
5、访问外网测试
可以看到获取到了业务VLAN 101的地址。
可以看到访问外网没有任何问题,而且出口设备上面也有NAT转换。
6、漫游测试 (漫游过后会丢包?)
现在客户端已经早AP-1关联上去了
访问公网没有问题,然后一直开着测试
在最新版的模拟器中支持一个移动功能,它可以慢慢移动到自己指定的位置,让漫游可以切换,这样比人为手工来慢慢拖要方便很多。可以看到客户端从最开始AP-1发出的信号,慢慢移动,到可以收到AP-2的信号,然后漫游切换,直到只能看到AP-2发出的信号。
7、解析为什么会造成这样的情况以及解决方案
可以看到无线客户端从AP-1漫游到AP-2后突然不能通信了,那么造成这样的问题是什么呢?
我们可以看到核心交换机上面有这样的提示,说出现了MAC地址翻动,为什么会出现这个提示呢? 我们来看下拓扑
无线客户端原本在AP-1上面,它通过AS-1交换机连接核心交换机,那么核心交换机学习到该无线客户端的MAC地址则是从G0/0/2后口学习到,那么对应的ARP信息也会是IP MAC然后+接口绑定在ARP表项中,当无线客户端从AP-1漫游到AP-2后,由于在持续发包,这时候数据包会从AS-2接入交换机发送给核心交换,但这时候核心交换机就发现原本MAC地址表里面的MAC地址是从G0/0/2学到,但是这时候又从G0/0/3收到了该源MAC对应的数据帧,所以交换机以为有相同的MAC地址出现在网络中,提示MAC地址flapping,不过华为交换机默认对MAC地址flapping是不采取措施的,只是告警而已,那么真正影响漫游后不通的是ARP。
我们可以看到关于192.168.101.253 的ARP映射,目前处于的接口是G0/0/2
但是我们在看核心交换上面的MAC地址其实已经更新到了,MAC地址从G0/0/3后口学到,那为什么ARP不会更新呢,这里我主要解决ARP更新问题,它能主动更新的话,那么则表示它能回应数据包的请求。
这里说下ARP的机制,在什么时候会刷新ARP表项,它只有收到这个表项对应的条目的请求、或者回应(包括免费ARP),无论从哪个接口收到,它都会更新定义的接口或者表项,这时候它才会刷新ARP表项。
我们可以看到目前无线客户端上面还是有对应的ARP映射关系的,所以跟本不会发送ARP的询问,这样也不会刷新。
可以用ARP-D来清理下
这时候就通了,这时候通是因为无线客户端没有对应的网关的ARP信息,所以要发送请求给网关,这时候网关收到ARP后,由于跟已经存在的ARP里面的条目一样,这时候会刷新ARP表项。
这时候就变成了101了。
当然在实际环境中,我们肯定不能要求客户漫游的时候还执行下这个操作,这样肯定是不太现实或者说失去了漫游的意义了。
华为的解决办法
1、[Huawei-Core-SW]mac-address update arp
这个命令的意思是当MAC地址表项里面的接口更新后,会刷新ARP表项,之前已经看到了,MAC地址只要漫游后,MAC地址表就更新过来了,这样就带动ARP的更新
2、在服务集下开启一个命令
这个命令的意思是,当无线客户端从一个AP漫游到了另外一个AP的时候,新的AP会发送一个免费ARP的消息,来刷新网关的ARP表项,这样避免漫游时候仅少量的丢包
在实际工作中推荐使用第二个功能,第一个比较容易造成设备动荡,所以不太建议使用。
注意:该功能在模拟器上面敲了没有效果,不会发送免费ARP来实现刷新ARP表项,所以这里我只能给出解决办法,演示不了。但是这种架构在实际工作中又很常见,所以讲解下如果遇到这样的问题的解决方案,为什么会产生这样的问题。
可以通过该命令来查看漫游的痕迹,可以看到之前是在AP ID 0下面,后面漫游后就在AP ID 1下面了。
8、模拟器支持的漫游效果以及拓扑
如果想在模拟器上面体验出效果的话,可以这样设计,只要是ARP的接口不需要刷新那么漫游肯定一直在通信的,怎么才能不刷新呢,那肯定都在一个接入交换机上面,所以这里把拓扑改变一下即可。
需要更改下配置,在接入交换机的3号接口下面添加一下管理与业务VLAN
[Huawei-AS-1]int e0/0/3
[Huawei-AS-1-Ethernet0/0/3]port trunk pvid vlan 100
[Huawei-AS-1-Ethernet0/0/3]port trunk allow-pass vlan 100 to 101
这时候整个拓扑就变成了2台AP接入在一个交换机上面,这时候核心交换机学习到无线客户端的无论是MAC地址还是ARP表项都是从G0/0/2学习到,这时候就没有任何问题了。
最终测试
可以看到无线客户端迁移到AP2的时候,只丢了一个包,然后又继续通了。这个因为ARP表项不需要刷新,所以核心交换机能够继续为其提供服务。 所以大家在用模拟器做无线设计的时候要考虑到这个问题 否则的话 漫游的好似好容易出现
这个问题。
9、在二层漫游时候应该注意的问题
(1)必须在同一AC下,在版本V2000R5后支持不同AC之间
(2)WALN-ESS的接口策略必须相同
(3)安全模板的认证方式必须一致,包括密钥
(4)服务集模板中的SSID和数据转发模式必须一致
(5)定义一个服务集即可,都调用在需要漫游的AP上面
(6)建议修改Channel为不干扰,而且重叠区域为10%~15%
(7)业务与管理VLAN都需要放行,否则漫游通过后VLAN不变,导致VLAN通过不了
(8)直接转发模式下,用户漫游后,与AP相连的接入设备的ARP表项未及时老化,会造成用户业务短暂中断,建议用户在AC的服务集视图下使能DHCP Snooping功能,AP会及时发送免费ARP报文给接入设备刷新ARP表项,保证漫游过程中用户业务不中断。
总结
总结:华为的无线还是比较好理解的,加上有模拟器可以做实验,更加的可以感受到,但是也有很多问题存在,有的功能是模拟器不支持,有时候因为一个features不支持,导致一些效果看不了,大家有兴趣也可以自己分析下为什么造成不正常的,就跟之前提到的拓扑里面的,就因为ARP的问题,所以漫游后,业务通信不了。
本文首发于公众号:网络之路博客