Freifunk – eine Einführung

Bedingt durch unseren Hackerspace, den wir in Neubrandenburg betreiben, habe ich mich in letzter Zeit etwas intensiver mit dem Thema Freifunk beschäftigt.

Der Hackerspace in der Stadtmauer

Es sollte ein Router an das Freifunknetz angeschlossen werden. Die Vorstellungen, welche mir davon im Kopf schwebten, war am Anfang etwas diffus. Glücklicherweise gibt es den Verein Förderverein Freie Netzwerke e. V. – welcher einem mit Rat und Tat zur Seite steht.

Die Freifunk-Community

So wird die offizielle Webseite, freifunk.net, besucht und dort finden sich folgende Punkte unter anderem die Punkte Worum geht’s? und Wie mache ich mit? – schon mal ein guter Einstieg. In früheren Jahren fand sich auf der Webseite dann noch der Satz:

Wir regeln den Rest.

Ganz so einfach ist es allerdings nicht. Auf der Suche nach Informationen ist die Webseite ein guter Anlaufpunkt, im Worum geht’s?-Video klingt das Ganze noch einfach und blumig.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://vimeo.com/64814620

Für etwas Klarheit sollte sich die Organisationsstruktur der Freifunk-Community angeschaut werden. Zum einen existiert der Förderverein Freie Netzwerke e. V. Dieser betreibt unter anderem die Webseite freifunk.net. Auf der Webseite wird die Tätigkeit des Vereines wie folgt beschrieben:

Aufgabe des Fördervereins Freie Netzwerke e.V. ist die Förderung der Bildung und Kultur bezüglich kabelloser und kabelgebundener Computernetzwerke, die der Allgemeinheit zugänglich sind (sogenannte freie Netzwerke). Zu diesem Zweck betreibt der Verein die Internetplattform freifunk.net und fördert darüber hinaus diverse Aktivitäten und initiiert Projekte, die den nachfolgenden Zwecken dienen:

* Information über freie Netzwerke, insbesondere durch das Internet sowie durch Vorträge, Veranstaltungen, Vorführungen und Publikationen
* Bereitstellung von Know-How über Technik und Anwendung freier Netzwerke
* Information über gesellschaftliche, kulturelle, gesundheitliche und rechtliche Auswirkungen freier Netzwerke
* Förderung der Kontakte und des Austauschs mit Menschen und Organisationen im In- und Ausland, die im Bereich der freien Netzwerke tätig sind
* Förderung und Unterstützung von Projekten und Initiativen, die in ähnlichen Bereichen tätig sind

Neben der Freifunk-Webseite betreibt der Verein unter anderem auch den Blog freifunkstattangst.de, welcher sich mit der Frage der Störerhaftung beschäftigt.

Die lokalen Freifunk-Communitys, z. B. in Berlin, Hamburg oder auch Bielefeld, möchten an ihren Standorten dezentrale Mesh-Netzwerke aufbauen. Mittlerweile existieren über 400 solcher lokalen Communitys im deutschsprachigen Raum.

Gratis-WLAN mit Internetanbindung

Dabei wird Freifunk gerne auf die Formel Gratis-WLAN mit Internetanbindung reduziert. Bei einem genaueren Blick auf Freifunk ist dies aber nur ein netter Nebeneffekt. Genauer wird das Ganze in der Vision erklärt. Dort wird eine zentrale Frage an den Interessenten gestellt:

Wie wäre es, wenn auch online jeder mit jedem kommunizieren könnte, ohne eine Firma bei der man sich anmelden müsste?

Diese Frage beschreibt sehr gut, warum die Freifunker das tun, was sie tun. Auch das Selbstverständnis der Freifunker wird dort beschrieben:

Wir verstehen frei als

* öffentlich und anonym zugänglich
* nicht kommerziell und unzensiert
* im Besitz einer Gemeinschaft und dezentral organisiert

Die Qual der Wahl

Doch wie fängt der Interessierte an? Neben der rechtlichen Form (z. B. ein gemeinnütziger Verein) welche sich die lokale Community geben kann, gibt es viel profanere Probleme, welche es zu lösen gilt.

Ein Freifunk-Router (CC-BY / Jens Ohlig)

Ein Freifunk-Router (Jens Ohlig, Freifunk router, CC BY 3.0)

