Случилось так, что выпали 4 выходных. Решил сделать бесшовный wifi роуминг.я это особо
Собственно меня это особо не волновало. КОнфигурация квартиры у меня такая, что приходится использовать 2 точки доступа. Они имели разный SSID. Были подключены к одному роутеру и настроены на отключения клиента при слабом сигнале. Т.е. я просто отключался от одной, подключался к другой и сессии ssh не рвались, видео играло.
Однако, технология есть. Надо ее использовать.
Топология была простая. mikrotik rb750 к которому подключены TP-Link TL-WR841N/ND v9
и TP-Link TL-MR3220 v2. На tlink стояли openwrt еще 14 версии. Был отключен dhcp, и использовались они ровно как wifi to ethernet .
Для настройки бесшовного роуминга требовалось заменить wpad-mini на wpad.
Тут то и встала основная проблема - нехватка памяти. Для обхода данной проблемы решено было openwrt (теперь уже lede) пересобрать.
На этом и остановлюсь подробнее.
Т.к. железки не должны были ничего делать кроме как работать wifi точками, стал выкидывать все лишнее.
1. Нашел мануал по пересборке на убунте. Убунты нет, заходим на рабочий сервер. Запускаем убунту в докер-контейнер.
apt-get install subversion git
apt-get install g++ libncurses5-dev zlib1g-dev gawk libssl-dev unzip make
adduser wrt
apt-get install python2.7
apt-get install bzip2 wget
apt-get install tar
apt-get install xz*
su wrt
git clone git://github.com/openwrt/openwrt.git -b v17.01.4
cd openwrt/
./scripts/feeds update -a
./scripts/feeds install -a
make prereq
make menuconfig
И тут отключаем все что не нужно для работы этих штук точками:
1. ppp
2. firewall
3. logd
4. ssh \ luci (кому как)
5. dnsmasq
6. opkg
7. firewall
8. wad-mini заменяем на wpad.
Делаем две сборки (под каждую точку).
Инсталлируем их и приступаем к настройке.
1. Делаем на них одинаковый SSID
2. Шифрование и chiper делаем как на картинке.
3.NAS ID на кождом устройстве свой. Я ставил MAC без точек
4. MobilityDomain одинаковое hex 4 значное число на обеих точках
5. R1 Key Holder в простой конфигурации совпадает с NAS ID
6. PMK R1 Push включен
7. External R0 Key Holder List ставится на каждой точке такое количество записей, сколько у вас точек. Формат такой MAC, MAC, 128bit_HEX_KEY это ключ везде одинаковый. MAC - логично что разный
У меня 2 точки, значит 3 записи
E8:DE:27:C2:67:A8,E8:DE:27:C2:67:A8,8a7fcc966ed0691ff2809e1f38c16996
30:B5:C2:CB:BE:92,30:B5:C2:CB:BE:92,8a7fcc966ed0691ff2809e1f38c16996
Сохраняем, применяем.
На 841 в прошивку logd влез. Вот часть лога показывающая работу роминга - миграцию между точками
Sat Mar 10 20:38:30 2018 kern.info kernel: [24853.666911] br-lan: port 2(wlan0) entered forwarding state
Sat Mar 10 20:38:33 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: authenticated
Sat Mar 10 20:38:33 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: associated (aid 1)
Sat Mar 10 20:38:33 2018 daemon.notice hostapd: wlan0: AP-STA-CONNECTED 70:4d:7b:06:80:21
Sat Mar 10 20:38:33 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 RADIUS: starting accounting session FCB1BBD3CF2CBCEA
Sat Mar 10 20:38:33 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 WPA: pairwise key handshake completed (RSN)
Sat Mar 10 20:39:48 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: disconnected due to excessive missing ACKs
Sat Mar 10 20:39:48 2018 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 70:4d:7b:06:80:21
Sat Mar 10 20:40:18 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sat Mar 10 20:41:23 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: authenticated
Sat Mar 10 20:41:23 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: associated (aid 1)
Sat Mar 10 20:41:23 2018 daemon.notice hostapd: wlan0: AP-STA-CONNECTED 70:4d:7b:06:80:21
Sat Mar 10 20:41:23 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 RADIUS: starting accounting session CAB3113CC90B4A75
Sat Mar 10 20:41:23 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 WPA: pairwise key handshake completed (RSN)
Sat Mar 10 20:47:15 2018 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 70:4d:7b:06:80:21
Sat Mar 10 20:47:15 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: disassociated due to inactivity
Sat Mar 10 20:47:16 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Зарегистрирровались на одной, сходили до другой вернулись к первой.
А это фрагмент лога, когда пароли wifi на точках не совпадали
Sat Mar 10 20:23:16 2018 daemon.notice netifd: Network device 'wlan0' link is up
Sat Mar 10 20:23:16 2018 kern.info kernel: [23939.541464] br-lan: port 1(eth0.1) entered forwarding state
Sat Mar 10 20:23:17 2018 kern.info kernel: [23941.261463] br-lan: port 2(wlan0) entered forwarding state
Sat Mar 10 20:24:50 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: authenticated
Sat Mar 10 20:24:50 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: associated (aid 1)
Sat Mar 10 20:24:50 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:51 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:52 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:53 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:56 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: authenticated
Sat Mar 10 20:24:56 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: associated (aid 1)
Sat Mar 10 20:24:56 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:57 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:58 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:24:59 2018 daemon.notice hostapd: wlan0: AP-STA-POSSIBLE-PSK-MISMATCH 70:4d:7b:06:80:21
Sat Mar 10 20:25:05 2018 daemon.info hostapd: wlan0: STA 70:4d:7b:06:80:21 IEEE 802.11: deauthenticated due to local deauth request
Первый пост, не судите строго.
Далее скриншоты