1 (edytowany przez Cezary 2024-08-15 10:58:08)

Temat: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Dwa dni temu (13 sierpnia 2024) do wersji rozwojowej OpenWrt, do hostapd dodali nowy sposób tworzenia sieci typu MESH - nazwany Access Point Micro Peering. Pozwolę sobie zacytować jego opis:

Access Point Micro Peering is a simpler and hopefully more useful successor to Ad Hoc, Wireless Distribution System, 802.11s mesh mode, Multi-AP and EasyMesh.
When enabled almost plain APs communicate between them via 4-address mode, like in WDS but all of them are AP, so they can eventually communicate also with plain stations and more AP nodes in sight, without more trickery.
APuP has low hardware requirements, just AP mode support + 4-address mode, and no more unnecessary complications, like hardcoded bridging or routing algorithm in WiFi stack.
For each AP in sight an interface is created, and then it can be used as convenient in each case, bridging, routing etc.
Those interfaces could be simply bridged in a trivial topology (which happens automatically if wds_bridge is not an empty string), or feeded to a routing daemon.

W "tradycyjnym" podejściu do mesha robiło się interfejsy radiowe pracujące w odpowiednim trybie (np. 802.11s), a dalej zwykle łączyło się je do bridge. Aby dodatkowo był dostęp do takich punktów trzeba było na tym samym interfejsie radiowym zrobić nowy interfejs pracujący w trybie np. AP żeby klienci mogli się przez niego łączyć i połączyć wszytko w jedność. Uprościłem trochę opis, ale ogóle tak to mniej więcej wyglądało.

W przedstawionym podejściu wystarczy mieć tylko interfejs w trybie AP wraz z ustawionymi odpowiednimi opcjami. Utworzy to dodatkowy interfejs który można dołączyć np. do bridge lanowego.

Zróbmy przykładową konfigurację. Zakładam że OpenWrt jest w domyślnej konfiguracji.
Punkt który będzie robił za gatewaya, ma domyślny adres 192.168.1.1:

uci set wireless.radio0.disabled=0
uci set wireless.default_radio0.ssid=test2
uci set wireless.default_radio0.encryption=psk2
uci set wireless.default_radio0.key=12345678
uci set wireless.default_radio0.apup=1
uci set wireless.default_radio0.apup_peer_ifname_prefix=apup

uci add_list network.@device[0].ports=apup1

uci commit
reboot

Konfiguracja jest dość podstawowa - włączamy radio, ustawiamy nazwę sieci wraz z szyfrowaniem oraz ustawiamy dwie nowe opcję - apup która włączy w/w funkcjonalność oraz apup_peer_ifname_prefix które jest prefiksem nazwy interfejsu. Jeżeli utworzy się interfejs to zostanie on nazwany apup1, a kolejna linia dołączy go do bridge lanowego.
Podłączamy kabel do wanu i w takiej konfiguracji mamy zwykły router z rozgłaszaniem sieci przez WiFi.

Węzły sieci mesh
Robimy teraz węzeł sieci mesh, który będzie tylko miał zasilanie, a bezprzewodowo łączył się z naszym gatewayem, będzie w tej samej klasie adresowej i rozgłaszał tą samą sieć:

uci set wireless.radio0.disabled=0
uci set wireless.default_radio0.ssid=test2
uci set wireless.default_radio0.encryption=psk2
uci set wireless.default_radio0.key=12345678
uci set wireless.default_radio0.apup=1
uci set wireless.default_radio0.apup_peer_ifname_prefix=apup

uci add_list network.@device[0].ports=apup1

uci set network.lan.ipaddr='192.168.1.2'
uci set network.lan.gateway='192.168.1.1'
uci set network.lan.dns='192.168.1.1'
uci set dhcp.lan.ignore='1'

uci commit
reboot

Konfiguracja jest podobna, tu się różni tylko tym że:
- zmieniamy mu adres na lanie na kolejny z tej samej puli adresowej (inny dla każdego węzła)
- ustawiamy gatewaya i dns na naszego (zapewni to dostęp do internetu z danego węzła, choć jest to zbędne z punktu widzenia klienta)
- wyłączamy serwer dhcp

Ustawiamy w taki sam sposób sieć bezprzewodową. I to wszystko, podłączamy tylko zasilanie. Jeżeli dojdzie do wykrycia i połączenia innego węzła to powstanie interfejs apup1 który zostanie dodany do bridga lanowego i będziemy mieli normalny dostęp do internetu.

root@OpenWrt:~# ping -c 3 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=64 time=1.972 ms
64 bytes from 192.168.1.1: seq=1 ttl=64 time=1.787 ms
64 bytes from 192.168.1.1: seq=2 ttl=64 time=2.653 ms

