Freifunk über Unifi-APs

  • Für die Grundlagen zu Freifunk verweise ich auf den ersten Freifunk-Artikel. Dort ist aber eine Frage offengeblieben. Nämlich:


    Ich habe doch schon die ganze Bude mit Unifi-APs vollgehängt. Kann ich die nicht für Freifunk benutzen? Warum muss ich noch ein zusätzliches Gerät kaufen?


    Wir rekapitulieren: Freifunk strahlt zwei WLANs aus:

    1. Das Client-Netz, meistens mit dem Namen "<lokale Gruppe>.freifunk.net". Das ist unverschlüsselt und jedes Gerät kann sich einfach so einwählen. Dieses Netz kannst du als Gastnetz verwenden und hast damit (im Gegensatz zum Unifi-Gastnetz) absolute Rechtssicherheit gewonnen.
    2. Das Mesh-Netz, über das sich idealerweise Knoten in deiner Nachbarschaft miteinander verbinden und so auch dann eine Internetverbindung herstellen, wenn beispielsweise dein Anschluss ausgefallen ist. Der Traffic aus deinem Freifunk-Client-Netz wird dann dynamisch über das Mesh-Netz an andere Konten geroutet.

    Ich habe leider keine Möglichkeit gefunden, das Freifunk-Mesh-Netz zusätzlich über meine Unifi-APs verteilen zu lassen. Für das Client-Netz können wir aber unsere sowieso vorhandenen Unifi-APs verwenden und so exakt die gleiche Ausleuchtung für unser Freifunk-Gastnetz herstellen, wie wir es für unser Unifi-Heimnetz aufgebaut haben.


    Also:


    Was wollen wir?


    Wir wollen das Freifunk-Client-Netz (unser Gastnetz) über unsere sowieso vorhandenen Unifi-APs verteilen.


    Warum wollen wir das?


    Damit wir nicht neben jeden Unifi-AP einen zusätzlichen Freifunk-Knoten hängen müssen, nur um eine ähnliche Ausleuchtung von (Unifi-)Heimnetz und (Freifunk-)Gastnetz hinzubekommen.


    Was benötigen wir dafür?

    1. Den Freifunk-Router, den wir im ersten Freifunk-Artikel aufgesetzt haben.
    2. Einen sogenannten Offloader
    3. Einen Unifi-Router (USG(-Pro-4) oder UDM(-P))
    4. Vier freie Ethernetports auf einem VLAN-fähigen Switch

    Bei einem Offloader handelt es sich um einen Freifunk-Knoten, der über deine DSL-Leitung eine VPN-Verbindung zu einem der zentralen Freifunk-Server aufbaut, dann Traffic aus den Mesh-Netz entgegennimmt und über die VPN-Verbindung zum Freifunk-Server routet. Im Prinzip kann man fast jeden Router, für den es die Freifunk-Firmware gibt, zum Offloader konfigurieren. In der Praxis ist es jedoch sinnvoll, leistungsfähigere Geräte dafür zu verwenden, da die VPN-Verschlüsselung über die CPU geht. Trotzdem müssen die Geräte nicht viel kosten: in kleineren Installationen reicht ein TL WDR3600, bei großen Datenmengen wird dagegen gerne ein Fujitsu Futro S550 genommen. Für den mittleren Bedarf erfreut sich ein Gerät unseres Haus- und Hoflieferanten einiger Beliebtheit: der ER-X. Ich habe die Variante ohne SFP gewählt, da ich die über PoE, also ohne Netzteil betreiben kann.


    Im Netz sind viele Anleitungen zu finden, wie man die Freifunk-Firmware auf das Gerät flasht. Auch hier wieder der Hinweis: nur Mut, das ist keine Raketenwissenschaft und wendet euch im Zweifelsfall an eure lokale Freifunk-Gruppierung, die helfen gerne weiter.


    Was ist der Plan?


    Wir verwenden im Unifi-Netzwerk zwei VLAN-only Netze für die von Freifunk verwendeten Netze (Mesh und Client). Dann benutzen wir den Offloader, um uns ein Freifunk-Mesh-Netz zur Verfügung zu stellen und den Freifunk-Router, um aus dem Freifunk-Mesh-Netz für uns ein Freifunk-Client-Netz zur Verfügung zu stellen. Dieses Client-Netz können wir dann als weiteres WLAN von unseren Unifi-APs ausstrahlen lassen.


    Und wie gehe ich jetzt konkret vor?


    Zunächst einmal müssen wir unseren Freifunk-Router etwas umkonfigurieren, damit er auf seinen Ethernet-Ports das Client-Netz (und nicht wie standardmäßig das Mesh-Netz) anbietet. Außerdem sollten wir bei dem Freifunk-Router die Ausstrahlung des Client-Netzes abschalten, dieser sollte nur das Mesh-Netz verteilen. Wenn nämlich sowohl der Freifunk-Router als auch unsere Unifi-APs das Client-Netz verteilen, bemerkt der Controller einen Access-Point, der "sein" Netz verbreitet, aber nicht unter seiner Kontrolle steht. Das mag der Controller nicht und beschwert sich ständig über einen "Rogue-AP". Ich verzichte hier auf Screenshots für die Konfiguration, weil die vermutlich nur Verwirrung stiften würde. Da von den lokalen Freifunk-Gruppierungen unterschiedliche Firmwares genutzt werden, sieht die Konfiguration bei euch vermutlich anders aus. Auch hier also wieder der Rat: im Zweifelsfall wendet euch an eure lokale Freifunk-Gruppierung, die helfen gerne weiter.


    Dann verbinden wir den WAN-Port des Routers mit unserem Unifi-Freifunk-Mesh-VLAN und einen LAN-Port des Routers mit dem Unifi-Freifunk-Client-VLAN.


    Den WAN-Port des Offloaders verbinden wir mit unseren ganz normalen Unifi-Netz und einen LAN-Port des Offloaders mit den Unifi-Freifunk-Mesh-VLAN.


    Die meisten Freifunk-Communities betreiben eine Karte, auf der die Knoten verzeichnet sind. Dort sollten beide Knoten nach kurzer Zeit erscheinen.


    Gibt es auch Nachteile?


    Ja, ihr werdet nämlich plötzlich seeeeeeehr viele Clients in eurem Netzwerk haben. Besonders krass ist die "Client History" bei "Insights", 130.000 User in meinem Netz:




    Woran liegt das? Wo kommen die her?


    Nun, über die zentralen Server, aber auch über das Mesh-WLAN baut Freifunk ein großes virtuelles und verteiltes Mesh-Netz auf. Alle Clients, die sich in diesem Netz befinden, landen über das Meshing virtuell auch in eurem Netz. Das ist aber nicht gefährlich, weil die Freifunk-Netze in eurem Unifi über die VLANs komplett von euren anderen Netzen getrennt sind. Übergriffe können deshalb nicht stattfinden.


    Was ist denn dann der Nachteil?


    Die Clients müssen dennoch von eurem Unifi-Controller verwaltet werden. Ich hatte meinen Unifi-Controller mal auf einem Raspi 3 laufen, der war regelmäßig von der Vielzahl an Clients überfordert. Wenn es überhaupt möglich war, die Client-Seite aufzurufen hat die Darstellung der Seite ewig gedauert und war dadurch unbenutzbar.


    An drei Stellen im Controller werden die Seiten mit den ungewollten Clients "geflutet": in der Topologie, in der Client-Liste und in der oben schon angesprochene "Client History" bei "Insights". Eine Lösung für dieses Problem habe ich leider nicht. Auf dem Raspi 3 war der Controller teilweise so unbenutzbar, dass ich Freifunk abgeschaltet habe. Inzwischen bin ich auf eine UDM-P umgestiegen. Die Machine hat deutlich mehr "Wumms" unter der Haube und verkraftet die Last ganz gut. Trotzdem muss man in Kauf nehmen, dass der Zugriff im Browser manchmal etwas ... naja sagen wir mal "zäh" ist.


    Ich behelfe mich, indem ich diese 3 Listen ehr meide. Wenn ich sie doch benötige, versuche ich sie anzupassen: In der Topologie kann man die Clients ausblenden, dann wird sie wieder übersichtlich und benutzbar. Allerdings fehlen dann natürlich auch die Nicht-Freifunk-Clients. In der Client-Liste kann man nach IP-Adresse oder nach Netz sortieren. Dann sind die unerwünschten Freifunk-Clients auf den hinteren Seiten "versteckt". In der Client-History kann man filtern, dass nur konfigurierte Clients angezeigt werden.


    Aber ich gebe zu: das ist nur Herumdoktorei an den Symptomen.


    Gibt es denn noch Optimierungsmöglichkeiten?


    Ja, drei hätte ich anzubieten:

    1. Zunächst einmal sollte man das Client-Netz von seinen restlichen Netzen strikt trennen und ein "übersprechen" über eine Firewall-Regel verhindern. Sehr einfach lässt sich das mit Regel 3 aus dem Firewall-Artikel lösen. Das Mesh-Netz benötigt keine Trennung, da dort sowieso nicht das IP-Protokoll gesprochen wird.
    2. Statt das Client-Netz am Freifunk-Router abzuholen kann man den ER-X auch so konfigurieren, dass er sowohl Client- als auch Mesh-Netz liefert: https://virtualserver.org/frei…client-netz-gleichzeitig/
    3. HammF hat eine interessante Lösung gegen die vielen Clients gefunden: er schaltet eine NAT dazwischen.

    Noch etwas?


    Ja! Auch hier noch einmal der Hinweis auf Spendenmöglichkeiten oder (Förder-)Mitgliedschaften. Der Betrieb der zentralen Server kostet die Freifunk-Community Geld. Daher freuen sich die verschiedenen Gruppierungen über jede Zuwendung.

Kommentare 5

  • Sehr gut geschrieben. Danke @noexpand und liebe Grüsse vom FF3L  :smiling_face_with_sunglasses:

  • Danke für den tollen Bericht. Ja, dass mit der vollen Client-Liste kenne ich.


    Eine Frage habe ich in dem Bereich noch:

    Wieso machst Du hier für den Offloader nur ein VLAN-only Netzwerk auf, an Stelle von einem richtigen kompletten Netz? So könnte man ja noch mehr Einstellungen vornehmen und auch hingehen, dass er mit "Guest Network" komplett getrennt ist vom Rest > falls es mal ne Lücke in der Freifunk Firmware (im Offloader) gibt, oder?

    • Die beiden Freifunknetze können nur VLAN-only sein, weil sie ja nicht vom Controller und/oder dem Gateway verwaltet werden. Damit sagt man ja dem Controller und dem Gateway: "Pass auf, hier sind noch zwei Netze, mit denen hast du aber nix zu tun. Du musst da nix routen, du vergibst da keine Adressen, kümmere dich einfach nicht drum, dann ist alles super." Und dann ist dem Controller vollkommen egal, ob da IP gesprochen wird oder (wie im Fall des Freifunk-Mesh) irgendein anderes abgefahrenes Protokoll. Alles, was der Controller sieht, sind Ethernet-Pakete, die von den Switches anhand der in den Netzen beteiligten MAC-Adressen hin und her geschickt werden. Es sind reine Ethernet-Netze, es wird nicht "reingefunkt".

      Bei Corporate- oder Guest-Netzen würde der Controller immer versuchen, die Kontrolle über diese Netze auszuüben. Beispielsweise, indem Adressen vergeben werden oder indem einfach IP verlangt wird. Das ist aber bei den Freifunk-Netzen weder sinnvoll noch hilfreich ...

      Da aber in dem Client-Netz zufällig in der Tat IP gesprochen wird, sollte man natürlich die Firewall so einstellen, dass Pakete nicht "übersprechen" können. Das ist ein guter Hinweis, das muss ich bei Gelegenheit mal einarbeiten.

    • Danke Dir für die Antwort.


      Ich dachte halt, um es etwas mehr abzusichern mache ich ein extra "Guest-Network" auf mit einer VLAN XY > dort dran kommt dann der Offloader als WAN.

      So habe ich dann ein separiertes Netz was nicht in die anderen Netze kommt > sozusagen als Sicherheit. Das bekommt man mit VLAN only ja nicht hin.
      In dem Netz ist dann zwar vom Controller nur eine lokale IP vorhanden (der WAN Port des Offloaders), aber es ist doch dann was "sicherer", oder?

    • Doch, auch mit VLAN-only bekommt man das hin. Alle Netze sind grundsätzlich erstmal separierte VLANs. VLAN-only sind "nackt". Standard-Netze sind sozusagen VLAN-only, aber mit zusätzlichen Features (DHCP usw.). Und Gast-Netze sind sozusagen Standard-Netze, in denen automatisch eine (interne) Firewall-Regel aktiviert ist:


      Die Clients dürfen nicht mit anderen Netzwerken kommunizieren.


      Das kann man aber genauso gut über eine explizite allgemeine Firewall-Regel eingerichtet (siehe Regel 3 im Firewall-Artikel). Es gibt also mit einem Guest-Network keine "zusätzliche Sicherheit", die man nicht auch "zu Fuß" erreichen kann.