Aus Linux-Magazin 02/2022

WLAN-Mesh im Eigenbau mit OpenWrt (Teil 1)

© Sergey Nivens / 123RF.com

Werden die Entfernungen zu groß oder die Mauern zu dick, dann schwächelt das WLAN. In diesem Fall hilft ein Netz aus Access Points weiter, ein sogenanntes WLAN-Mesh. Mithilfe von OpenWrt entsteht es preisgünstig im Eigenbau.

Wer mit einem einzigen Access Point überall dort guten Empfang hat, wo er ihn benötigt, darf sich zu den Glücklichen zählen und braucht diesen Artikel nicht. In vielen Fällen hapert es aber mit dem WLAN, etwa im Privatbereich in größeren Wohnungen oder alten Häusern mit funkfeindlichen Wänden oder wenn der Wunsch besteht, das WLAN auch im Garten oder Nebengebäude zu nutzen. Ähnlich ist es im gewerblichen Bereich, wenn es um Bürogebäude, Nebengebäude, Hotels und Pensionen, Campingplätze oder zum Beispiel die Gastronomie (besonders mit Außenbereichen) geht. Oft reicht hier ein einzelner Access Point nicht aus.

Nun gibt es dafür kommerzielle Lösungen zu kaufen. Allerdings sind solche Mesh-Systeme nicht ganz billig. Mithilfe von OpenWrt kann man ein maßgeschneidertes WLAN-Mesh jedoch selbst aufbauen. Der vorliegende erste Teil einer dreiteiligen Artikelserie zeigt, wie Sie mehrere Mesh-Netze verbinden und zusätzlich ein kabelgebundenes Backbone nutzen.

Was ist ein Mesh?

Zwar finden WLAN-Mesh-Netzwerke erst in den letzten Jahren weitere Verbreitung, doch die dahinterliegende IEEE-Norm 802.11s [1] ist eigentlich schon gut abgehangen: Sie wurde bereits 2011 verabschiedet. WLAN-Mesh-Netze erlauben es, Access Points (APs) nur über Funk miteinander zu verbinden. Die Vermaschung geschieht dabei auf dem Netzwerk-Layer 2, also auf MAC-Ebene. Auf diese Weise entstehen ein drahtloses Backbone und ein virtueller Switch.

Der vorliegende Artikel zeigt, wie Sie mehrere solcher Mesh-Netze über WLAN und Kabel kombinieren und damit mehr Flexibilität und Geschwindigkeit gewinnen. Dabei gibt es in diesem Netz keinen zentralen Knoten, es organisiert sich selbst.

Repeater vs. Mesh

Am einfachsten erhöht man die Reichweite von WLAN-Netzen über Repeater. Sie melden sich als Client bei einem Hauptknoten an und verteilen alles, was sie bekommen, als Broadcast im von ihnen aufgespannten neuen WLAN. Die Repeater haben zunächst eigene SSIDs (Netznamen), sodass sich die Endgeräte nicht automatisch mit dem nächsten AP verbinden können. Es wäre zwar auch möglich, identische SSIDs zu setzen, doch dann bliebe es dem Client überlassen, wann er einen Wechsel vornimmt. Die meisten Endgeräte tun das erst, wenn sie vom aktuellen AP gar nichts mehr empfangen. Das Ergebnis wären langsame und störanfällige Verbindungen mit Abbrüchen beim Wechsel zwischen den APs.

In einem Mesh-WLAN senden dagegen alle APs grundsätzlich mit derselben SSID. Die Mesh-Knoten leiten die Daten für ein Endgerät gezielt nur an den Knoten-AP weiter, an dem dieses angemeldet ist, selbst über mehrere Knoten hinweg. Sie fluten darum, anders als der Repeater, nicht alle Knoten und Funkverbindungen mit allen Daten. Auf diese Weise lassen sich wesentlich höhere Durchsatzraten erzielen als mit Repeatern. Die physikalischen Grenzen der Funkkanäle lassen sich damit freilich nicht austricksen. Zudem können die Knoten-APs die Endgeräte auffordern, mit ihrer Verbindung von einem Knoten-AP zu einem anderen zu wechseln, wenn das günstiger ist. Dafür kommen die Protokolle IEEE 802.11v [2] und IEEE 802.11k [3] zum Einsatz. Die muss das Endgerät unterstützen; moderne Smartphones tun das.

