5

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

 2 years ago
source link: https://www.red-yellow.net/%E5%AE%9E%E7%8E%B0openwrt%E8%B7%AF%E7%94%B1%E5%99%A8%E6%97%A0%E7%BA%BF%E7%BD%91%E7%BB%9C%E9%97%B4%E7%9A%84%E6%97%A0%E7%BC%9D%E6%BC%AB%E6%B8%B8%EF%BC%881%EF%BC%89.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

实现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
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'
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
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
......
......
rrm_neighbor_report=1
rrm_beacon_report=1
......
wpa_key_mgmt=WPA-PSK FT-PSK
......

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK