Gastnetz und VLANs mit DD-WRT

09.04.2012

Der Linksys Wireless Router WRT54GL ist bei Amazon schon für unter 40€ zu haben. Das Gerät hat es wirklich in sich. Es beherrscht echte 802.1q VLANs und dazu noch Multi-SSID. Was liegt also näher, als endlich ein Gast-WLAN aufzubauen, welches Freunden und Bekannten bequemen Zugriff ins Internet ermöglicht, ohne dass deren Geräte sich direkt im internen Netzwerk einbuchen müssen.

Einleitung

Für meinen Zweck läuft die Firewall mit DHCP-Server, DNS-Dienst und NAT auf einem eigenen Server. Daher verwende ich diese Features von DD-WRT nicht. Wer sie nutzen möchte, findet im DD-WRT Wiki viele Anregungen.

Diese Anleitung beschreibt “lediglich” die Nutzung eines DD-WRT Accesspoints für mehrere SSIDs. Dabei wird jeder SSID ein eigenes VLAN zugeordnet. Das Routing, sowie DHCP und DNS wird nicht weiter beschrieben, da das bei mir der Server erledigt.

Interessanterweise habe ich für diesen einfachen Anwendungsfall keine Anleitung im Netz finden können. Falls mein Router also einmal die Konfiguration vergessen sollte, habe ich hier die Schritte zum Einrichten dieser Konfiguration festgehalten. Hoffentlich hilft es dem Einen oder Anderen weiter:

Vorbereitungen

Als erstes muss natürlich DD-WRT auf dem Router installiert werden. Das geht ziemlich einfach und problemlos, sofern man sich sklavisch an die Anleitung hält. Jede Abkürzung kann dazu führen, dass man anschließend nur noch einen blau-schwarzen Briefbeschwerer mit zwei Antennen hat. Also, auch wenn 90 Sekunden Taste drücken für einen Factory-Reset etwas übertrieben erscheinen, die (insgesamt 3) Extraminuten sollte es einem wert sein. Anschließend hat man einen Wireless-Router, der alles kann, was man je brauchen wird und dazu noch viele Features bietet, von denen man nicht einmal wusste, dass man sie brauchen könnte.

Gut bewährt hat sich die Firmware-Version DD-WRT v24-sp2 (10/10/09) mini - build 13064. Das mini-Build enthält auch schon alles, was für die hier beschriebene Konfiguration notwendig ist. So dass man nicht unbedingt auf eines der größeren Builds wechseln muss.

Nach der Installation sollte man sich erst einmal um die Grundeinrichtung kümmern. Also Kennwort setzen, IP-Adresse vergeben, primäres WLAN einrichten, etc. Danach, kann es mit dem Einrichten des Gastnetzes weitergehen.

Ports

Da der Linksys Router fünf Ports besitzt, muss man sich zuerst entscheiden wie man diese nutzen möchte. Intern sind diese mit einem VLAN-Switch verbunden, welcher eine Trennung zwischen den Ports ermöglicht. Die nachfolgend dargestellte Konfiguration macht den mit “WAN” beschrifteten Anschluss zum VLAN-Trunk (dieser führt die VLANs also zu einem 802.1q fähigen Switch - in meinem Fall einem HP ProCurve den ich wirklich empfehlen kann). Die anderen vier LAN-Ports sind dem VLAN 1 zugeordnet und sind somit einfach mit dem internen (privaten) Netzwerk verbunden. So hat man dort, wo der Router installiert ist, noch vier interne LAN-Ports zusätzlich.

Wenn man sich hier für eine andere Konfiguration entscheidet, sind die einzelnen Punkte der Anleitung ggf. entsprechend abzuwandeln.

Multi-SSID

Um mehrere WLANs mit unterschiedlichen Namen nutzen zu können, muss die Funkhardware des WRT54GL dies auch können. Da es hier unterschiedliche Hardwarerevisionen gibt, muss man zuerst prüfen, welche in der Kiste steckt. Hierfür gibt es ein Konsolenkommando. Nach dem Login per Telnet gibt man also auf der Konsole des Routers folgenden Befehl ein.

nvram get wl0_corerev

Dabei wird eine einzelne Zahl ausgegeben, die wie folgt zu interpretieren1 ist:

HardwareversionMulti-SSID fähigkeit
0 bis 4Schade, keine Multi-SSID-Unterstützung.
5 bis 8Multi-SSID ist möglich, allerdings nur mit der gleichen MAC-Adresse. Das kann bei einigen Wireless-Geräten zu Problemen führen. Probieren geht über studieren.
9 oder höherPerfekt. Die Multi-SSID-Unterstützung ist komplett vorhanden. Auch mit einer eigenen MAC-Adresse je virtuellem WLAN.

Gut, nachdem das geklärt ist und hoffentlich eine 9 auf der Konsole aufgetaucht ist, geht es jetzt an die Konfiguration des zweiten WLANs. Ich gehe davon aus, dass das erste WLAN bereits konfiguriert ist. Dieses wird als internes (privates) WLAN verwendet. Also muss jetzt noch das Gastnetz hinzugefügt werden.

Wichtig: Wie bei allen Konfigurationsänderungen sollte man diese lieber über die normale Netzwerkverbindung als über das WLAN durchführen. Bei mir hat es zwar auch über das WLAN gut geklappt. Das ständige Auf- und Abbauen der Verbindung kann aber ganz schön nerven. Außerdem geht über Funk doch schnell mal die Verbindung verloren. Also besser doch ein Kabel in den Router stecken.

Zweites WLAN einrichten

Weiter geht es auf dem Reiter “Wireless” - “Basic Settings”. Hier kann nun das zweite, virtuelle WLAN eingerichtet werden. Einfach den “Add”-Button drücken und eine weitere (natürlich von der ersten verschiedene) SSID für das Gast-WLAN vergeben: Einrichten des zweiten WLANs (gast) Ich habe das WLAN für dieses Beispiel einfach “gast”2 genannt. Natürlich sollte man sich hier einen eigenen, schönen Namen ausdenken. Die weiteren Optionen für das WLAN sollten folgendermaßen gesetzt sein:

OptionWertKommentar
Wireless SSID BroadcastEnabledDie Gäste sollen das WLAN ja auch finden können.
AP IsolationEnabledDie Gäste sollen sich nicht gegenseitig sehen.
Network ConfigurationBridgedWichtig, sonst funktioniert die restliche Konfiguration nicht.

Die Einstellungen werden anschließend über die Schaltfläche “Apply Settings” gespeichert.

Sicherheit

DD-WRT Wirless Security Weiter geht es auf der Seite “Wireless” - “Wireless Security”. Hier muss für das neue WLAN natürlich noch die Verschlüsselung aktiviert und ein geeignetes Kennwort gesetzt werden. Auch bei einem Gast-WLAN möchte man ja schließlich keine ungebetenen Gäste.

Auch hier werden die Einstellungen wieder über die Schaltfläche “Apply Settings” gespeichert.

Sind die Sicherheitseinstellungen korrekt konfiguriert geht es jetzt mit dem Einrichten der VLANs weiter.

VLANs

Diese Konfiguration lässt sich paradoxerweise am einfachsten über das WLAN durchführen. Da hierbei die Einstellungen des in den WRT54GL integrierten Switches verändert werden, ist über WLAN die Gefahr sich auszusperren am geringsten.

Auf der Seite “Setup” - “VLANs” müssen nun die VLANs konfiguriert werden. Dabei habe ich folgende VLAN-Zuordnung gewählt. Natürlich können auch andere VLANs verwendet werden:

VLANZweck
1Internes Netzwerk
12Gastnetz

Wie das nachfolgende Bild zeigt, müssen nun die einzelnen VLANs den Anschlüssen des WRT54GL zugewiesen werden. In diesem Fall müssen also die VLANs 1 und 12 auf den WAN-Anschluss. Zusätzlich werden die anderen Switchports dem VLAN 1 zugeordnet, damit diese ebenfalls noch als LAN-Ports nutzbar sind.

DD-WRT VLAN Einstellungen

Wichtig ist der Haken “Tagged” in der Spalte “W”. Dieser macht aus dem WAN-Anschluss einen VLAN-Trunk, bei welchem die Pakete mit einem 802.1q-Tag versehen werden. Die verwendeten Ports sollte man, ebenso wie das WLAN, noch der LAN-Bridge zuordnen.

Anschließend natürlich nicht das Speichern über die Schaltfläche “Apply Settings” vergessen.

Verbinden der einzelnen Interfaces