Mesh-Aufbau im Detail

In einem 802.11s-Mesh gibt es drei Rollen für die einzelnen Knoten. Mesh Points (MPs) nehmen lediglich am 802.11s-Mesh teil. Ein Mesh Point Portal (MPP) bietet zusätzlich einen Übergang zum Upstream wie LAN oder Internet. Ein Mesh Access Point (MAP) agiert auch als AP für Endgeräte.

Laut Definition ist jeder Knoten im Mesh immer ein MP und kann darüber hinaus als MAP oder MPP oder als beides dienen (Abbildung 1). Die Rollen von MP und MPP unterscheiden sich in der Mesh-Konfiguration nicht voneinander. Man kann also zum Beispiel an einem MPP einfach das Kabel ziehen und ihn damit zum MP machen, ohne dadurch das Netz zu stören, sofern noch Datenpfade verfügbar bleiben und es noch mindestens einen MPP im Mesh gibt. Die Endgeräte merken davon nichts. Umgekehrt lässt sich das Mesh jederzeit im laufenden Betrieb ohne Unterbrechungen durch Hinzufügen von MPs und MPPs erweitern. Bei einem MAP gilt es, zusätzlich einen normalen Access Point für den Zugriff von Endgeräten einzurichten.

Abbildung 1: Der prinzipielle Aufbau eines WLAN-Mesh.

Abbildung 1: Der prinzipielle Aufbau eines WLAN-Mesh.

Da sich das Mesh auf dem OSI-Layer 2 (MAC) organisiert, brauchen die MPs für ihre Funktion keine IP-Adresse (Layer 3), lassen sich dann allerdings auch nicht von außen erreichen. Das Management der Geräte erfordert deshalb eine IP-Adresse. Prinzipiell genügt es für den Datentransport, dass nur ein MPP existiert. Aus Performance- und Redundanzgründen empfiehlt sich das freilich nicht. Es ist aber durchaus Sinn eines 802.11s-Mesh, auch über MPs und MAPs zu verfügen, die sich nur per Funk erreichen lassen – beispielsweise im Freien. Weitere Beispiele wären das Außengelände einer Gastronomie, der Campingplatz, der Betriebshof einer Firma, die Garage oder Werkstatt, der Dachboden – überall dort, wo kein LAN-Anschluss zur Verfügung steht.

Da 802.11s-Mesh-Netze auf Layer 2 arbeiten, funktionieren alle anderen Protokolle auf höheren OSI-Layern ganz normal, ohne dass sie etwas vom Mesh mitbekommen. So funktionieren etwa IP-Routing oder DHCP ohne Änderungen weiter. Bei Bedarf kann man sowohl IPv4- als auch IPv6-Netze über ein solches Mesh legen. Ob man den MPs statische IP-Adressen zuordnet oder das dynamisch per DHCP erfolgt, ist reine Geschmackssache. Im hier betrachteten Beispiel erhalten die MPs und alle anderen Router- und Server-Komponenten feste IPv4-Adressen, während die Endgeräten ihre Adressen dynamisch per DHCP beziehen.

In Beispiel aus Abbildung 2 ist das Netz 10.10.0.0/24 für das WLAN reserviert. Der Bereich bis 10.10.0.99 wird statisch für aktive Netzwerkkomponenten und Server vergeben, den Bereich ab 10.10.0.100 nutzen per DHCP die Endgeräte. Die MPPs hängen per Kabel am zentralen Router. Das normale LAN für kabelgebundene Endgeräte hat den IP-Bereich 10.10.1.0/24 und ist mit einem zweiten Interface des Routers verbunden. Switches zeigt die Abbildung nicht, sie sind aber möglich.

Abbildung 2: Ein Mesh mit Layer 3 (IP-Adressen).

Abbildung 2: Ein Mesh mit Layer 3 (IP-Adressen).

