Freifunk in Meerane: Eine eigene Gluon-Site, eigene Gateways und warum ich sie abgeschaltet habe
Zusammenfassung
Von 2015 bis 2016 habe ich in Meerane ein kleines Freifunk-Netz betrieben, mit eigener Gluon-Firmware, zwei eigenen Gateways und signierten Updates für die Router. Am Ende waren es sechs bis zehn Access Points mit im Tagesschnitt bis zu zehn Nutzern je Gerät, zu wenig für den Aufwand, und ich habe das Projekt eingestellt. Dieser Beitrag zeigt, was eine Gluon-Site festlegt, wie meine aufgebaut war, warum der Verkehr damals über ein bezahltes VPN lief und was sich bei Gluon und beim Recht seitdem geändert hat.
Freifunk und Gluon
Freifunk ist die Idee, ein freies WLAN aus vielen kleinen Routern zu bauen, die Bürger, Vereine und Geschäfte aufstellen. Die Router verbinden sich untereinander per Funk zu einem Mesh und über das Internet per VPN mit Gateways, über die der Verkehr ins Netz geht. Wer einen Router aufstellt, teilt einen Teil seiner Bandbreite, ohne sein eigenes Heimnetz zu öffnen.
Die Firmware dafür bauen die meisten Gemeinschaften mit Gluon, einem Baukasten auf Basis von OpenWrt. Gluon selbst ist neutral; was ein Netz ausmacht, steht in der Site-Konfiguration: Netzname, Funkkanäle, Adressbereiche, die Gateways, der Weg für automatische Updates und die Texte des Einrichtungsassistenten. Aus Gluon und Site entsteht für jedes unterstützte Routermodell ein fertiges Abbild.
Eine eigene Zone unter freifunk.net
Technisch begann das Netz mit einem eigenen DNS-Bereich. Ich legte die Zone meerane.freifunk.net auf zwei eigenen Nameservern in verschiedenen Netzen an, und am 18. Juni 2015 delegierte freifunk.net sie per NS-Einträgen dorthin. Damit lagen die Namen für Gateways, Firmware-Spiegel und Dienste unter meiner Kontrolle, und ich konnte Einträge ändern, ohne jedes Mal den Dachverband zu bemühen.
Meine Site
Aufgebaut und betrieben habe ich das Netz allein. Meine ersten Router liefen noch mit einer früheren eigenen Firmware unter dem Kürzel ffmee. Die neue Site übernahm sie: Ein Abschnitt legacy in der Konfiguration sorgte dafür, dass beim Update auf meine Firmware die alten Einstellungsdateien und VPN-Profile erkannt und umgezogen wurden, statt dass ich jeden Router neu einrichten musste.
Die Funkseite war für die Zeit üblich: ein offenes Netz für Nutzer auf 2,4 GHz Kanal 11 und auf 5 GHz Kanal 44, daneben ein Ad-hoc-Netz (IBSS) für das Mesh zwischen den Routern, auf dem batman-adv die Wege suchte. Für die Clients gab es ein privates IPv4-Netz mit 4.096 Adressen und ein IPv6-Präfix aus dem Bereich für lokale Adressen. Filter für Multicast sowie fremde Router Advertisements und DHCP-Antworten hielten das gemeinsame Netz ruhig, und unter einer festen Next-Node-Adresse war immer der Router in Reichweite erreichbar, an dem man gerade hing.
Der wichtigste Teil war das Mesh-VPN. Jeder Router baute mit fastd einen Tunnel zu höchstens zwei Gateways auf, verschlüsselt mit salsa2012+umac und einer MTU von 1406 Byte. Im Auszug, ohne Schlüssel und Adressen:
fastd_mesh_vpn = {
methods = {'salsa2012+umac'},
configurable = true,
mtu = 1406,
groups = {
backbone = {
limit = 2,
peers = {
cbbvpn10 = { key = '…', remotes = { … } },
cbbvpn20 = { key = '…', remotes = { … } },
},
},
},
},Damit ein Router überhaupt ins VPN durfte, zeigte der Einrichtungsassistent seinen öffentlichen fastd-Schlüssel an, und ich trug ihn auf den Gateways ein. Im selben Assistenten gab der Aufsteller Standort und Kontaktdaten an. Mit den Koordinaten erschien der Knoten auf meiner Knotenkarte, über den Kontakt ließ sich der Betreiber erreichen.
Updates mit eigener Signatur
Router, die in fremden Räumen hängen, will niemand einzeln aktualisieren. Gluon bringt dafür einen Autoupdater mit: Jeder Router fragt regelmäßig einen Server nach einem Manifest mit den neuesten Abbildern und installiert ein neues nur, wenn das Manifest mit einem der eingetragenen Schlüssel signiert ist. In meiner Site stand genau ein Schlüssel, meiner, und eine gültige Unterschrift reichte. Die Schlüssel erzeugt und prüft man mit den ecdsautils, das Unterschreiben übernimmt ein Skript aus Gluon.
Mein Build-Skript vom 26. November 2016 zeigt den ganzen Ablauf in ein paar Zeilen, hier leicht gekürzt:
#!/bin/sh
cd gluon
make dirclean
export GLUON_TARGET=ar71xx-generic
export GLUON_BRANCH=stable
export GLUON_RELEASE=2016112601
git pull
(cd site && git pull)
make update
make clean
make -j8 V=s
make manifest
./contrib/sign.sh ../signaturschluessel.sec output/images/sysupgrade/stable.manifestGebaut wurde für ar71xx, die damalige Plattform der günstigen TP-Link-Router mit Atheros-Chip. Den Namen der Schlüsseldatei habe ich hier ersetzt. Und das ist der Punkt, an dem eine kleine Freifunk-Site verwundbar ist: Wer den privaten Schlüssel hat, kann jedem Router im Netz eine beliebige Firmware unterschieben. Er gehört offline aufbewahrt, und mehrere Unterschriften von verschiedenen Personen sind sicherer als eine.
Warum der Verkehr über ein VPN lief
Meine beiden Gateways schickten den Verkehr nicht direkt ins Internet, sondern über einen kommerziellen VPN-Anbieter, den ich damals mit Bitcoin bezahlt habe. Der Grund war die deutsche Störerhaftung: Wer ein offenes WLAN betrieb, konnte für Rechtsverletzungen seiner Nutzer auf Unterlassung in Anspruch genommen und abgemahnt werden, typischerweise wegen Filesharing. Viele Freifunk-Gemeinschaften leiteten den Verkehr deshalb über VPN-Anbieter im Ausland oder über eigene Provider-Strukturen, damit nicht der Anschluss eines Router-Betreibers in den Abmahnungen auftauchte.
Die Rechtslage änderte sich genau in meiner Betriebszeit. Am 21. Juli 2016 stellte eine Änderung des Telemediengesetzes klar, dass auch WLAN-Anbieter unter das Providerprivileg fallen, die Störerhaftung selbst blieb aber im Gesetzestext unangetastet. Im September 2016 entschied der Europäische Gerichtshof im Fall McFadden, dass Unterlassungsansprüche weiter möglich sind. Abgeschafft wurde die Störerhaftung für WLAN-Betreiber erst mit der Novelle, die am 13. Oktober 2017 in Kraft trat.
Die Nutzung und das Ende
Am Ende bestand das Netz nach meiner Erinnerung aus zwei Gateways und sechs bis zehn Access Points. Drei davon hingen in einer Gastronomie, ein TP-Link TL-WA901N/ND, ein TL-WR1043N/ND und ein TL-WR741N/ND, verteilt über mehrere Räume. Im Tagesschnitt waren es bis zu zehn Nutzer je Access Point.
Für ein Netz, das jemand allein betreibt, ist das zu wenig. Die Gateways mussten laufen und aktualisiert werden, das VPN kostete Geld, jede neue Gluon-Version hieß bauen, testen, signieren und ausrollen, und neue Router mussten im VPN eingetragen werden. Freifunk lebt davon, dass viele mitmachen und die Arbeit teilen; in einer Kleinstadt mit wenigen Standorten kam diese kritische Masse nicht zusammen. Ich habe das Projekt deshalb eingestellt. Der letzte Build in meinem Projektordner stammt vom 26. November 2016.
Eines habe ich dabei vergessen: die DNS-Delegation zurückzugeben. Die NS-Einträge bei freifunk.net blieben jahrelang stehen. Noch im Mai 2022, mehr als fünf Jahre nach dem letzten Build, verwiesen sie auf meine Server, obwohl mein erster Nameserver für die Zone nur noch leere Antworten lieferte und auf dem zweiten gar keiner mehr lief, eine klassische lame delegation. Heute ist sie entfernt; die Nameserver von freifunk.net kennen für meerane.freifunk.net keine eigenen Einträge mehr. Solche verwaisten Delegationen sind mehr als Kosmetik: Läuft eine der Nameserver-Domains einmal aus und registriert sie jemand anderes, kann er für die ganze Unterzone antworten.
Was sich seitdem geändert hat
- Plattform: Die aktuelle Gluon-Dokumentation kennt ar71xx nicht mehr, die Atheros-Router laufen heute als ath79.
- Mesh: Statt Ad-hoc-Netzen (IBSS) nutzt Gluon heute 802.11s als Grundlage für das Mesh zwischen den Routern.
- VPN: fastd gibt es weiter, daneben WireGuard mit VXLAN. Tunneldigger ist als veraltet markiert.
- Geräte: Keiner meiner drei Routertypen steht noch in der Geräteliste. Vom TL-WR1043N/ND ist erst die Version 2 aufgeführt, Geräte mit 4 MB Flash wie der TL-WR741N/ND sind für heutige Firmware zu klein.
- Recht: Seit Oktober 2017 ist die Störerhaftung für WLAN-Betreiber abgeschafft. Der teure Umweg über ein VPN ist für ein offenes WLAN in Deutschland kein Muss mehr, viele Freifunk-Netze nutzen ihn aber weiter, um Router-Betreiber und Nutzer zu trennen.
Was du mitnehmen kannst
- Ein Community-Netz ist vor allem ein soziales Projekt. Plane die Arbeit für Gateways, Updates und Betreuung so, dass sie auf mehrere Schultern passt, bevor du die Technik baust.
- Schließ dich lieber einer bestehenden Freifunk-Gemeinschaft in der Nähe an, als eine eigene Site zu betreiben. Ihre Gateways und Updates tragen auch einzelne Router.
- Bewahre Signaturschlüssel für Firmware offline auf und verlange mehrere Unterschriften.
- Plane bei Routern den Flash-Speicher großzügig: Geräte mit 4 MB fallen als Erste aus der Unterstützung.
- Gib beim Abschalten eines Projekts auch DNS-Delegationen, Domains und Zugänge zurück, nicht nur die Server.
Zahlen im Überblick
- freifunk.net delegierte die Zone meerane.freifunk.net am 18. Juni 2015; heute ist die Delegation entfernt.
- Die Site nutzte batman-adv im Kompatibilitätsmodus 15 und fastd mit salsa2012+umac bei einer MTU von 1406 Byte.
- Jeder Router verband sich mit höchstens zwei der Gateways (limit = 2).
- Der Autoupdater akzeptierte nur Manifeste mit einer gültigen Unterschrift des eingetragenen Schlüssels.
- Die TMG-Änderung vom 21. Juli 2016 stellte WLAN-Anbieter unter das Providerprivileg; die Störerhaftung fiel erst mit der Novelle vom 13. Oktober 2017.
- Die aktuelle Gluon-Dokumentation führt Atheros-Router unter ath79 und bietet WireGuard mit VXLAN als Mesh-VPN an.
Referenzen
- Gluon-Dokumentation
- Gluon: Mesh-VPN (fastd, WireGuard)
- freifunk.net
- Wikipedia: Störerhaftung
- B.A.T.M.A.N.: Routing für mobile Ad-hoc-Netze (2007)
- Freifunk: drahtlose Community-Netzwerke (2012)
- Freies WLAN: Freifunker stellen Internet für Flüchtlinge bereit (2015)
Bemerkungen
- Grundlage sind mein Projektordner mit Site-Konfiguration, Build-Skript und Knotenliste, eine DNS-Abfrage vom 7. November 2026 sowie meine Erinnerung an die Zahlen; Statistiken aus dem Betrieb sind nicht erhalten. Adressen, Schlüssel und Standorte lasse ich weg, und die Gastronomie, in der die Router hingen, nenne ich auf eigenen Wunsch nicht.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.