Freifunk Reichweite mit Access Points erweitern

Vor einiger Zeit habe ich mir einen günstigen Internet-Router zugelegt um darauf die Freifunk Firmware zu installieren. Ziel war es ein WLAN für Gäste anzubieten zu dem man nicht erst noch ein WPA Passwort rausgeben oder irgendwelche Knöpfe drücken muss. Ein Freifunk WLAN ist komplett unverschlüsselt und war ein einfacher Weg das gesetzte Ziel zu erreichen. Auf der Internetseite des Freifunk Dortmund Projektes findet sich die entsprechende Anleitung. Als Router habe ich einen TP-Link TL-WDR3600 für rund 45€ gekauft. Günstiger geht es mit einem TP-Link WR841N für etwa 20-25€. Der WDR3600 hat allerdings den Vorteil auch ein 5GHz WLAN aufzuspannen und erschien mir daher zukunftsfähiger. Auf der Status Webseite des Freifunk Projektes kann man die Anzahl der aktuell verbundenen Clients auf meinem Freifunk Knoten abfragen.

Ein Problem gibt es dennoch: Die Reichweite des Freifunk-Routers ist aufgrund der baulichen Umstände eingeschränkt. Für mein privates WLAN verwende ich zwei zusätzliche Access Points (bei mir TP-Link TL-WA801ND) um überall WLAN Empfang zu haben. Die beiden Access Points sind praktischerweise Multi-SSID-Fähig. Das bedeutet sie können mehr als ein WLAN aufspannen. Der Datenverkehr der verschiedenen WLANs wird dabei mit VLAN-Tagging markiert. Der Switch (bei mir ein ZyXel GS1910-24) an dem die Access Points und der Freifunk-Router hängen unterstützt ebenfalls VLAN-Tagging. Entsprechend ist die Idee naheliegend über Multi-SSID und dem VLAN-Tagging das Freifunk-WLAN mit den Access Points zu erweitern und gleichzeitig das private Netzwerk und das Freifunk Netzwerk strikt zu trennen.

Einstellungen am den Access Points
Auf dem Access Points wird ein „Freifunk“ WLAN ohne Verschlüsselung angelegt. Der Traffic aus diesem WLAN wird als „VLAN 3“ markiert. Das ist wichtig, damit am Ende die Access Points zwar mit dem Freifunk-Router Daten austauschen können aber nicht auf das private Netz zugreifen können. In der Weboberfläche der Access Points sieht das dann so aus:

Freifunk AP

Einstellungen am Switch
Wie auf den Access Points ist auch eine kleine Konfigurationsänderung am Switch nötig. Die Ports an denen die beiden Access Points angeschlossen sind müssen dem VLAN 3 und dem Default VLAN zugewiesen werden. Hier ist es wichtig beide VLANs auzuwählen weil von den Access Points ja sowohl Daten aus dem privaten WLAN als auch aus dem Freifunk WLAN ankommen werden. Der Freifunk-Router muss sich allerdings nur in VLAN 3 befinden. Auf der Weboberfläche des Switches sieht das dann folgendermaßen aus:

Freifunk Switch

Einstellungen am Freifunk-Router
Zu guter Letzt muss der Freifunk-Router so konfiguriert werden, dass er auch auf Datenverkehr mit der VLAN 3 Markierung reagiert. Dazu ist es bisher nötig sich per ssh auf dem Freifunk-Router zu verbinden. Anleitungen wie man sich mit zB. Putty auf einem Freifunk-Router anmeldet findet man per Google (zB. hier).

Ist man auf der Konsole des Freifunk-Routers werden zwei Abschnitte in der Datei /etc/config/network angepasst:

[...]

config switch_vlan
        option device 'switch0'
      # option vlan '1'              # Auskommentiert 
        option vlan '3'              # Eingefügt
        option pvid '3'              # Eingefügt
      # option ports '0t 2 3 4 5'    # Auskommentiert
        option ports '0t 2 3t 4t 5t' # Eingefügt

[...]

config interface 'client'
        option reqprefix 'no'
      # option ifname 'eth0.1 bat0'   # Auskommentieren
        option ifname 'eth0.3 bat0'   # Einfügen
        option proto 'dhcpv6'
        option type 'bridge'
        option igmp_snooping '0'
        option macaddr 'e8:de:27:59:02:e2'
        option peerdns '1'

Die Änderungen in dem Abschnitt „switch_vlan“ bewirken, dass der eingebaute Switch überhaupt erstmal auf „VLAN 3“ hört. Außerdem werden Pakte die auf den Ports 2, 3 und 4 rausgehen mit eben diesem VLAN markiert. Linux bzw. OpenWRT legt automatisch für ein auf diesen Weg definiertem VLAN ein eigenens Netzwerkinterface an. Der Name des Interfaces lautet dabei ethGERÄT.VLAN. In unserem Fall ist es das erste Netzwerkgerät und VLAN 3. Also gibt es ein neues Interface eth0.3. Deben dieses Interface muss noch mit dem B.A.T.M.A.N. Interface überbrückt werden. Nur dann läuft der Datenverkehr der über den internen Switch kommt auch wirklich über das Freifunk-VPN ins Freifunk-Netz.

Übersicht der Verkabelung
Zu besseren Verständlichkeit hier nochmal ein kleines Bild mit der Verkabelung und welche Verbindungen welche VLANs zugeordnet bekommen.

Freifunk Verkabelung

Ein Nachteil dieser Lösung soll nicht unerwäht bleiben: Zuzsätzlich zu dem WLAN „Freifunk“ gibt es immer auch noch ein weiteres WLAN über das mehrere Freifunkt-Router ein Mesh-Netzwerk aufbauen könbnen. Bei dem hier vorgestellten Ansatz können die Access-Points nicht meshen. Dazu müsste man ein weiteres VLAN anlegen und ein dritten Anschluss an den Freifunk-Router legen. Der interne Switch müsste dann so konfiguriert werden, dass dieser dritte Anschluss „Mesh-on-LAN“ kann. Da bei mir die Access-Points aber eh fast nur innerhalb des Gebäudes erreichbar sind ist das für mich kein großes Problem. Den Freifunk-Router hab ich so aufgestellt, dass er die Straße vor dem Haus sieht. Auf diesem Weg kann dann ein Mesh-Netzwerk mit zB. einem Nachbarn gebildet werden.