Die beiden Netze 10.10.0.0/24 und 10.10.1.0/24 lassen sich bei Bedarf mit VLANs auf einer einzigen physischen Verkabelung betreiben, sofern die MPPs das unterstützen, was praktisch auf alle handelsüblichen WLAN-Geräte zutrifft. Über ein drittes Interface stellt der Router die Verbindung nach außen her. Der hier schematisch als ein Gerät dargestellten Router vereint die Funktionen Modem (DSL, VDSL, FTTH), Router, Firewall, NAT, DHCP und DNS(-Relay), die sich gegebenenfalls aber auch auf mehrere Geräte verteilen können.

Überlegungen zum Betrieb

Die Übertragungsgeschwindigkeiten von WLANs im 2,4- und 5-GHz-Band unterscheiden sich drastisch, vorgegeben durch die Breite der Frequenzbänder und die Kanalbreiten. Im 2,4-GHz-Band sind maximal 40 MHz pro Verbindung möglich, im 5-GHz-Band je nach verwendeter Norm bis zu 160 MHz (802.11ac). Dafür fällt die Reichweite im 2,4-GHz-Band physikalisch bedingt sehr viel größer aus als im 5-GHz-Band (und erst recht in den neueren, noch höheren Bändern). Auch Wände und Reflexionen stören im 2,4-GHz-Band weniger. Allerdings stehen dort nur sehr wenige Kanäle zur Verfügung, die zudem stark überlaufen sind, da ältere oder billige Endgeräte und viele IoT-Geräte nur diesen Frequenzbereich nutzen.

Für 802.11s-Netze bietet es sich also an, das Mesh mit vielen, relativ nahe beieinander aufgestellten MPs im 5-GHz-Band aufzubauen. Dabei sollten sich möglichst viele der MPs gegenseitig “sehen”. Im 5-GHz-Band fällt es theoretisch leichter, einen (relativ) unbelegten Kanal für das Mesh zu finden. Alle MPs müssen auf demselben Kanal arbeiten und die gleiche Mesh-ID bekommen.

Aber Achtung: Im 5-GHz-Band ist für viele Kanäle eine Dynamic Frequency Selection (DFS) vorgeschrieben. Auf diesen Kanälen arbeiten Wetterradarsysteme, die Vorrang vor WLANs haben. Die Geräte müssen also automatisch den Kanal wechseln, sobald sie ein Wetterradar erkennen. In der EU betrifft dies die Kanäle 52 bis 64 und 100 bis 140. Sie eignen sich daher nicht für ein 802.11s-Mesh, denn es gibt keinen Mechanismus, der dafür sorgen könnte, dass alle MPs gleichzeitig auf einen identischen Kanal ausweichen. Dummerweise sind aber in Deutschland nur eben diese Kanäle im 5-GHz-Band für die Verwendung im Freien zugelassen, alle anderen darf man ausschließlich innerhalb von Gebäuden verwenden. Die Folgen – und eine Lösungsmöglichkeit – wird der zweite Teil dieser Artikelserie beschreiben.

Für ein 802.11s-Mesh bleiben also (in Deutschland und der EU) im 5-GHz-Band nur die Kanäle 36 bis 48 übrig, und auch das nur innerhalb von Gebäuden. Baut man also ein solches Mesh auf einem der Kanäle im 5-GHz-Band auf, bleibt dafür bei 80 MHz Bandbreite lediglich der Kanal 42 übrig. 160 MHz Bandbreite sind legal nicht möglich, da man damit auf jeden Fall in den DFS-Bereich kommt. Daher bietet es sich an, für die Endgeräte MAPs im 2,4-GHz-Band einzurichten.

Am besten setzen Sie APs mit zwei unabhängigen 5-GHz-Sendeempfängern ein, also einem Sendeempfänger im 2,4-GHz-Band und zweien im 5-GHz-Band. Solche Geräte werden mit der irreführenden Bezeichnung “Triband” vermarktet. Damit können Sie zusätzlich zu dem MAP im 2,4-GHz-Band noch einen MAP im 5-GHz-Band (auf einem anderen Kanal als das Mesh) anbieten, ohne die Datenübertragung im Mesh zu beeinträchtigen. Der Kanal für den MAP kann auch im DFS-Bereich liegen, dabei stört ein Kanalwechsel ja nicht. Triband-Geräte kosten allerdings naturgemäß mehr als normale APs, und OpenWrt unterstützt nur wenige davon, wie etwa den (vergleichsweise preisgünstigen) Fritz-Repeater 3000.

