Berlin:Tutorials/Mit einer Richtantenne und einem Freifunk-Router in den Berliner Freifunk
Mit einer Richtantenne und einem Freifunk-Router in den Berliner Freifunk
Angenommen, Du hast einen Kirchturm oder eine sonstige Freifunk-Installation in Sichtweite, und würdest Dich gern mit dem Berliner Freifunk-Netz - Berlin Backbone BBB verbinden: Hierzu benötigst Du in der Regel eine Richtantenne, die auf 5 Ghz funkt, sowie einen Router mit der Freifunk-Firmware. In unserem Beispiel-Tutorial verwenden wir eine Ubiquiti NanoStation M5 (das M ist wichtig, gebraucht schon ab ca. € 30,—, Stand 2/2020) mit ihrer Original-Herstellerfirmware (Stock-Firmware) und irgendeinen Freifunk-Router (ab ca. € 15,—) aus der Liste der unterstützten Router im Artikel Berlin:Firmware mit der notunnel-Variante der Freifunk-Firmware drauf.
Für dieses Tutorial ist unter Umständen ein wenig Mut erforderlich, denn wir konfigurieren den Freifunk-Router per SSH. Du kannst ihn nicht kaputt machen, wenn etwas nicht klappt, können wir ihn problemlos resetten. Zeitlich beansprucht die Durchführung des Tutorials etwa eine Stunde. Dieses Tutorial wurde im August 2022 für Falter >1.2 aktualisiert.
IPs besorgen
Die Antenne (bzw. das Netzteil derer) und der Freifunk-Router werden nach der Einrichtung mit einem normalen Netzwerkkabel verbunden. Für diese Verbindung vergeben wir in den folgenden Schritten feste IPs, die wir uns auf https://config.berlin.freifunk.net aus dem Freifunk-Adressraum reservieren:
IP-Vergabe für Expert_innen -> irgendeinen Namen ausdenken & Felder ausfüllen, IPv4-Präfix 30 & kein IPv6 -> wir bekommen nach Mailbestätigung ein /30-Netz mit zwei für uns nutzbaren IPs (Falls angedacht ist, die Antenne mit mehreren lokalen Freifunk-Routern per Mesh zu verbinden, kann man auch gleich einen IPv4-Präfix 29 reservieren, der ergibt 6 nutzbare Adressen. Ein ipcalc-Rechner online hier: http://jodies.de/ipcalc)
Angenommen, wir haben 10.36.142.140/30 zugewiesen bekommen - ipcalc dazu:
Address: 10.36.142.140 00001010.00100100.10001110.100011 10 Netmask: 255.255.255.252 = 30 11111111.11111111.11111111.111111 00 Wildcard: 0.0.0.3 00000000.00000000.00000000.000000 11 => Network: 10.36.142.140/30 00001010.00100100.10001110.100011 00 (Class A) Broadcast: 10.36.142.143 00001010.00100100.10001110.100011 11 HostMin: 10.36.142.141 00001010.00100100.10001110.100011 01 HostMax: 10.36.142.142 00001010.00100100.10001110.100011 10 Hosts/Net: 2 (Private Internet)
IP der Antenne zuweisen
Wir verbinden unseren Netzwerkadapter direkt mit dem Netzteil der Antenne, loggen uns auf dem Webinterface der Nanostation ein (192.168.0.20, ubnt / ubnt) und vergeben ein ordentliches Passwort, das wir uns notieren oder merken. Da die Nanostation keine IPs per DHCP vergibt, geben wir unserem Netzwerkadapter manuell die 192.168.0.21 mit Subnet-Mask 255.255.255.0 und Gateway 192.168.0.20. Auf der Nanostation vergeben wir im Network-Tab eine Static IP im Simple Mode: die erste nutzbare IP aus unserer Reservierung, 10.36.142.141 mit Subnet-Mask 255.255.255.252 (ist ja unser /30-Netz, siehe ipcalc). Als Gateway tragen wir die zweite nutzbare Adresse aus Schritt 1 ein (hier bspw. 10.36.142.142), die später unser Freifunk-Router auf seinem Mesh-Interface bekommt. Wir wenden die Änderungen an. Wichtig: Ab diesem Punkt ist das Webinterface dann unter der neuen statischen IP-Adresse 10.36.142.141 mit Subnet-Mask 255.255.255.252 erreichbar, also konfigurieren wir unseren Netzwerkadapter um auf dieses Netz und nehmen einfach _vorübergehend_ für diesen die zweite nutzbare IP 10.36.142.142 mit Subnet-Mask 255.255.255.252 (nicht wie gewohnt 255.255.255.0!).
Zusammengefasst:
NSM5 Config Mode Simple IP Address: erste nutzbare IP aus Schritt 1, bspw. 10.36.142.141 Netmask: Netmask aus Schritt 1, bspw. 255.255.255.252 Gateway IP: zweite nutzbare IP aus Schritt 1, bspw. 10.36.142.142
Freifunk-Netz auswählen
Spätestens jetzt installieren wir unsere Nanostation so, dass sie Sichtverbindung zur Freifunk-Gegenstelle hat und möglichst senkrecht, sodass kein Regenwasser an die Ethernetports unter dem Plastik-Clip kommen kann (gern auch mit Isolierband ein wenig abdichten).
Wir loggen uns anschließend wieder auf der Nanostation ein (10.36.142.141, ubnt / Passwort). Im Wireless-Tab konfigurieren wir die NanoStation als WDS-Bridge (Transparent Bridge Mode aktiv) und wenden die Änderungen an. Im Wireless-Tab bei SSID: klicken wir auf Select... und suchen dort das stärkste Signal von unserer Freifunk-Gegenstelle. Wichtig: Wir suchen hier in der Regel _nicht_ die SSID berlin.freifunk.net oder Mesh-Freifunk-Berlin, sondern einen standort-eigenen Namen, der je nach Standort im Wiki steht, siehe Kategorie:BBB. Wenn wir uns beispielsweise mit der Emmauskirche aka Emma verbinden möchten, schauen wir im Wiki nach: Berlin:Standorte:Emmauskirche und sehen dort alle Netzwerk-Namen (SSIDs), die die Kirche ausstrahlt. Ist für uns davon auf unserer NanoStation in der Scan-Liste beispielsweise 'emma-wsw-5ghz' am besten empfangbar, wählen wir 'emma-wsw-5ghz'. "Lock to AP", quasi das Binden an die MAC-Adresse der Gegenstelle, lassen wir dabei deaktiviert, da sonst zB. bei Hardwaretausch auf der Kirche unsere NanoStation die Gegenstelle nicht mehr finden kann. Die nun bestehende Funk-Verbindung zwischen der Nanostation und dem Freifunk-Standort ist transparent, als hätte man ein langes Netzwerkkabel direkt zum Freifunk-Standort gespannt und in den dortigen Mesh-via-LAN-Switch eingesteckt. Im Main-Tab der Nanostation schauen wir uns an, mit wieviel MBit/s die Verbindung steht.
Freifunk-Router konfigurieren
Wir holen uns ein zweites Mal IPs von https://config.berlin.freifunk.net, diesmal im Standard/Wizard-Modus (linker Knopf), stellen unseren Netzwerkadapter wieder auf IP automatisch per DHCP um, verbinden den Rechner mit dem Freifunk-Router und starten ihn, rufen nach ca. 3 Minuten, wenn er durchgebootet hat, http://192.168.42.1 auf und füllen den dortigen Wizard mit unseren Infos, Router-Betriebsmodus "Am Freifunk-Netz teilnehmen" (linker Knopf) und den zweiten, jüngst beantragen IP-Infos aus (wichtig: hier im Wizard kommt zu keiner Zeit die IP-Info aus Schritt 1 des Tutorials zur Anwendung). Der Router startet neu. Wir bekommen eine neue IP auf unseren Netzwerkadapter aus dem Freifunk-DHCP-Netz des Routers. Wir loggen uns mit ssh root@<Router-IP> auf den Router per SSH ein.
Wir öffnen die Netzwerk-Konfig im Texteditor vim:
vim /etc/config/network
Wir scrollen runter bis zum Block
config device option type 'bridge' list ports 'eth0' # oder ähnlich option name 'br-dhcp'
Wir drücken 'i' um in den Insert-Mode zu gelangen, in dem wir Änderungen an der Datei vornehmen können.
Wir notieren oder merken uns den Bezeichner, der hinter list ports
steht (beispielsweise eth0
oder eth0.1
, lan1
, ... je nach Router), und löschen diesen Wert der list ports
, like so:
config device option type 'bridge' list ports '' option name 'br-dhcp'
Wir legen darunter ein neues device
mit dem eben notierten Port-Bezeichner an, fürs Meshen:
config device option type 'bridge' list ports 'eth0' option name 'br-lanmesh'
Wir fügen darunter einen neuen config interface
-Block hinzu:
config interface 'fflanmesh' option proto 'static' option device 'br-lanmesh' option netmask 'SUBNET-MASK AUS SCHRITT 1, BSPW. 255.255.255.252' option ipaddr 'ZWEITE NUTZBARE IP AUS SCHRITT 1, BSPW. 10.36.142.142' option ip6assign '64'
Sähe also fertig ausgefüllt für unser Beispiel so aus:
config interface 'fflanmesh' option proto 'static' option device 'br-lanmesh' option netmask '255.255.255.252' option ipaddr '10.36.142.142' option ip6assign '64'
Wir drücken ESC, und geben :wq ein, das bedeutet "write+quit"
Somit haben wir dem gesamten eth0-Interface das Mesh-Netzwerk zugeordnet. Wenn wir nur einzelne Ethernetports des Freifunk-Routers für Mesh verwenden wollen, und auf anderen beispielsweise Freifunk-DHCP für Clients haben möchten, würden wir uns VLANs basteln, nach Schema eth0.1 / eth0.2, mehr dazu hier: Berlin:Switch VLAN Konfiguration
Wir öffnen die firewall-Konfig in vim:
vim /etc/config/firewall
Wir drücken 'i' um in den Insert-Mode zu gelangen
Wir scrollen bis config zone 'zone_freifunk', hier nun 'fflanmesh' zu der Liste der Networks hinzufügen:
... list network 'fflanmesh'
Wir drücken ESC, und geben :wq ein
Wir öffnen die olsrd-Konfig in vim:
vim /etc/config/olsrd
i
fügen ans Ende der Datei hinzu:
config Interface option ignore '0' option interface 'fflanmesh' option Mode 'ether'
config Hna4 option netmask 'SUBNET-MASK AUS SCHRITT 1, BSPW. 255.255.255.252' option netaddr 'NETZADRESSE AUS SCHRITT 1, BSPW. 10.36.142.140'
Hier bei netaddr beachten wir, dass wir die Netz-Adresse aus Schritt 1 eintragen, und sie nicht mit der ersten nutzbaren IP verwechseln.
ESC + :wq
reboot
Geschwindigkeit testen
Nun verbinden wir die NanoStation am Main-Port mit dem PoE-Port ihres Netzteils, und den LAN-Port des Netzteils mit einem LAN-Port des Freifunk-Routers, verbinden uns mit dem WLAN "berlin.freifunk.net" und machen einen Speedtest, zum Beispiel auf https://speedof.me.
Teile des Tutorials stammen aus dem guten Wiki-Eintrag Berlin:Tutorial:Mesh via LAN ursprünglich von Arvid Oddson. Danke!