--- 192.168.2.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.787/2.137/2.653 ms
root@OpenWrt:~# ping -c 3 onet.pl
PING onet.pl (13.227.146.66): 56 data bytes
64 bytes from 13.227.146.66: seq=0 ttl=246 time=10.411 ms
64 bytes from 13.227.146.66: seq=1 ttl=246 time=20.452 ms
64 bytes from 13.227.146.66: seq=2 ttl=246 time=9.728 ms

--- onet.pl ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 9.728/13.530/20.452 ms
root@OpenWrt:~# brctl show
bridge name    bridge id        STP enabled    interfaces
br-lan        7fff.ac8674069098    no        eth0
                            phy0-ap0
                            apup1
root@OpenWrt:~# iw dev
phy#0
    Interface apup1
        ifindex 9
        wdev 0x4
        addr xx:xx:xx:xx:xx:xx
        type AP/VLAN
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 20.00 dBm
        4addr: on
    Interface phy0-ap0
        ifindex 8
        wdev 0x3
        addr xx:xx:xx:xx:xx:xx
        ssid test2
        type AP
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 20.00 dBm
        multicast TXQ:
            qsz-byt    qsz-pkt    flows    drops    marks    overlmt    hashcol    tx-bytes    tx-packets
            0    0    1    0    0    0    0    30        1


Przedstawione rozwiązanie działa obecnie tylko w wersji rozwojowej OpenWrt i nie zostało jeszcze przeniesione do wydania stabilnego. Jest to bardzo świeża rzecz i pewnie kilka razy jeszcze się zmieni, choć trzeba przyznać że już teraz dość upraszcza tworzenie sieci mesh bo zajmuje się wszystkim główny demon odpowiedzialny za tworzenie punktu dostępowego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

2

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

W scenariuszu, gdy mam dwa SSID o tej samej nazwie, na 2,4 i 5 GHz, ale pomiędzy AP widzą się tylko po 2,4 GHz, a klienci są na 5 GHz to ma szansę zadziałać?

3

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Jeżeli wszystko jest jednym lanem to tak. Nie sprawdzałem co będzie jak na obu interfejsach ustawi się apup, pewnie zrobi dwa oddzielne nowe interfejsy który trzeba będzie bridgować. Ciekawe czy sobie wtedy poradzi z trasami routingu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Przyznam, że nie chce mi się sprawdzać...

Czy "stare" podejście, po tej poprawce też będzie działać?

Fajnie jakby przy upgrade systemu można było zachować dotychczasową konfigurację...

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

5

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

No tak, działać działa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Dzięki za uspokojenie, bo już myślałem że wszystkie poradniki pójdą... do lasu i trzeba będzie zrobić przemeblowanie w głowie i robić TYLKO po NOWEMU gdyż po takim upgrade z zachowaniem konfiguracji (tej przed 13.08) wifi nie wstanie, bo hostapd nie będzie już znał "starych" opcji.

zaraz byłoby 100 pytań, czy po upgrade skasował się ART, czy inna partycja smile

Ogólnie to fajnie, że 2 linijki załatwiają sprawę mesha i ap, ale w "starej" metodzie jakoś lepiej widzę co gdzie mam ustawione pomimo, że jest więcej sekcji w konfigach.

Jeszcze pytanie.
W "starym" stylu mesh (s) miał szyfrowanie WPA3 lub wcale, a w "nowym" stylu będzie miał WPA2 ?

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

7

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

A wiesz że nie wiem po czym on właściwie gada? Trzeba by z źródła spojrzeć jak on to realizuje. Fizycznie robiłem na AP z psk2, więc  jeżeli on po tym gada to tak, jest to możliwe.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Żeby się nie okazało, że to ulepszony "relayd" który zaczął pięknie przenosić warstwę L2...

Z ciekawości kiedyś to uruchomię na padlinach.
Ciekawe czy każdy chipset radia będzie chodził "od strzała" bo w końcu to jest gałąź rozwojowa

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

9

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Chyba nie ma tego w LuCi.

10

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Niestety, wg opisu na razie jest tylko na interfejsach WiFi6, czyli AX.

"Implement APuP Access Point Micro Peering. for now i can only support this on ax devices until i upgraded the wireless stack for older devices to support mld"

11

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Nieprawda. Ja zrobiłem na starych OpenMesh OM2P  z jednym radem b/g/n...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Wstępnie przetestowałem, razem z meshem 802.11s, który jest na innym interfejsie.

interfejsów apup tworzy się tyle, ile innych AP jest w zasięgu.

u mnie stworzyło się 4 szt.