Steht kein Triband-Gerät zur Verfügung, verzichten Sie entweder auf den MAP im 5-GHz-Band und können dann Endgeräte nur im 2,4-GHz-Band versorgen, oder Sie betreiben im 5-GHz-Band den MAP doch auf demselben Sendeempfänger wie das Mesh, was den maximalen Mesh-Durchsatz verringert. Bei nur wenigen verbundenen Endgeräten spürt man diesen Effekt in der Praxis kaum bis gar nicht, bei sehr vielen verbundenen Endgeräten aber deutlich. In solchen Szenarien empfiehlt sich daher dringend der Einsatz von Triband-Geräten.

Soll das Mesh auch im Freien zur Verfügung stehen, klappt das in Deutschland beziehungsweise der EU nur im 2,4-GHz-Band. Es bleibt dann nichts anderes übrig, als das Mesh in diesem ungünstigen Bereich aufzubauen und die Endgeräte ebenfalls dort anzubinden. Da dies für ein Mesh innerhalb von Gebäuden nicht sinnvoll ist, bietet es sich in Einsatzszenarien mit Innen- und Außenbetrieb je nach den speziellen Anforderungen im Einzelfall an, zwei getrennte Mesh-Netze aufzubauen und auf IP-Ebenen per Router/Switch miteinander zu verbinden. Eine Alternative stellt Teil 2 dieser Serie in der nächsten Ausgabe vor.

Umsetzung mit OpenWrt

Die praktische Umsetzung mit OpenWrt gelingt im Vergleich zu der doch recht komplexen Theorie überraschend leicht. Zunächst suchen Sie die Hardware für die MPs aus. Dafür eignen sich durchaus Geräte aus dem gehobenen Consumer-Bereich, aber auch Modelle für den professionellen Einsatz, sofern sie unter OpenWrt laufen.

OpenWrt unterstützt eine Vielzahl an Geräten, allerdings sind viele davon zu alt für den Einsatz im Mesh. Als ersten Anlaufpunkt für die Hardwareauswahl sollten Sie grundsätzlich die Table of Hardware des OpenWrt-Projekts [4] verwenden, am besten in der detaillierten Ansicht. Zwar kann man dort in der Detailsicht alles Mögliche filtern, doch lässt sich nicht direkt erkennen, ob ein Gerät respektive die verfügbaren Treiber 802.11s unterstützen und ob es sich um ein Triband-Gerät handelt. Auch das OpenWrt-Forum [5] hilft nur bedingt weiter, denn dort liefert die Forumssuche auch alle veralteten Themen. Findet sich dort also die Aussage, ein Gerät funktioniere, dann ist das eine gute Nachricht. Liest man aber, ein Gerät eigne sich nicht, dann kann das auch völlig veraltet und die Einschränkung längst behoben sein.

Zur Hardwareunterstützung von 802.11s sagt auch OpenWrt nur: “Most up to date open source drivers work.” Die Betonung auf quelloffene Treiber ist an dieser Stelle wichtig: Zu den bei einigen Geräten nötigen proprietären Treibern (als Binary Blob eingebunden) lassen sich praktisch keine Informationen auftreiben. Das betrifft unter anderem WLAN-Chipsätze von Marvell und Broadcom, die OpenWrt nur schlecht bis gar nicht unterstützt und die Sie für den 802.11s-Einsatz nicht in Betracht ziehen sollten. Dadurch fallen allerdings alle Linksys-Geräte der WRT-AC-Serie aus der Auswahl heraus, ebenso viele Netgear-Geräte. Auch Realtek-Chipsätze eignen sich oft nicht und werden nur teilweise unterstützt. Gut funktionieren alle Systeme mit Atheros-Chipsätzen (ath9 und ath10) sowie die meisten mit Mediatek-Chipsätzen (MT762x), wobei die jeweils neuesten nicht immer unterstützt werden.