Bevor sich mit der Hardware beschäftigt werden kann, muss sich erst mit der Software – in diesem Fall der Firmware – beschäftigt werden. Schließlich muss eine kompatible Firmware für die gewünschte Hardware gefunden werden. Die Anzahl der Firmware-Varianten ist insbesondere für Einsteiger erst einmal unüberschaubar.

Es fühlt sich so an als ob jede lokale Community ihre eigene Firmware-Version nutzt. Als Einsteiger kommt der Wunsch auf hier mehr an die Hand genommen zu werden.

Fledermäuse im Mesh-Netzwerk

Die unterschiedlichen Firmwares unterscheiden sich nicht nur durch die unterschiedlichen Features, sondern auch durch die verwendeten Routing-Protokolle zum Aufbau eines Mesh-Netzwerkes. So gibt es Firmware welche das Optimized Link State Routing Protocol, kurz OLSR, nutzen, andere wiederum nutzen das Better Approach To Mobile Adhoc Networking-Protokoll (B.A.T.M.A.N.). Bei der Gründung einer neuen Community muss sich also überlegt werden, welches Routing-Protokoll eingesetzt werden soll. Schließlich sollten die anderen Router der Community mit demselben Protokoll betrieben werden.

OLSR, wurde in der RFC 3626 spezifiziert und ist ein Protokoll, bei dem jedem Knoten die komplette Topologie des Netzes bekannt ist. Damit handelt es sich um ein Link-State-Routing-Protokoll, welche sich dadurch auszeichnen, dass der Router eine Datenbank mit den entsprechenden Informationen über die Topologie aufbaut. Bei OLSR führt dies dazu, dass relativ viel Bandbreite und Rechenleistung zur Berechnung der Pfade im vermeshten Netzwerk benötigt wird.

Das Protokoll B.A.T.M.A.N. hingegen kennt nicht mehr die komplette Topologie des Netzwerkes. Stattdessen informiert jedes Gerät seine Nachbarn darüber, dass es existiert. Diese Nachbarn wiederum informieren ihre Nachbarn. Beim Routing geht es nun darum das Paket in die richtige Richtung zu schicken, ohne die komplette Route vorher zu kennen.

Mit der Weiterentwicklung B.A.T.M.A.N. Advanced, welches auf der zweiten Schicht im OSI-Modell, dem Data Link Layer arbeitet, können die entsprechenden Geräte sich mit dem vermeshten Netz verbinden und sind frei in der Wahl ihrer Protokolle auf dem OSI-Layer 3. Es spielt für B.A.T.M.A.N. Advanced keine Rolle mehr, ob auf diesem OSI-Layer DHCP, IPv4, IPv6 oder andere Protokolle genutzt werden. Seit mittlerweile über zehn Jahren befindet sich die Unterstützung für dieses Protokolls, in Form Kernel-Moduls, im offiziellen Linux-Kernel.

OpenWrt

Die Basis der meisten, wenn nicht aller Freifunk-Firmwares ist OpenWrt. Dabei handelt es sich um eine auf Linux basierende Distribution für kleinere Embedded Devices – welche vorwiegend für Router genutzt wird.

Historisch basiert OpenWrt auf der Firmware der Router-Serie WRT54G von Linksys. Der dort genutzte Linux-Kernel ist unter der GNU General Public License lizenziert und damit muss der Quellcode für die Firmware ebenfalls mit ausgeliefert werden.

Nach einigen Appellen führte dies dazu, dass Linksys, den entsprechenden Quellcode freigab. Daneben wurde im Lichte dieser Ereignisse das Projekt gpl-violations.org, welches sich der Durchsetzung der GPL verschrieb, durch Harald Welte gegründet.

Auf der Suche nach der passenden Hardware sollte sichergestellt werden, dass diese von OpenWrt unterstützt wird. Dazu gibt es in der OpenWrt-Wiki eine Table of Hardware und einen Einkaufsratgeber. Wichtig ist hier, dass das beste Gerät nicht existiert, es sollte den gewünschten Ansprüchen entsprechen und dem Einsatzzweck genügen.

Nach der Geräteauswahl, erfolgt die Auswahl der Firmware, schließlich muss der Router mit einer passenden Software bespielt werden. Auch hier ist die Auswahl wieder einmal unübersichtlich. Soll das Routing-Protokoll OSLR genutzt werden, so kann vom Meshkit eine passende Freifunk-Firmware generiert werden. Allerdings werden hier nicht alle OpenWrt-Plattformen unterstützt, sodass je nach verwendeter Hardware Meshkit ausscheidet.

