最近的一个工作是配置几个AP为80211r快速漫游,FT-EAP也就是快速漫游-企业级认证AP 的模式,然后模拟一个小车在几个AP之间移动、漫游,具体的网络拓扑如上图1 所示。
在配置的时候有以下比较关键的点需要注意:
1 认证服务器与AP有线连接,IP需要在同一网段,认证服务器需要知道各个AP 的IP地址,否则不会给这些AP提供认证服务
2 FT-EAP和EAP是不一样的,认证流程前者更简单,漫游更快,效果更好,丢包更少,对数据流传输影响更小
3 配置802.11r快速漫游的时候各个AP 上的Hostapd软件需要是完整版的,对于openwrt,需要安装wpad full,wpad-mini不行的——或者自行编译完整hostapd也行
4 各个AP之间在hostapd配置时互相知道各自的mac地址,这样才能够安全的在他们之间快速漫游——朴素地考虑,AP1 AP2 AP3和AC的包括mac SSID这些数据再配合上某一个STA的信息共同算出一个用于快速认证的数,如果互相不知道全部的信息,是不能算出整体的认证数的。
5 测试STA靠近远离的过程可以用真的车带着STA,收到的各个AP的信号强度如上图2所示,也可以直接控制几台AP 的发射功率如图2的方式变化——这样STA就可以不用动了
6 编译完整hostapd的时候只需要指定编译工具,交叉编译库再指定位置就行
7 如果创建端口为managed以后启动hostapd出现operation not permited这个问题,那就使用以下方法:Openwrt在正常启动后会读取wireless文件创建接口,并且自动启动hostapd,这个时候kill掉后台的hostapd并启动你自己的,这样就能把你的hostapd替换进去、读取你自己的hostapd.conf文件了
8 各个AP互相保存的MAC地址需要是大写的16进制数
9 hostapd调试时最好使用-dd观察关联交互过程,如果FT能看到mac地址(R0KH R1KH)相互交换,且交互正确的话,基本上就OK,如果出现R1KH push的地址是本地到本地,对端收到push端mac地址但是在本地R0KH没有对应的话,一定记着检查一下MAC地址大写