Dies gilt prinzipiell auch für auf diesen Chipsätzen aufgebaute USB-WLAN-Sticks. Bei USB-Sticks gibt es aber andere Probleme: USB-3.x Sticks stören den 2,4-GHz-Bereich meist massiv, USB-2 ist für 5 GHz zu langsam, und außerdem sind die Sticks nicht für den Dauerbetrieb als AP konstruiert und werden darum spätestens nach einigen Tagen instabil. Den fehlenden zweiten Sendeempfänger auf 5 GHz durch einen USB-WLAN-Stick zu ersetzen, ist also eine eher schlechte Idee.

Die Systeme aus der Tabelle “Geeignete Geräte” stellten sich im Rahmen des hier beschriebenen Projekts als verwendbar heraus. Die Liste ist rein subjektiv und keinesfalls vollständig, viele andere Geräte eignen sich ebenfalls für das WLAN-Mesh. Dazu gehören zumindest den veröffentlichten Daten nach einige AVM-Systeme wie die Fritz-Repeater 1200 und 3000 (Triband) sowie viele ältere Fritzboxen. Hinzu kommen Geräte, die die Hersteller bereits mit OpenWrt ausliefern, darunter der Turris Omnia sowie mehrere chinesische No-Name-Systeme, die auf dem Mediatek MT762x aufbauen.

Gerät

Anmerkung

TP-Link Archer C2600

AC26005-Klasse, Dualcore CPU, genug RAM und Flash-Speicher, schnell.

TP-Link Archer C7

Nicht v1.x (keine 5-GHz-Unterstützung durch OpenWrt). Angeboten als AC1750-Klasse, dafür aber eigentlich nicht schnell genug. Dualcore-CPU, RAM ausreichend, Flash etwas knapp, Gigabit-Ethernet.

Xiaomi Mi WiFi R3G

Mi Wifi Router 3G/MIR3G/MI3G/R4A Gigabit (nur v1). AC1200-Klasse, Dualcore, schnell, klein, handlich, genug RAM und Flash, Gigabit-Ethernet, sehr preisgünstig. Wird recht warm, Installation nur über Software-Exploit.

Fritz!Repeater 300

Älteres Modell, nur entweder 2,4 GHz oder 5 GHz, nicht simultan. Maximal 300 Mbit/s auch im 5-GHz-Band.

(Lenovo) Newifi D1

AC1200-Klasse, MT7621-Chipsatz. Schnell, viel RAM und Flash, preisgünstig, zuverlässig.

Lenovo (Newifi) Y1

MT7620-Chipsatz, geringe WLAN-Reichweite, genug RAM und Flash. Nur 100-Mbit/s-Ethernet, daher nicht als MPP geeignet.

Netgear R6800

Quadcore-CPU, viel RAM und Flash, MT7621-Chipsatz. Nur mit OpenWrt-Snapshot zu betreiben, dadurch mühsames Update.

Einrichtung mit OpenWrt

Zunächst müssen Sie OpenWrt auf die Geräte aufspielen. Das erweist sich je nach Typ als einfach (OpenWrt-Image über die Web-GUI des Routers hochladen) bis aufwendig (Software-Exploits per SSH oder TFTP). Diesen Vorgang werden wir in einem anderen Artikel dieser Serie noch genauer erläutern. Das Vorgehen nach der Installation beschreibt kurz und knapp, aber gut eine Anleitung auf der OpenWrt-Webseite [6], die für OpenWrt 19.07 gilt. Sie enthält auch (hier ausgelassene) Befehle, mit denen Sie überprüfen können, ob ein Treiber Mesh-fähig ist.

Mesh-Netzwerke gehören nicht zum Standardumfang der OpenWrt-Distribution, was es notwendig macht, einige Pakete auszutauschen. Außerdem unterstützt die Web-GUI (LUCI) die Konfiguration nicht, sodass Sie die Konfigurationsdateien manuell ändern müssen. Als Erstes entfernen Sie das installierte WPAD-Paket wpad-mini oder wpad-basic. Je nach Architektur gelingt das mit dem Kommando »opkg remove wpad-mini« oder »opkg remove wpad-basic«. Danach richten Sie das für 802.11s-Netze benötigte Paket wpad-mesh-openssl inklusive Abhängigkeiten ein. Das erledigen Sie mit dem Befehl »opkg update« beziehungsweise »opkg install wpad-mesh-openssl«. Die Konfiguration findet sich in »/etc/config/wireless«.

