Howto/Backbone-Client: Unterschied zwischen den Versionen
Zeile 100: | Zeile 100: | ||
config interface 'client' | config interface 'client' | ||
option reqprefix 'no' | option reqprefix 'no' | ||
− | + | list ifname 'eth0.3' | |
− | + | list ifname 'bat0' | |
− | |||
option proto 'dhcpv6' | option proto 'dhcpv6' | ||
option type 'bridge' | option type 'bridge' | ||
Zeile 114: | Zeile 113: | ||
option auto '1' | option auto '1' | ||
option ifname 'eth0.100' | option ifname 'eth0.100' | ||
− | |||
option macaddr 'xx:xx:xx:xx:xx:xx' # hier eine korrekt formatierte, eindeutige MAC-Adresse einfügen, die aus dem Locally Administered Bereich stammt, Online-Generatoren gibt es z.B. [https://www.hellion.org.uk/cgi-bin/randmac.pl hier] | option macaddr 'xx:xx:xx:xx:xx:xx' # hier eine korrekt formatierte, eindeutige MAC-Adresse einfügen, die aus dem Locally Administered Bereich stammt, Online-Generatoren gibt es z.B. [https://www.hellion.org.uk/cgi-bin/randmac.pl hier] | ||
− | + | option proto 'gluon_mesh' | |
− | option proto ' | ||
Danach startet man das Netzwerk neu mit: | Danach startet man das Netzwerk neu mit: |
Version vom 10. Januar 2018, 09:17 Uhr
Hier beschreiben wir, wie man einen Client-Node an das Backbone-Netz, wie Freifunk-Mainz es gegenwärtig betreibt, andocken kann. Ein Backbone-Client ist ein Freifunk-Router, der mit einer Richtfunk-Antenne an unser Backbone (unser Hochgeschwindigkeitsnetz über den Dächern der Stadt) angeschlossen wird.
Das Backbone hat gegenüber dem bekannteren client-seitigen Mesh ein paar Besonderheiten. Diese werden hier erläutert und in einer Schritt-für-Schritt-Anleitung durchgegangen. Das Backbone-Netz ist charakterisiert durch die reine Bestückung mit 5-GHz-Geräten. 2,4-GHz-Geräte können nichts vom Backbone sehen. Die Fokussierung auf 5-GHz-Geräte bringt aus Open Source-Sicht leider ein paar Einschränkungen mit: Auf den Geräten von Ubiquiti setzen wir die proprietäre Hersteller-Software "AirOS" ein, denn das ebenfalls darauf lauffähige OpenWRT-Linux verfügt noch nicht die erforderliche behördliche Zulassung für diesen Einsatz. AirOS genießt diese Zulassung.
Eine Konsequenz aus der Geschlossenheit des Ubiquiti-AirOS ist, dass wir keine Freifunk-Software darauf installieren können, Software, die wir für das Meshen brauchen. Daher muss diese Mesh-Software (z.B. BATMAN) in einem separaten Gerät liegen, hier in einem OpenWRT-System mit Gluon. Ein Client-System am Backbone besteht also zur Zeit in der Regel aus zwei physischen Geräten: Der Richtfunkantenne (Nanostation, Nanobeam etc.) mit der Original-Firmware (AirOS) und dem Freifunk-Router mit Gluon.
Im Laufe der Beschreibung hier werden also zwei Systeme eingerichtet, und nach der Einrichtung wird das AirOS-Gerät (die Richtfunkantenne) über ein Patchkabel mit einem der LAN-Ports des Gluon-Routers verbunden.
Einrichten des AirOS
Um den AirOS-Router (NanoStation, NanoBeam, etc.) zu konfigurieren, schließt man diesen mit Hilfe des PoE-Adapters direkt an den Computer an. Auf dem muss man dem Netzwerk-Interface manuell eine feste IP-Addresse im Netz 192.168.1.0/24 zuweisen, weil das AirOS-Gerät in genau dem Netz seine Default-Adresse hat. Das AirOS-Gerät ist danach unter der 192.168.1.20 erreichbar; jetzt kann man sich mit einem Browser in dem AirOS-Router einloggen: https://192.168.1.20 Ubiquiti gibt seinen Geräten bei Auslieferung das Pärchen ubnt/ubnt für User und Passwort mit.
Auf fast allen Seiten/Reitern nehmen wir Einstellungen vor:
System
Wir benennen das Gerät sinnvoll, setzen die Zeitzone, geben dem Admin-User ein gutes Passwort und legen zusätzlich noch einen Read-Only-User freifunk mit Passwort freifunk an. Schließlich sagen wir dem Gerät, wo es aufgestellt ist. Diese Koordinaten sind aber optional, haben für die Funktion natürlich keine Bedeutung.
Das AirOS wird den Nutzer von Anfang an auffordern, das Passwort zu ändern. Daher fangen wir hier an. Das PW sollte zudem hinreichend gut sein, da der AirOS-Router später im Freifunk-Netz von der Allgemeinheit erreichbar sein wird.
Services
Die Discovery-Funktionen sollten deaktiviert sein. CDP ist Cisco Discovery Protocol und sollte daher ebenfalls aus.
Advanced
Auch hier nur eines: die Entfernung (zu der weitesten Gegenstelle) kann voreingestellt werden auf etwa 6 km. Auf jeden Fall aber muss Auto-Adjust aktiviert sein.
Network
Wir konfigurieren das AirOS-Gerät so, dass es später ohne VLAN-Tags über eine 192.168.1.0/24-Adresse, und mit VLAN-Tags über eine Adresse aus dem 10.37.2.0/23 über Freifunk erreichbar sein wird gemäß Netzplan.
Managment-IP-Konfiguration
Plant man mehrere AirOS-Router an einem Standort zu betreiben, so muss man die von Ubiquiti standardmäßig vergebene IP-Adresse (192.168.1.20) auf was anderes (noch freies) ändern, so dass später jeder AirOS-Router seine eigene lokale IP hat und es keine Kollisionen gibt.
VLAN-Konfiguration
Als nächstes legen wir die VLANs an. VLAN 3 für Freifunk-Client und VLAN 100 für das BATMAN. Als Konvention bietet es sich an, den WLAN-Kanal des AirOS-Geräts als VLAN-Nummer zu wählen:
Bridge-Konfiguration
Nun fügt man zwei neue Bridges hinzu. In die Bridge1 kommt das Freifunk-Management. VLAN3 und in Bridge2 kommt das WLAN-Interface und das BATMAN-VLAN100. Der Haken unter der Spalte STP sollte nicht gesetzt sein.
Als nächstes konfiguriert man eine Alias-IP, damit das AirOS-Gerät später auch aus dem Freifunk-Netz heraus erreichbar sein wird. Die IP kann man aus dem Netzplan aussuchen. Wichtiger ist sogar noch, sie auch gleich dort einzutragen, damit es keine Kollisionen gibt, wenn sich jemand anderes die gleiche Adresse nehmen sollte. Das Interface für die IP ist Bridge1.
Nach dem Übernehmen und Anwenden in der GUI sollte der AirOS-Router untagged unter der 192.168.1.0/24er Adresse erreichbar sein. Und tagged über VLAN3 unter der vergebenen Freifunk-Backbone-IP.
Wireless
Befindet sich der AirOS-Router schon in Empfangsposition, so kann im Wireless-Reiter die Backbone-SSID ausgewählt werden, mit der man sich nun verbinden will. Idealerweise ist das die, zu der man den besten Empfang hat an seinem Standort. Hierzu stellt man den Wireless Mode auf Station, was im Ubiquiti-Slang der Client Mode ist, und kann dann über den Button rechts neben dem SSID-Feld eine Gegenstelle auswählen. Das Backbone-Mesh ist WPA2-verschlüsselt, man braucht also einen PSK bzw. eine Passphrase, die man auf der Mailing-Liste Backbone erfragen kann. Hierhin kann man sich auch bei Problemen oder mit Fragen wenden. Die Frequenz oder Kanalbreite sollte bei den weiteren Optionen auf Auto gestellt sein, da sonst nur der ausgewählte Kanal gescannt würde.
Gluon-Router-Konfiguration
Hier wird beispielhaft eine Konfiguration eines WDR3600 gezeigt. Sie befindet sich unter /etc/config/network
. Es wird der gesamte Switch in den Tagged-Modus umgeschaltet. Sollte dies nicht gewollt sein, so entfernt man einfach die entsprechenden Ports aus der Konfigurationszeile (z.B. LAN-Port 1 und 2 raus: option ports '0t 4t 5t'). Das kleine t bedeutet jeweils die Teilnahme des Ports am Betrieb mit Tags. Aufpassen: bei anderen Routermodellen kann die Numerierung der Ports anders sein, wie auch der Nummernbereich, aus dem man sich VLAN IDs aussuchen kann. Infos hierzu gibt es in den entsprechende OpenWRT-Wiki-Seiten über das konkrete Routermodell, wo der konkret verbaute Switch erklärt wird. Es sind auch Unterschiede zwischen Hardware-Revisionen desselben Modells möglich!
- anzeigen der Anzahl an unterstützten VLAN-IDs, höchstes benutzbares VLAN ist "angezeigte Anzahl - 1" (nicht alle können das heir verwendete VLAN 100, der WR841 z.B. nur VLAN-IDs <16):
swconfig dev switch0 help
- anzeigen der Portkonfiguration:
swconfig dev switch0 show
Konfiguration der Network config:
config switch option name 'switch0' option reset '1' option enable_vlan '1'
Ports aus dem default VLAN 1 löschen (außer Port 0t = CPU):
config switch_vlan option device 'switch0' option vlan '1' option ports '0t'
Anlegen eines Management-VLANs, über das später das Freifunk-Client-Netz laufen wird:
#Freifunk Client MNGMT VLAN config switch_vlan option device 'switch0' option vlan '3' option ports '0t 2t 3t 4t 5t'
Anlegen eines VLANs, über das die BATMAN-Pakete laufen. Als Konvention bietet sich an, den WLAN-Kanal des AirOS-Geräts als VLAN-Nummer zu wählen. Hier die 100:
config switch_vlan option device 'switch0' option vlan '100' option ports '0t 2t 3t 4t 5t'
Nun wird das VLAN3 der Client-Bridge hinzugefügt und das alte Untagged-Interface (in diesem Fall eth0) wird entfernt:
config interface 'client' option reqprefix 'no' list ifname 'eth0.3' list ifname 'bat0' option proto 'dhcpv6' option type 'bridge' option igmp_snooping '0' option macaddr 'xx:xx:xx:xx:xx:xx' # diese MAC-Adresse nicht ändern option peerdns '1'
Schließlich wird das BATMAN-VLAN noch dem bat0-Interface hinzugefügt:
config interface 'mesh_vlan100' option auto '1' option ifname 'eth0.100' option macaddr 'xx:xx:xx:xx:xx:xx' # hier eine korrekt formatierte, eindeutige MAC-Adresse einfügen, die aus dem Locally Administered Bereich stammt, Online-Generatoren gibt es z.B. hier option proto 'gluon_mesh'
Danach startet man das Netzwerk neu mit:
/etc/init.d/network restart
Dies dauert ein paar Sekunden.
Will man mehrere AirOS-Router an einem Standort betreiben, so sollte man für jeden ein eigenes BATMAN-VLAN konfigurieren und dem bat0-Interface hinzufügen. Die AirOS-Router können alle mit verschiedenen Backbone-IPs im gleichen Management-VLAN sein. Es muss jedoch sichergestellt werden, dass mehrere AirOS-Router dasselbe Freifunk-Client-VLAN (hier VLAN3) nicht zusammen "bridgen". Genauso muss sichergestellt werdern, dass man mehrere Gluon-Router nur über BATMAN-Ports (Mesh) zusammenstecken darf, nicht aber über Client-Ports (hier VLAN 3).
Testen des Setups
VLAN-Switch-Konfigration
Die VLAN-Konfiguration kann jetzt auf Richtigkeit überprüft werden:
swconfig dev switch0 show
Die Ausgabe sollte folgendes beinhalten:
VLAN 3 : vid: 3 ports: 0t 2t 3t 4t 5t VLAN 100 : vid: 100 ports: 0t 2t 3t 4t 5t
VLAN-Interfaces
Wenn der Gluon-Router mit dem AirOS-Router verbunden ist, sollten bei dem Interface eth0.100 auf Rx- und Tx-Seite (Receiver und Transmitter) Pakete fließen.
ip address show dev eth0.100
Ebenso auf eth0.3.
Erreichbarkeit im Freifunk-Netz
Nun kann man versuchen, den AirOS-Router im Freifunk anzupingen. Das ist die IP-Adresse, die Du Dir im Netzplan für Dein Backbone-Setup ausgesucht hast.
ping <backbone-ip>
Dies sollte innerhalb des ganzen Freifunk-Mainz-Netzes möglich sein.