Interface apup4
                ifindex 14
                wdev 0x5
                addr xxxxxx
                type AP/VLAN
                channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
                txpower 25.00 dBm
                4addr: on
        Interface apup3
                ifindex 13
                wdev 0x4
                addr xxxx
                type AP/VLAN
                channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
                txpower 25.00 dBm
                4addr: on
        Interface apup2
                ifindex 12
                wdev 0x3
                addr xxxxxxxxx
                type AP/VLAN
                channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
                txpower 25.00 dBm
                4addr: on
        Interface apup1
                ifindex 11
                wdev 0x2
                addr xxxxxxxx
                type AP/VLAN
                channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
                txpower 25.00 dBm
                4addr: on
        Interface phy0-ap0
                ifindex 10
                wdev 0x1
                addr xxxxx
                ssid xxxx
                type AP
                channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
                txpower 25.00 dBm


dlatego należy dodać portów do bridge z zapasem, bo nieuzywane i tak się pojawią jako nieaktywne.

w /etc/config/network
config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'
    list ports 'lan4'
    list ports 'apup1'
    list ports 'apup2'
    list ports 'apup3'
    list ports 'apup4'
    list ports 'apup5'
    list ports 'apup6'
    list ports 'apup7'
    list ports 'apup8'
    list ports 'apup9'
    list ports 'apup10'



w pliku /etc/config/wireless wpisujemy w sekcję:

config wifi-iface
    (...)
    option apup '1'
    option apup_peer_ifname_prefix 'apup'



Oczywiście mozna to robić przez uci, ale ja lubię zarządzać routerami przez WinSCP.

W LuCi jeszcze nic nie widać, nie ma opcji wyboru, ale z drugiej strony też nic się nie psuje.


a co do samego działania, to jeszcze protestuję w rozległym domu, jak się to ma do dedykowanych interfejsów meshowych na dedykowanym radiu.

celem jest zrobienie meshowej sieci APUP na obu pasmach i sprawdzenie różnych życiowych przypadków, czyli np gdy widzą się radia 2,4 a klienci są po 5 GHz. Albo jak działa ruch wymagający hopki przez trzeci AP.

mesh 802.11s z pierwszym sobie nie radził, bo wymagał dedykowanego radia na swój ruch (AP razem z meshem na tym samym radiu powodował lagi i niestabilności), a za to z ruchem w sieci radził sobie doskonale.

13

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

I jeszcze jedno o czym nie napisałem na początku - tych interfejsów nie ma od razu po starcie. Muszą się AP zobaczyć i dopiero taki interfejs się tworzy, więc czasami trzeba chwilę poczekać aż wszystko się dogada ze sobą.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

@cezary, czy wg. Ciebie AP powinny być na tym samym kanale, czy mogą być na różnych?

15

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Najlepiej na różnych, choć nie zawsze się da...
Mam 3 AP i na 5Ghz i kanałach o szerokościach 160MHz da się odpalić tylko na dwóch różnych kanałach ( 36 i 100) , więc siłą rzeczy na dwóch AP muszą być te same...

16

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Jak na różnych kanałach, to jak ma to być przesłane pomiędzy dwoma AP. Przecież radio działa tylko na jednym kanale.

17

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Jeżeli pytasz ogólnie to na różnych i takim kontekście dostałeś odpowiedź. Jeżeli pytasz odnośnie apup - AP nie zestawią interfejsów ja będą na różnych kanałach, więc muszą być na tym samym.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Cezary napisał/a:

Jeżeli pytasz ogólnie to na różnych i takim kontekście dostałeś odpowiedź. Jeżeli pytasz odnośnie apup - AP nie zestawią interfejsów ja będą na różnych kanałach, więc muszą być na tym samym.

Watek jest o APUP, więc po co pisać ogólnie?

Skasuj tę fałszywe w kontekście.APUP informacje,  bo forum.czytaja ludzie z całego swiata i takie odpowiedzi w błąd wprowadzają.

19

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Przetestowałem i nie działa w ogóle. APki się nie widzą i musiałem do każdego iść z kabelkiem, aby przywrócić konfigurację.

20

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Co przetestowałeś i co nie działa w ogóle?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Cezary napisał/a:

Co przetestowałeś i co nie działa w ogóle?

Masz kilka postów wyżej całe konfiguracje.

W praktyce - nie działa całkowicie.

22

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Odświeżam temat - ktoś testował i zadziałało?

23

Odp: Access Point Micro Peering - nowy sposób łączenie AP w mesh

Ja odświeżam jeszcze temat - nie znalazłem tego w opisie, ale żeby było jasne:
Ruch między interfejsami sieciowymi jest nieszyfrowany, niezależnie od ustawień