Stellen Sie sicher, dass der 5-GHz-Sendeempfänger angeschaltet und auf allen Geräten gleich konfiguriert ist (identischer Kanal). Je nach Gerät kann sowohl »radio0« als auch »radio1« für das 5-GHz-Band zuständig sein. In Listing 1 gehen wir von »radio0« aus. Als Nächstes definieren Sie ein Mesh-Interface. Im Beispiel aus Listing 2 heißt es »mesh0«.

Listing 1

5-GHz-Empfänger konfigurieren

config wifi-device 'radio0'
  option type 'mac80211'
  option hwmode '11a'
  option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
  option htmode 'VHT80' # Kanalbreite
  option channel '42'   # Kanal
  option country 'DE'   # in Deutschland nur DE zulässig
  option diversity '1'  # automatische Antennenauswahl ein
  option disabled '0'   # Gerät nicht deaktiviert

Listing 2

Einrichten des Mesh-Interfaces

config wifi-iface 'mesh0'
  option device 'radio0'
  option ifname 'mesh0'
  option mode 'mesh'
  option mesh_id 'mesh-5ghz'     # muss auf jedem MP gleich sein
  option key '<I>Passwort<I>'    # Passwort / Schlüssel
  option mesh_fwding '1'         # Mesh routet auch Nutzdaten
  option mesh_rssi_threshold '0' # siehe Text
  option encryption 'psk2/aes'   # Verschlüsselung
  option network 'lan'           # identisch zur Angabe im AP
  option disabled '0'            # nicht deaktiviert

Im Projekt funktionierte die WPA3-Verschlüsselung nur dann, wenn der Key rein numerisch war, alphanumerische Werte für den Key verhinderten den Aufbau des Mesh. Der RSSI-Threshold (Received Signal Strength Indicator) gibt an, ab welchem Wert der MP bei schlechter Verbindung die Verbindung zu einem anderen MP kappt. Mit dem Wert 0 schalten Sie dieses Verhalten ab, da wir es im Mesh mit MPs an festen Punkten nicht benötigen und es zu Instabilitäten führen kann. Sinnvolle Werte liegen ansonsten um die »-70« für die Signalstärke von »-70 dBm«.

Es ist auch möglich, das interne Routing von Nutzdaten im Mesh extern vorzunehmen, etwa mit den Protokollen B.A.T.M.A.N. oder OLSR. Dazu müssen Sie die Option »mesh_fwding« auf den Wert »0« setzen. Das bietet eine Möglichkeit, zwar im Gebäude mit 5 GHz zu operieren, im Freien aber dennoch die rechtlich vorgeschriebenen 2,4 GHz zu verwenden. Weitere Anwendungsmöglichkeiten kommen im nächsten Teil dieser Artikelserie ausführlich zur Sprache.

Damit steht nun das eigentliche Mesh. Nachdem Sie auf allen MPs die Konfiguration mit den Befehlen »wifi down«, »wifi up« und »logread -l 20 -f « aktiviert haben, müssen Sie kurz warten, bis alle Wi-Fi-Interfaces wieder aktiv sind. Das Mesh sollte sich automatisch aufbauen. Die MPs tauchen nun im Station Dump auf (Listing 3), bei vielen MPs wird die Liste entsprechend lang. Daneben lassen sich auch die möglichen Mesh-Parameter jedes MPs abfragen (Listing 4).

Listing 3

Station Dump

$ iw dev mesh0 station dump
Station d4:6e:0e:28:e7:b9 (on mesh0)
  inactive time:  70 ms
  rx bytes:       396260
  rx packets:     4622
  tx bytes:       3584
  tx packets:     28
  tx retries:     0
  tx failed:      0
  rx drop misc:   1535
  signal:         -67 [-76, -71, -74, -72] dBm
  signal avg:     -67 [-74, -71, -74, -73] dBm
  Toffset:        18446744073631048845 us
  tx bitrate:     6.0 MBit/s
  rx duration:    0 us
  last ack signal:-95 dBm
  mesh llid:      0
  mesh plid:      0
  mesh plink:     BLOCKED
  mesh local PS mode:     UNKNOWN
  mesh peer PS mode:      UNKNOWN
  mesh non-peer PS mode:  ACTIVE
  authorized:     no
  authenticated:  no
  associated:     no
  preamble:       long
  WMM/WME:        yes
  MFP:            yes
  TDLS peer:      no
  DTIM period:    2
  beacon interval:100
  connected time: 237 seconds

