Martins Freifunk-Schnipsel

Eine Sammlung von fortgeschrittenen Tipps, Tricks und Hacks fürs Berliner Freifunknetz

How to go LTE – Uplink über Mobilfunk

Bei Freifunk Berlin haben wir öfter mal die Situation, dass wir temporäre Installationen aufbauen. Egal ob für das Kiezfest um die Ecke, ein Protestcamp, oder oder oder. Dabei können wir leider nicht immer auf unsere Backbone-Infrastruktur zurückgreifen. Das muss aber kein Hindernis sein. Mit der immer besser werdenden LTE-Abdeckung (neuerdings auch 5G…) und fallenden Preisen, ist Mobilfunk inzwischen eine annehmbare Option für solche kurzfristigen Installationen geworden. Warum nicht gleich “nur-LTE” nutzen?

TFTP Server auf Einfach

TFTP ist das Trival File Transfer Protocol. Es wird bei Freifunk vor allem dazu verwendet, um dem Bootloader eines Routers Image-Dateien zu schicken, wenn man diese flashen möchte. Im Internet gibt es bereits einige Tutorials um einen TFTP-Server einzurichten. Diese sind meistens eher etwas älter und gehen davon aus, dass man dauerhaft einen TFTP-Server braucht. Ich fand diese Tutorials eher anstrengend, da sie meistens eine Menge Gebastel an irgendwelchen systemd-units enthielten.

DynDNS: (Freifunk-)Access von überall

Ich hatte schon öfter die Situation, dass ich “nur mal eben schnell” etwas zuhause auf dem Freifunk-Router erledigen wollte, aber gerade keinen Zugang zum Freifunk-Netz hatte. (Eine Lösung wäre natürlich, einen Tunnel aufzubauen. Dazu vielleicht in einem späteren Blogpost mehr. :) ) Dann kann es sehr praktisch sein, wenn man den eigenen Router nicht nur über das Freifunknetz erreichen kann, sondern auch über das Internet. Hier stelle ich eine Lösung mit DynDNS vor.

RouterOS – Updaten ohne Internet

Mikrotik ist ein europäischer Hardware-Hersteller für WLAN- und LTE-Geräte. Ich mag vor allem, dass die Geräte häufig auch für den Außeneinsatz geeignet sind und ein gutes Preis-Leistungsverhältnis haben. Bei Freifunk berlin setzen wir aktuell (April 2023) vor allem 60GHz-Antennen von Mikrotik ein. Ein Manko ist leider die etwas komplexe Bedienung der Geräte: RouterOS kann grundsätzlich so gut wie alles, man muss sich in der Oberfläche nur zurechtfinden. Letztens hatte ich das Problem, dass ich RouterOS updaten wollte, aber auf dem Gerät kein Uplink konfiguriert war.

Testing uci-defaults Scripts

Software-Testen ist immer so eine Sache bei Freifunk Berlin (und auch woanders): Man braucht Freiwillige, man sollte alle Eventualitäten mindestens einmal durchspielen und so weiter und so fort. Testen ist immer so eine Sache, weil man manchmal gar nicht weiß, wie man Dinge eigentlich genau testen soll. Dieser Blogpost beschreibt einen Workflow für das Testen von uci-defaults Skripten, wie ihn Perry mir mal vorgeschlagen hat: Router mit einer Firmware flashen. Es ist dabei eigentlich nicht soo genau wichtig, welche das ist.

Alpine-Linux: Arbeitsspeicher sparen mit KSM

Nachdem ich das Virtualisierungssetup aus einem vergangenen Blogpost eine Weile betrieben hatte, haben sich schon einige VMs darin angesammelt. Da das Host-System allerdings nur 8 GiB Arbeitsspeicher hat, wurde es langsam ein wenig eng: Das Auslagern mehrerer Seiten in den Swap hat vor allem die Bedienung des Alpine-Hosts sehr zäh und unzuverlässig gemacht. Klar könnte ich mehr RAM in mein Gerät einbauen: RAM kostet ja nicht mehr so viel. Aber zum Glück gibt es noch eine andere Lösung, die vor allem die Effizienz steigert.

Where is dat Server? – DNS-Resolver anzeigen

Falter nutzt den gleichen DNS-Resolver wie OpenWrt: dnsmasq. Das ist ein kleiner, ziemlich feiner Server, der gleichzeitig DNS, DHCP und noch ein paar nette Sachen mehr kann. (Allerdings ist die Version, die wir nutzen vermutlich ein wenig eingeschränkt, um die binary-size etwas zu drücken.) Ab und zu kommt es vor, dass man sich bei dnsmasq die konfigurierten DNS-Server anzeigen lassen möchte. Ich hatte das schonmal irgendwann probiert und damals war irgend-so-ein windiger Stackoverflow-Tipp, dass man dnsmasq ein SIGHUP senden könne und die Server dann im Log auftauchen.

Alpine-Linux als Virtualisierer

Stellen wir uns vor, ich würde gerne folgende Sachen tun: Ich möchte ein paar Dienste in meinem privaten Netzwerk laufen lassen (das ich auch bei mir auf dem Freifunkrouter konfiguriert habe, Tutorial dazu später) Ich möchte aber gleichzeitig auch Dienste für das Freifunknetz anbieten. Natürlich könnte man dafür sich zwei separate Geräte hinstellen… Aber eigentlich wäre das Ressourcen-Verschwendung. Schließlich verbraucht selbst ein kleiner Computer schon im Leerlauf rund 40 bis 50% seiner Nennleistung.

BBB: Mikrotik-Antennen fürs Backbone konfigurieren

Mikrotik ist ein europäischer Hersteller von Netzwerktechnik. Vom einfachen Heim-Router bis zur LTE-Basisstation gibt es dabei eine ganz schön große Palette an Geräten zur Auswahl. Im Berliner Freifunknetz sind vor allem die SXTsq5ac-Geräte beliebt. Für rund 50€ bekommt man da einen 5GHz-Outdoor-AP mit 256MiB RAM und einem Quad-core ARM-Prozessor. Außerdem wird dieser von OpenWrt unterstützt. Ein bisschen anders ist die Sache, wenn man Mikrotik-Geräte nicht als AP, sondern als Antennen im Backbone verwenden möchte: Mikrotik-Geräte haben leider ein grundlegendes Handicap.

SCP kaputt – Dateien kopieren mit aktuellen SSH

Neulich hatte ich von Fedora 35 auf Fedora 36 gewechselt. Jetzt kommt es bei den ganzen Freifunksachen häufiger mal vor, dass man eine Datei auf einen Freifunkrouter kopieren muss. Weil ich sehr gerne mit der Kommandozeile arbeite, mache ich das am liebsten über scp. Doch unter Fedora 36 hat das leider nicht mehr ohne Schwierigkeiten funktioniert: $ scp firmware.bin frei.funk:/tmp/ ash: /usr/libexec/sftp-server: not found scp: Connection closed Nach ein bisschen googlen habe ich zum Glück relativ schnell herausgefunden, warum das so ist: Seit OpenSSH-Version 9.