Howto/Offloader

Aus Freifunk MWU Wiki
Wechseln zu: Navigation, Suche

Die meisten Routermodelle haben eine realitv schwache CPU, die nicht dafür ausgelegt ist, große Datenmengen permanent zu ver-/entschlüsseln. Beim von uns eingesetzten Protokoll BATMAN mit fastd als VPN-Dienst kommt es außerdem zu häufigen Wechseln zwischen Userspace und Kernelspace. Dies begrenzt die Bandbreite der günstigen Freifunk-Router erheblich. Das Problem tritt bei schnelleren Internetanschlüssen wie z.B. VDSL25 oder größer auf: Selbst schnelle Router wie der TL-WR1043N/ND oder TL-WDR4300 schaffen aus den o.g. Gründen in der Spitze selten mehr als 12 MBit/s.

Abhilfe kann ein sog. "Offloader" schaffen: Ein dedizierter Rechner, der dem Freifunk-Router die Rechenlast abnimmt. Hierbei handelt es sich meist um preiswerte x86-Hardware die wesentlich performanter ist, als die kleinen stromparenden MIPS-Prozessoren, die in den Routern zum Einsatz kommen.

Auf dieser Seite wollen wir dokumentieren, wir man bestimmte Geräte zum Freifunk-VPN-Offloader umfunktioniert.

Fujitsu Siemens Futro S550

Material

  • PC/Laptop mit Unixoidem oder Windows Betriebssystem
  • Freifunk-kompatibler Router (z.B. TL-WR841N/ND)
  • Fujistu-Siemens Futro S550-2
  • PCIe Riser-Karte
  • Linux-kompatible LowProfile Netzwerkkarte
  • CF-Kartenleser
  • Netzwerkkabel

Installation

BIOS

Das BIOS sollte so eingestellt sein, dass es ohne angeschlossene Tastatur bootet und automatisch angeht, wenn Strom am Netzteil anliegt. So bleibt der Offloader auch erreichbar, wenn es einen Stromausfall gab. Um dies einzurichten wird der Futro via F2 in das BIOS gestartet.

Zuerst hangelt man sich mit den Pfeiltasten unter dem Abschnitt Main zu dem Punkt Boot Features, diesen bestätigt man mit der Eingabetaste und ein weiteres Untermenü öffnet sich. Dort navigiert man zu POST Errors und ändert die Einstellungen mit der Eingabetaste zu "Disabled". Diese Einstellung verhindert den Startabbruch, weil keine Tastatur angeschlossen wurde.

Vpn-offloader-disable-keyboard-checking.jpeg


Um bei einem Stromverlust den Futro automatisch starten zu lassen, muss man noch folgende Einstellungen ändern. Dafür hangelt man sich mit den Pfeiltasten unter dem Abschnitt Power zu dem Punkt Power Failure Recovery, und ändert diese Einstellungen mit der Eingabetaste zu "Always On".

2.jpg

Hardware

Zuerst muss die zweite Netzwerkkarte in den Futro S550-2 eingebaut werden. Hierzu das Gehäuse aufschrauben und die Netzwerkkarte zusammen mit der Riser-Karte einbauen. Danach die CF-Karte entfernen, diese wird im nächsten Schritt benötigt. Mittlerweile gibt es einen automatischen Installer falls man keinen CF-Kartenleser hat: https://github.com/oszilloskop/Gluon2Futro

CF-Karte

In diesem Schritt wird die CF-Karte mit der Freifunk-Firmware beschrieben. Da es mit verschiedenen Betriebssystemen unterschiedliche Wege gibt, werden die Schritte unter den 2 gängigsten Betriebsysteme erklärt.

Linux

Die CF-Karte mit dem Kartenleser an euren PC anschließen und mittels dmesg herausfinden unter welcher GeräteId diese angesprochen werden kann.

root@linux:~# dmesg | egrep '\[sd.\]'
[    1.473459] sd 0:0:0:0: [sdd] 994896 512-byte logical blocks: (509 MB/485 MiB)
[    1.480990] sd 0:0:0:0: [sdd] Write Protect is off
[    1.485828] sd 0:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    1.485942] sd 0:0:0:0: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    1.499251] sd 0:0:0:0: [sdd] Attached SCSI disk

In meinem Fall hat die Karte die DeviceId sdd und kann unter der Datei /dev/sdd angesprochen werden.


Als Nächstes benötigen wir die aktuelle Firmware.
http://firmware.freifunk-mwu.de/wiesbaden/stable/factory gluon-ffwi-VERSION-x86-64.img.gz
http://firmware.freifunk-mwu.de/mainz/stable/factory gluon-ffmz-VERSION-x86-64.img.gz

Nach dem Runterladen die die Datei entpacken mit gunzip und das Image mittels dd auf die CF-Karte schreiben. Hinter if= (Inputfile) gebt ihr den Pfad zum entpackten Image an und hinter of= (Outputfile) die Gerätedatei unter der die CF-Karte erreichbar ist.

root@linux:~# gunzip gluon-ffmz-VERSION-x86-64.img.gz

root@linux:~# dd if=/tmp/gluon-ffmz-VERSION-x86-64.img of=/dev/sdd bs=1M
5+1 records in
5+1 records out
5599280 bytes (5.6 MB) copied, 0.00955917 s, 586 MB/s

Um sicher zugehen, dass alle Schreiboperationen auf der CF-Karte abgeschlossen sind, führen wir noch einmal den Befehl sync aus und warten bis wir wieder auf der Kommandozeile laden.

root@linux:~# sync
root@linux:~# 

Zum Schluss die Karte wieder in den Futro S550-2 einbauen und das Gerät anschließen.

Windows

Die CF-Karte mit dem Kartenleser an euren PC anschließen und warten bis der PC sie erkannt hat.


Als Nächstes benötigen wir die aktuelle Firmware.
http://firmware.freifunk-mwu.de/wiesbaden/stable/factory gluon-ffwi-VERSION-x86-64.img.gz
http://firmware.freifunk-mwu.de/mainz/stable/factory gluon-ffmz-VERSION-x86-64.img.gz

Wenn ihr die Datei heruntergeladen habt, entpackt ihr sie mittels 7-Zip. Anschließend müsst ihr euch das Tool namens Win32 Disk Imager herunterladen + installieren. Startet das Programm und wählt mittels dem Dateimanager (blauer Ordner) euer Imagefile aus, dass ihr vorhin entpackt habt. Klickt nun auf Write und wartet bis das Image auf eure Karte geschrieben worden ist.


Zum Schluss die Karte wieder in den Futro S550-2 einbauen und das Gerät anschließen.

Gluon

Offloader

Die vorgehensweise bei der Einrichtung von Gluon entspricht weitestgehend der Standardkonfiguration.

Nachdem der Offloader gestartet ist, schließt man seinen PC/Laptop an die ?onboard? Netzwerkkarte an. Der PC sollte nach kurzer Zeit eine IP Adresse aus dem Bereich 192.168.1.0/24 bekommen. Sobald dies der Fall ist, kann man die Weboberfläche (http://192.168.1.1) zur Konfiguration aufrufen.


Offloader1.png

1. Als Erstes wechselt man obenrechts auf den Expert Mode und klickt dann auf den Unterpunkt Network. Dort den Haken bei "Enable meshing on the LAN interface" setzen und mit Save abspeichern.


Offloader3.png

2. Danach wechseln wir wieder auf den Wizard und setzen den Haken bei "Use internet connection (mesh VPN)" und speichern wie immer alles mit Save & restart. Die restlichen Angaben zum Knoten sollten natürlich auch ensprechend angepasst werden.


Offloader4.png

3. Zu guter Letzt folgt ihr noch den Anweisung auf der letzten Seite und schickt den neu erzeugten VPN Schlüssel an die entsprechende Freifunk Community.

Router

Der Router (z.B. TL-WR841N/ND) wird ebenfalls mit der aktuellen Gluon Firmware geflasht. Im Gegensatz zur normalen Einrichtung muss aber unter "Expert Mode -> Network" -> "Enable meshing on the WAN interface" aktviert werden. Das ganze wie immer mit Save speichern und wieder auf den Wizard wechseln. Dort noch "Use internet connection (mesh VPN)" deaktivieren und mit "Save & restart" speichern.

Anschließen

Damit jetzt alles funktioniert müsst ihr den WAN Anschluss des Routers mit dem LAN Anschluss (?onboard?) des Offloaders verbinden. Den Offloader wiederum wird mit dem WAN Anschluss (?PCIe?) an euren normalen Router.

Fujitsu Siemens Futro S700

Nachdem wir eine größere Spende von Geräten des Typs Futro S700 bekommen haben, lohnte es sich, dafür eine Beschreibung aufzusetzen. Diese Geräte haben eine SSD Festplatte drin, die sich wohl nicht ausbauen lässt zum Flashen. Die Anleitung für den S700 löst das Problem durch einen Boot vom USB-Stick. Sie geht außerdem davon aus, dass keine zweite Netzwerkkarte benötigt wird und leitet den Traffic per VLANs aus.

Material

  • PC/Laptop mit Unixoidem oder Windows Betriebssystem
  • Freifunk-kompatibler Router (z.B. TL-WR841N/ND = 55 Mbit, TL-WDR3600 = 90 Mbit)
  • Fujistu-Siemens Futro S700
  • Netzwerkkabel

Installation

Die ausführliche Anleitung kannst du hier anzeigen:

Futro S700 Anleitung anzeigen (Version 2 vom 25.08.2018)

Ubiquity EdgeRouterX

Wer einen PoE Switch nutzt, um verschiedene Geräte wie Access Points mit Strom zu versorgen, kann auch auf den Ubiquity EdgeRouterX als Offloader zurückgreifen. Dieses Gerät kann nach der Installation per PoE versorgt werden. Die Anleitung ist für ein Netzwerk mit VLANs gedacht und basiert auf der Version 2017.2+mwu~exp2018010901 / gluon-v2017.1-174-g4911da5

Material

  • PC/Laptop mit Unixoidem oder Windows Betriebssystem
  • Ubiquity EdgeRouterX
  • Netzwerkkabel

Installation

Die Installation geht von einem unkonfigurierten EdgeRouter aus und basiert bei den ersten Schritten auf https://www.freifunk-winterberg.net/die-nutzung-von-ubiquiti-edgerouter-x-als-freifunk-offloader/. Die folgenden Schritte sollten bevorzugt von jemandem durchgeführt werden, der den Umgang mit Linux-System gewohnt ist. Die folgenden Schritte sollten lokal mit dem Netzteil vorgenommen werden, da es sonst zu Problemen mit der Netzworkkonnetivität kommen kann. In Kurzform:

  1. https://www.freifunk-winterberg.net/wp-content/uploads/2017/07/lede-ramips-mt7621-ubnt-erx-initramfs-factory.tar herunterladen
  2. Aktuelles Sysupdate Image für den ERX herunterladen
    1. http://firmware.freifunk-mwu.de/mainz/testing/sysupgrade/
    2. http://firmware.freifunk-mwu.de/wiesbaden/testing/sysupgrade/
  3. Rechner mit IP Adresse 192.168.1.2 / 255.255.255.0 per Ethernet am EdgeRouter eth0 anschließen.
  4. per WinSCP LEDE (aus Schritt 1) ins /tmp Verzeichnis auf dem ERX kopieren / 192.168.1.1
  5. per SSH / 192.168.1.1 am ERX anmelden (Benutzer ubnt / Passwort ubnt)
    1. cd /tmp
    2. add system image lede-ramips-mt7621-ubnt-erx-initramfs-factory.tar
    3. "reboot" eingeben, der ERX startet neu.
  6. Jetzt das Netzwerkkabel am ERX eth1 Port anschließen
  7. per WinSCP das Sysupgrade aus Schritt 2 nach ERX /tmp kopieren (192.168.1.1), diesmal die Verbindungsart auf SCP umstellen
  8. per SSH auf 192.168.1.1, Benutzer root, kein Passwort
    1. cd /tmp
    2. sysupgrade <dateiname>, am besten vorher per "ls" anzeigen lassen
    3. Jetzt startet der ERX wieder neu
  9. Netzwerkkabel zurück auf eth0
  10. Im Browser 192.168.1.1 aufrufen, um die Grundkonfiguration des ERX als Offloader vorzunehmen.

VLAN-Setup

Folgendes Setup ist gegeben: Unify WIFI Umgebung, Freifunk ist im VLAN 37 tagged. Der Zugang zum Netzwerk zum Aufbau des Tunnels liegt untagged an, client Netzwerk ist VLAN 37. Die notwendigen Änderungen sind in der Datei /etc/config/network:

  1. VLAN 37 tagged am Port eth0 annehmen, und im Router nutzen. Neuen Abschnitt nach den switch_vlans anlegen:
config switch_vlan
	option device 'switch0'
	option vlan '37'
	option ports '0t 6t'
  1. Den Abschnitt config interface 'client' wie folgt ändern, list ifname 'eth0.1' entfernen
config interface 'client'                               
 ...             
        list ifname 'local-port'                        
        list ifname 'bat0'                              
        list ifname 'eth0.37' 
...
  1. /etc/init.d/network restart, oder einen Reboot machen. That's it.
  2. Jetzt kann der ERX an den gwünschten Port angeschlossen werden (Passive POE 24V).
  3. Mit 'ipconfig eth0.37' überprüfen, dass Netzwerkverkehr über das VLAN Interface läuft.

Andere Hardware

Obige Anleitung lässt sich natürlich auch auf andere Hardware übertragen. Als Datenträger empfielt es sich auf einen USB-Stick oder ähnliches zurückzugreifen da die Gluon Firmware sehr klein ist und eine Festplatte nur unnötig Strom verbraucht und mit ihren beweglichen Bauteilen eine potenzielle Fehlerquelle ist.