Listing 4

Ausgabe der Mesh-Parameter

# iw dev mesh0 get mesh_param
Possible mesh parameters are:
 - mesh_retry_timeout
 - mesh_confirm_timeout
 - mesh_holding_timeout
 - mesh_max_peer_links
 - mesh_max_retries
 - mesh_ttl
 - mesh_element_ttl
 - mesh_auto_open_plinks
 - mesh_hwmp_max_preq_retries
 - mesh_path_refresh_time
 - mesh_min_discovery_timeout
 - mesh_hwmp_active_path_timeout
 - mesh_hwmp_preq_min_interval
 - mesh_hwmp_net_diameter_traversal_time
 - mesh_hwmp_rootmode
 - mesh_hwmp_rann_interval
 - mesh_gate_announcements
 - mesh_fwding
 - mesh_sync_offset_max_neighor
 - mesh_rssi_threshold
 - mesh_hwmp_active_path_to_root_timeout
 - mesh_hwmp_root_interval
 - mesh_hwmp_confirmation_interval
 - mesh_power_mode
 - mesh_awake_window
 - mesh_plink_timeout
Usage:  iw [options] dev <devname> get mesh_param [<param>]
Retrieve mesh parameter (run command without any to see available ones).

Access Point definieren

Bisher kann aber noch kein Endgerät das Mesh nutzen – das erfordert noch einen Access-Point-Eintrag. Außerdem müssen Sie den AP mit dem Mesh in einer Bridge zusammenschalten. Er braucht nicht unbedingt auf demselben Sendeempfänger zu laufen, kann es aber. Listing 5 zeigt ein Beispiel für einen 2,4-GHz-AP (das Mesh selbst arbeitet auf 5 GHz), das zugehörige Device heißt in diesem Fall »radio1«. Die Konfiguration des Access Points kann dann beispielsweise so aussehen wie in Listing 6.

Listing 5

AP im 2,4-GHz-Band

config wifi-device 'radio1'
  option type 'mac80211'
  option hwmode '11g'
  option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
  option country 'DE'
  option htmode 'HT40'
  option channel '9'
  option diversity '1'
  option disabled '0'

Listing 6

Konfiguration des AP

config wifi-iface 'prod_radio1'
  option device 'radio1'
  option mode 'ap'
  option ssid 'Die-supertolle-SSID'
  option key '01234567890123456789'
  option network 'lan' # wird gebridget mit 'LAN', identisch in 'mesh0'
  option ieee80211w '1'
  option ieee80211r '1'10
  option mobility_domain '6f68'
  option disabled '0'
  option ft_over_ds '1'
  option ft_psk_generate_local '1'
  option encryption 'psk2' # WPA3 machte Probleme, siehe Text

OpenWrt beherrscht seit Version 19.07 auch WPA3, viele Endgeräte tun das aber nicht. Daher gibt es den WPA2/WPA3 Mixed Mode. Ein Client, der beim ersten Versuch abgewiesen wird, versucht es erneut. Allerdings reagieren manche Endgeräte beim Wiederverbinden nach einem misslungenen Versuch recht träge, sodass die Standardvorgabe von einer Sekunde in OpenWrt dafür nicht ausreicht. Das Endgerät wird dann für lange Zeit (10 Stunden) geblockt. Abhilfe schaffen unter Umständen die Einstellungen aus Listing 7. Allerdings gibt es trotzdem Endgeräte, die sich nicht mit einen solchen AP verbinden, obwohl sie WPA2 beherrschen.

Listing 7

Einstellungen für WPA2/WPA3 Mixed Mode

option encryption 'sae-mixed'         # WPA2/WPA3 mixed
option ieee80211w '1'                 # MFP optional
option reassociation_deadline '10000' # time units (1.024ms)