Jetzt müssen die einzelnen Interfaces noch passend miteinander verbunden werden. Die folgende Tabelle gibt erst einmal einen Überblick über die relevanten Interfaces:

InterfaceBeschreibung
eth1Primäres Wireless-Interface (erste SSID - internes Netzwerk)
wl0.1Sekundäres Wireless-Interface (zweite SSID - Gast-Netzwerk)
vlan1VLAN mit ID 1 (intern) auf dem internen Switch
vlan12VLAN mit ID 12 (Gast) auf dem internen Switch

Es sind also zwei Bridges notwendig um die Interfaces korrekt zu verbinden. Aktuell müssten alle Interfaces der Bridge br0 zugeordnet sein. D.h. die vier Netzwerkinterfaces sind alle miteinander verbunden. Korrekt wäre jedoch folgende Zuordnung:

BridgeInterfaces
br0eth1, vlan1
br1wl0.1, vlan12

Um das zu erreichen muss zuerst eine weitere Bridge angelegt werden. Hierzu dient die “Add”-Schaltfläche im Abschnitt “Create Bridge” der DD-WRT Verwaltung. Man sollte sich bei der neuen Bridge nicht von der Beschriftung der ersten Zeile irritieren lassen. Hier steht zwar “Bridge 0” aber in das erste Feld muss trotzdem br1 eingetragen werden (br0 ist immer vorhanden und zählt daher anscheinend nicht). STP kann normalerweise abgeschaltet werden. Die restlichen Werte lässt man einfach auf den Standardeinstellungen.

Jetzt braucht die Bridge noch eine IP-Adresse aus dem Netzwerksegment des Gastnetzes (VLAN 12).

Ist alles eingestellt kann die Bridge über die “Apply Settings”-Schaltfläche angelegt werden. Was jetzt noch fehlt ist die Zuordnung der Interfaces zur neuen Bridge.

Über die “Add”-Schaltfläche im Abschnitt “Assign to Bridge” können Interfaces einer Bridge zugeordnet werden. Nach dem ersten Klick auf “Add” wird die Bridge br1 ausgewählt und das Interface “wl0.1” zugeordnet. Die Standardpriorität kann man hierbei getrost beibehalten. Anschließend muss man nochmals auf “Add” klicken und auch das Interface “vlan12” der Bridge br1 zuweisen.

Die Änderungen werden wieder über die Schaltfläche “Apply Settings” gespeichert. Am Ende sollte alles so aussehen wie auf dem folgenden Screenshot: DD-WRT VLANs und Bridges

Finale Konfiguration

Jetzt sind die VLANs passend eingerichtet. Auf dem WAN-Port erscheinen nun Pakete mit dem 802.1q VLAN-Tags 1 und 12. Je nach verwendetem WLAN bzw. Port am WRT54GL. Was jetzt noch fehlt ist die Konfiguration am zentralen Netzwerkswitch. Hier muss der Anschluss, an welchem der WAN-Port des Wireless-Routers angebunden ist, noch als Trunk für die VLANs 1 und 12 konfiguriert werden. Natürlich ist es auch hilfreich das “Ingress Filtering” passend für die verwendeten VLANs zu konfigurieren und zu aktivieren3.

Falls ein DHCP-Server verwendet wird (wovon ich fast einmal ausgehe), muss dieser noch für das neue VLAN konfiguriert werden. Läuft der VLAN-Trunk bis zur Firewall/zum Server auf welchem der DHCP-Server sitzt, braucht dieser natürlich noch ein neues, virtuelles Interface im passenden VLAN um die DHCP-Anfragen zu beantworten.

Test, Test

Ist alles konfiguriert, kann man zuerst einmal versuchen, die IP-Adresse der Bridge br1 zu pingen. Klappt das, ist das VLAN schon einmal korrekt von der Firewall/vom Server bis zum Wireless-Router eingerichtet. Sobald der DHCP-Server läuft kann man versuchen einen Client mit dem neuen Gastnetzwerk zu verbinden, was eigentlich auf Anhieb klappen sollte. Wenn nicht: Viel Spaß beim Fehler suchen :)


  1. Quelle: DD-WRT Wiki ↩︎

  2. Bin ich nicht kreativ :) ↩︎

  3. Das hatte ich am Anfang vergessen, was zu unnötigem Frust geführt hat, da das VLAN 12 einfach nicht funktionieren wollte. ↩︎