Berlin:Tutorial:Mit einer Richtantenne und einem Freifunk-Router in den Berliner Freifunk

Aus wiki.freifunk.net
Zur Navigation springen Zur Suche springen
Test-Setup in der Kolonie Weidenbaum

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,00, Stand 2/2020) mit ihrer Original-Herstellerfirmware (Stock-Firmware) und irgendeinen Freifunk-Router (ab ca. € 15,00) 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.


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?host=10.36.142.140&mask1=30&mask2=)

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 interface '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 Wert, der hinter option ifname steht (beispielsweise eth0 oder eth0.1, je nach Router), und löschen den diesen Wert der option ifname, sodass in der Zeile damit dort dann steht

          config interface 'dhcp'
                     ...
                     option ifname '' 
                     ...

Wir fügen nach dem gesamten dhcp-Block einen neuen Block hinzu, in dem wir den option ifname-Wert von eben mit einfließen lassen:

          config interface 'fflan'
                      option proto 'static'
                      option ifname 'eth0 ODER eth0.1, JE NACH ROUTER'
                      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 'fflan'
                      option proto 'static'
                      option ifname 'eth0'
                      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' und fügen hier nun fflan in die Liste der Interfaces unter network hinzu. Sähe zum Beispiel so aus:

          option network 'fflan wireless0 dhcp ...'  (wobei die Punkte die Interfaces symbolisieren, die vorab schon drinstehen, bitte nicht löschen)

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 'fflan'
                     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!