Die Optionen »ieee80211w«, »ieee80211r«, »mobility_domain«, »ft_over_ds« und »ft_psk_generate_local« dienen alle im weitesten Sinne dem beschleunigten Transfer eines Endgeräts von einem Access Point zu einem anderen beziehungsweise behandeln das Wiederverbinden eines Endgeräts nach einem Fehlversuch.

In der Datei »/etc/config/network« definieren Sie das Netzwerk »lan« mit mindestens einem Interface (Listing 8), mit dem aber kein Kabel verbunden sein muss.

Listing 8

Konfiguration LAN-Interface

config interface 'lan'
  option type 'bridge'
  option proto 'static'    # alternativ per DHCP von außen
  option netmask '255.255.255.0'
  option broadcast '10.10.0.255'
  option ipaddr '10.10.0.10' # IP des Geräts
  option gateway '10.10.0.1' # IP des externen Routers
  list dns 'x.x.x.x'
  list dns 'y.y.y.y'
  list dns '8.8.8.8'         # Google DNS
  option igmp_snooping '1'   # wenn Multicast ins WLAN soll
  option stp '1'             # Spanning Tree Protocol
  option ifname 'eth0 eth0.2 eth1 eth1.1' # Buchsen am Gerät

OpenWrt konfiguriert einiges “auto-magisch”. Der Eintrag »option network ‘lan’« sowohl im Wi-Fi-Interface für das Mesh »mesh0« als auch in dem für den Access Point (»prod_radio1«) sowie das Vorhandensein eines Interfaces »lan« in »/etc/config/network« bewirken bereits, dass der AP mit dem Mesh und auch mit den aufgeführten Ethernet-Ports ohne weitere Konfiguration gebridged wird.

Ein so konfiguriertes Gerät arbeitet ohne Änderungen als MP, MPP und MAP. Um die MAP-Funktion abzuschalten, setzen Sie lediglich in der Access-Point-Konfiguration den Wert für »disabled« von »0« auf »1« und starten das WLAN neu. Analog können Sie nach Belieben weitere SSIDs für APs mit oder ohne Verbindung zum Mesh definieren. Die Konfiguration ist damit abgeschlossen, das Gerät steht zum Einsatz bereit.

Fazit und Ausblick

Der hier gezeigte Aufbau eignet sich für den Betrieb innerhalb eines (auch größeren) Gebäudes, selbst mit sehr vielen MPs und MPPs. Ein solches Mesh auf der Basis von OpenWrt und (gegebenenfalls auch gebrauchter) Consumer-Level-Hardware bietet eine preisgünstige und trotzdem flexible, schnelle und sehr stabile Alternative zu Repeater-basierten WLAN-Erweiterungen. Die Übergabe zwischen den MAPs erfolgt für die Endgeräte fast immer transparent, die Geschwindigkeit und Stabilität schlagen jedes Repeater-Netz.

All das bieten auch kommerzielle Mesh-Lösungen, die aber immer herstellerspezifisch und damit zumindest bei der Hardwareauswahl unflexibel sind. OpenWrt ermöglicht es, die zu den Umständen eines Szenarios passende Hardware zu wählen, unabhängig vom Hersteller. Das macht die Angelegenheit um einiges preisgünstiger. Die WLAN-Qualität erweist sich als ebenso gut wie bei kommerziellen Lösungen. Der Einsatz vom OpenWrt ermöglicht die volle Kontrolle über das, was im WLAN geschieht, bei vergleichsweise wenig Aufwand.

In den folgenden Teilen dieser Artikelserie geht es zunächst um das Aufsetzen und das Management von OpenWrt selbst, mit Beispielen auch für den Update-Prozess. Danach zeigen wir, wie Sie das bisherige Setup mithilfe des Routing-Protokolls B.A.T.M.A.N. um gemischte 5-GHz/2,4-GHz-Mesh-Netzverbünde erweitern und ein zusätzliches kabelgebundenes Backbone integrieren, um auch in komplexeren Szenarien Mesh-WLAN bereitstellen zu können. (jcb/jlu)

Der Autor

Dr. Christian Böttger arbeitet nebenberuflich als freier IT-Berater.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben