实现OpenWrt路由器无线网络间的无缝漫游(1)

今天我们来讲解一下实现OpenWrt路由器无线网络间的无缝漫游的问题,这个课题我们分两部分来进行讲解:第一部分讲解如何正确设置ieee802.11r、ieee802.11k、ieee802.11v协议来达到无线网络无缝漫游的效果;第二部分讲解如何利用ieee802.11s(即mesh组网)的方式来实现无缝漫游。先讲利用802.11r、k、v协议实现无线网络间无缝漫游的方法,即实现OpenWrt路由器无线网络间的无缝漫游(1)。

家里有三个无线路由,客厅是Netgear R7800,主卧是Netgear wndr4300 v1,还有一个在次卧是Netgear wndr3700 v4。三个路由器都是双频路由器,考虑一些固定设备只支持2.4G频段的(如:冰箱、无线插座、无线摄像头等),所以计划保留原2.4G频段用于连接各场所的固定设备,而将5G频段用于设置无线漫游。具体的拓扑结构如下:

实现OpenWrt路由器无线网络间的无缝漫游(1)-1

先决条件:将三个无线路由器都刷入最新版的(v21.02.1)或snapshot版的OpenWrt系统,如刷别的版本的系统需要确认是否可以安装dawn、luci-app-dawn程序包!!!

1、上一级路由设置:示例中是软路由,lan口设置静态ip地址“192.168.18.1”,并开启dhcp服务。

实现OpenWrt路由器无线网络间的无缝漫游(1)-2

 

实现OpenWrt路由器无线网络间的无缝漫游(1)-3

2、将三个无线路由器都设置成AP模式,lan口静态IP地址设置成与上一级路由同网段的,同时关闭dhcp服务。下面以客厅的Netgear R7800设置为例:

实现OpenWrt路由器无线网络间的无缝漫游(1)-4

实现OpenWrt路由器无线网络间的无缝漫游(1)-5

3、设置并开启三个路由器的无线双频网络:按原先规划5G用于漫游,所以将ssid都设置为一样的,示例为“OpenWrt”,信道也设置成一样的,无线密码及认证方式也必须是一样的;2.4G用于场所固定设备连接,设置可根据需要进行。

实现OpenWrt路由器无线网络间的无缝漫游(1)-6

4、开启802.11r:点5G无线网络的“编辑”按钮,在接口配置中点“无线安全”按钮,勾选“802.11r 快速切换”,并将三个AP的移动域都设置成一样的,示例为“aaf5″

实现OpenWrt路由器无线网络间的无缝漫游(1)-7

Ps:如果你的路由器没有出现802.11r的勾选项,多半是因为安装的wpad驱动不支持,将原驱动卸载再安装支持802.11r的版本

opkg update
opkg remove wpad-mini # or opkg remove wpad-baisc-wolfssl
opkg install wpad  # or opkg install wpad-basic

5、开启802.11k和802.11v:802.11k和802.11v无法像802.11r一样,直接在Luci界面直接设置,需要在命令行设置。通过WinSCP连接到路由器,修改 /etc/config/wireless 如下:

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'psk2'
    option key '*************'
    option ieee80211r '1'
    option mobility_domain 'aaf5'
    option ft_over_ds '1'
    option ft_psk_generate_local '1'

修改为:

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'psk2'
    option key '*************'
    option ieee80211r '1'
    option mobility_domain 'aaf5'
    option ft_over_ds '1'
    option ft_psk_generate_local '1'
    option ieee80211k '1'
    option ieee80211v '1'
    option bss_transition '1'

6、安装无线网络监控进程 dawn 及 luci-app-dawn

opkg update
opkg install dawn luci-app-dawn

实现OpenWrt路由器无线网络间的无缝漫游(1)-8

7、重启路由器后,通过WinSCP连接路由器,然后判断一下802.11r, 802.11k, 802.11v 的开启状况。打开如下文件:/var/run/hostapd-phy0.conf 或 /var/run/hostapd-phy1.conf,看是否有如下语句,若有则表明开启正常:

......
rrm_neighbor_report=1
rrm_beacon_report=1
......
wpa_key_mgmt=WPA-PSK FT-PSK
......

8、通过手机APP测试无线漫游结果:打开“网络百宝箱APP”中的“漫游测试”,然后在各个AP间穿梭移动,查看AP间漫游切换情况,我的实际测试情况是切换时间在“20~30ms”之间,切换时“零丢包”,达到无缝漫游预期目标。