meshkit.freifunk.net

Bei der Nutzung des moderneren B.A.T.M.A.N. bzw. B.A.T.M.A.N. Advance-Protokolls, kann auf Gluon gesetzt werden. Dabei handelt es sich um ein modulares Framework mit welchem eine entsprechende Freifunk-Firmware auf der Basis von OpenWrt erzeugt werden kann. Über die Hälfte der Freifunk-Communitys setzt auf diese Lösung.

Bei Gluon wird anhand einiger Konfigurationsdateien ein passendes Image erzeugt. Das Gluon-Image verfügt auch über eine Funktion für automatische Updates, mit welcher die entsprechenden Geräte mit neuen Versionen bespielt werden können.

Rechtliche Rahmenbedingungen

Nach der Installation des Images auf der gewünschten Hardware ist, ist der Freifunk-Router fertiggestellt. Überspitzt ließe sich sagen, dass die Probleme damit anfangen. Auf technischer Seite gibt es bei der Standardkonfiguration das Problem, dass die Luftschnittstelle unverschlüsselt ist, was unschön ist. Ein anderes Problem ist die Haftung, womit wir bei der rechtlichen Seite von Freifunk landen.

Die Freifunk-Geräte senden ihren Traffic zu einem in der Firmware eingestellten Gateway. Damit haben die Aufsteller der Router keine Probleme. Im Gateway wird der Traffic dann in das Internet überführt. Hier wird es problematisch. Natürlich haftet in der Theorie niemand für die Straftaten anderer. Allerdings ist der Betreiber des Gateways der erste Ansprechpartner, wenn etwas schiefgeht – und im schlimmsten Fall hat dieser erst einmal eine Menge Stress mit der Judikative und der Exekutive – bis dort bemerkt wird, dass jemand anders gesucht wird. Glück dem, der sich auf das Providerprivileg berufen kann.

Als Lösung ließe sich hier unter anderem der Gateway-Traffic über einen VPN-Zugang ins Internet routen, damit das eigene Freifunk-Netzwerk unbeschwerter in Betrieb genommen werden kann. Dies ist bei den meisten Freifunk-Communitys der Standard.

Mitte 2017 beschloss der Bundestag eine Änderung des Te­le­me­di­en­ge­set­zes, in welchem die oft kritisierte Störerhaftung abgeschafft wurde. Der entsprechende Paragraph 8 des TMG enthält nun unter anderem folgenden Punkt:

(1) Diensteanbieter sind für fremde Informationen, die sie in einem Kommunikationsnetz übermitteln oder zu denen sie den Zugang zur Nutzung vermitteln, nicht verantwortlich, sofern sie

1. die Übermittlung nicht veranlasst,
2. den Adressaten der übermittelten Informationen nicht ausgewählt und
3. die übermittelten Informationen nicht ausgewählt oder verändert haben.

² Sofern diese Diensteanbieter nicht verantwortlich sind, können sie insbesondere nicht wegen einer rechtswidrigen Handlung eines Nutzers auf Schadensersatz oder Beseitigung oder Unterlassung einer Rechtsverletzung in Anspruch genommen werden; dasselbe gilt hinsichtlich aller Kosten für die Geltendmachung und Durchsetzung dieser Ansprüche. ³ Die Sätze 1 und 2 finden keine Anwendung, wenn der Diensteanbieter absichtlich mit einem Nutzer seines Dienstes zusammenarbeitet, um rechtswidrige Handlungen zu begehen.

Damit wurde auch im Freifunk-Bereich wesentlich mehr Rechtssicherheit geschaffen, sodass der Betrieb solcher offener Netzwerke wesentlich angenehmer geworden ist.

Resümee

Die Gründung einer lokalen Gruppe ist mit einigen Herausforderungen verbunden, während die Integration eigener Router in bestehende Communitys wesentlich einfacher ist. Für unseren Hackerspace haben wir beschlossen, es auf einen späteren Zeitpunkt zu vertagen, da wir unsere Energie erst einmal in andere Themen gesteckt haben.

Dieser Artikel erschien ursprünglich 2014 unter dem Titel Freifunk für Dummies und wurde anschließend für eine Veröffentlichung bei Golem.de aktualisiert.

Warum der SNEScast nicht auf Spotify zu finden ist

Für den SNEScast, unseren Podcast rund um das Super Nintendo Entertainment System, haben wir am Anfang überlegt, wo genau wir ihn anbieten wollen. Hauptsächlich ging es darum, ob wir ihn auch auf Spotify anbieten wollen. Nach einigen Überlegungen und etwas Recherche sind wir dann zu einem Schluss gekommen das wir dies nicht wollen. Doch was sind dafür die Gründe?

Der SNEScast Podcast ist nicht auf Spotify zu finden

Dafür vielleicht ein Blick darauf was einen Podcast in seinem Wesen ausmacht. Der Ersteller eines Podcasts stellt Audiodateien für die einzelnen Episoden und dazu einen RSS-Feed zusammen. Dieser Feed kann über einen Podcatcher abonniert werden. Er enthält alle notwendigen Informationen über den Podcast und die Links zu den Audiodateien. Damit hat der Ersteller des Podcasts die Kontrolle darüber welche Inhalte ausgeliefert werden. Podcast-Verzeichnisse wie iTunes bzw. mittlerweile Apple Podcasts respektieren diesen Gedanken. Die Inhalte werden auch dort durch die Server des Erstellers ausgeliefert; das Verzeichnis nutzt den Feed nur zur Anzeige des Podcasts im Verzeichnis. Damit erhält der Ersteller des Podcasts, anhand seiner Zugriffsstatistiken ein Bild darüber wie sein Podcast oder gar einzelne Episoden ankommen.

Wie funktioniert ein Podcast?

Spotify hingegen ist eine mehr oder weniger geschlossene Plattform, welche versucht Podcasts für sich zu vereinnahmen. Für diese Plattform darf der Ersteller des Podcasts seine Inhalte liefern und sich dafür den Beschränkungen der Plattform unterwerfen. Am Anfang konnten nur ausgewählte Individuen einen Podcast auf Spotify bringen, mittlerweile gibt es ein entsprechendes Portal um dies zu tun. Wenn der Podcasts nicht bei einem sogenannten zertifizierten Hostingpartner gehostet wird, erhält über den RSS-Feed und die Zugriffe auf die einzelnen Episoden keine Informationen darüber wie oft sie gehört wurden. Der Hintergrund ist das Spotify die Dateien selbst vorhält um eine entsprechende Servicequalität für sich in Anspruch nehmen zu können.

Daneben hat Spotify noch einige andere Probleme, es ist schlicht und ergreifend kein Podcast-Client. Die gesamte App ist darauf optimiert Musik zu streamen. Kaptitelmarken in Podcasts? Fehlanzeige. Das Offline-Hören von Podcasts bei Spotify ist zwar möglich, aber etwas umständlich und nur für Premium-Nutzer verfügbar. Und dann sind da noch die Nutzungsbedingungen für die Spotify for Podcaster-Plattform, die eine Lizenz vorgeben, die nicht jeder Podcast bereit ist einzugehen.

Aus der dezentralen Podcast-Welt wird mit Spotify eine Plattform zentraler Podcasts und das ist etwas, was wir mit dem SNEScast nicht unterstützen wollen. Natürlich kann es dadurch sein, dass der eine oder andere Hörer auf der Strecke bleibt, aber so hat er die Freiheit den SNEScast mit einem Podcatcher seiner Wahl zu hören und die Podcast-Welt bleibt etwas dezentraler. Es sollte nicht passieren das Spotify und Podcasts synonym werden, den das sind sie nicht. Natürlich, wenn ich Spotify habe, warum sollte ich mir zusätzlich noch einen Podcatcher installieren?

Und so begeben wir uns in einen Vendor-Lockin den wir für Podcasts nicht sehen wollen. Wenn Spotify beschließt, dass der eigene Podcast nicht mehr genehm ist und ihn von der Plattform entfernt, verliert der Podcasts so im schlimmsten Fall einen Großteil seiner Hörer. Auch dies ist ein Problem von zentralen Plattformen im Gegensatz zu einem dezentralen offenen System. Ansonsten ist der Podcast der Plattform völlig ausgeliefert. Daneben gehört Spotify mit dem Anchor bereits ein Dienst, der Podcasts-Hosting anbietet und bei denen knapp die Hälfte aller Podcastsfeeds hostet.

So bleibt nur der Appell: installiert euch einen Podcatcher und abonniert eure Lieblingspodcasts direkt beim Ersteller. Sie werden es euch danken.

Lizenzhinweisgenerator für die Wikipedia und Commons

Wer Inhalte aus der Wikipedia oder der Wikimedia Commons nutzen möchte, sollte sich natürlich auch an die entsprechenden Nutzungsbedingungen der freien Lizenzen halten. Damit dies leicht von der Hand geht, gibt es ein passendes Werkzeug dafür: den Lizenznachweisgenerator.

Der Lizenzhinweisgenerator

Mithilfe des Generators ist es möglich, schnell einen entsprechenden Lizenzhinweis zu erstellen, um diesen anschließend zu nutzen. Dieser wird anhand der entsprechenden Lizenz (z. B. einer Creative Commons-Lizenz) des Inhaltes passgenau erstellt. Zu finden ist der Generator unter lizenzhinweisgenerator.de. Der Quelltext des Generators befindet sich auf GitHub, ist unter der GPL3 lizenziert und damit Freie Software.

Elasticsearch unter Ubuntu installieren

Elasticsearch ist eine Suchmaschine, welche in vielen Lösungen zum Einsatz kommt. Seit der Lizenzänderung vor ein paar Wochen ist Elasticsearch keine freie Software mehr, wird aber trotzdem in vielen Lösungen genutzt, welche noch nicht auf eventuelle freie Forks ausgewichen sind. Soll Elasticsearch unter Ubuntu installiert werden, so kann dies über den Paketmanager installiert werden. Im ersten Schritt muss das Paket apt-transport-https nachinstalliert werden:

apt install apt-transport-https

Anschließend kann die Fremdpaketquelle hinzugefügt werden:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

Diese wird benötigt, da Elasticsearch nicht in den offiziellen Paketquellen von Ubuntu enthalten ist. Damit die Installation über das Paket funktioniert, sollte der entsprechende Schlüssel hinzugefügt werden:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Sollte beim Aufruf des Kommandos die Meldung:

E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation

erscheinen, muss das entsprechende Paket nachinstalliert werden:

apt install gnupg2

Anschließend kann Elasticsearch installiert werden:

apt-get update && sudo apt-get install elasticsearch

Standardmäßig ist Elasticsearch nach der Installation nur über den Localhost am Port 9200 erreichbar. Um dies zu ändern, muss die Konfiguration angepasst werden. Diese befindet sich im Ordner /etc/elasticsearch/ – sollen hier Änderungen vorgenommen werden, sollte die entsprechende Dokumentation zurate gezogen werden.

Lizenz eines MikroTik-Routers sichern

Auf MikroTik-Routern läuft als Betriebssystem das sogenannte RouterOS. Dieses auf Linux basierende System ist für die Funktionalität des jeweiligen Routers zuständig. Zu jedem Router bzw. jeder RouterOS-Installation gehört eine entsprechende Lizenz. Im Terminal können sich die Informationen über die Lizenz über dem Befehl:

/system license print

angesehen werden. Der Nutzer erhält eine Auflistung der aktuellen Lizenz:

software-id: XXXX-XXXX
nlevel: 4
features:

MikroTik unterscheidet bei RouterOS-Lizenzen sogenannte Level. Um so höher das Level um so mehr VPN-Verbindungen und ähnliches können mit dem Gerät genutzt werden. Auch unterscheiden sich die unterschiedlichen Level nicht in ihrer Funktionalität. Im Normalfall ist die Lizenz sicher innerhalb des Routers abgelegt. Aber natürlich kann es passieren, dass die entsprechende Lizenz verloren geht. Für einen solchen Fall kann die Lizenz über das Terminal gesichert werden. Dazu dient der Befehl:

/system license output

Anschließend wird eine Datei nach dem Schema XXXX-XXXX auf dem Gerät abgelegt, welche z.B. über Files im Webinterface heruntergeladen werden kann. Soll die Lizenz später wieder auf dem Gerät aktiviert werden, kann hierfür der entsprechende Import genutzt werden:

/system license import file-name=XXXX-XXXX.key

Ist die Lizenz auf dem Gerät bereits vorhanden, erhält der Nutzer die Meldung:

failure: no new key found