Es gibt viele Gründe ein Gäste-WLAN einzurichten. Im einfachsten Fall möchte man tatsächlich Gästen oder Besuchern eine Internetverbindung zur Verfügung stellen. Vielleicht möchte man aber auch einfach ein getrenntes WLAN-Netz um z.B. Haustechnik oder Solaranlagen anzuschliessen. Wie man das Ganze so einrichtet, dass Besucher nicht plötzlich im internen Netz landen – in diesem Artikel.
Gästenetzwerk vs. Sicheres Gästenetzwerk
Ein unsicheres Gästenetzwerk aufzubauen ist einfach – viele WLAN-Router haben diese Funktion heute bereits eingebaut.
Der Haken daran: Es ist nicht sicher und ermöglicht „Gästen“ praktisch auf das gesamte interne Netzwerk zuzugreifen. Die Ursache liegt aber weniger an der Software sondern vielmehr an der „Standardverkabelung“.
Die Problematik; Hersteller vs. Provider
Aktuelle WLAN-Router haben meist auch einen WAN – Anschluss, d.h. sie sind darauf ausgelegt direkt ans „Internet“ angeschlossen zu werden. Vom Provider erhält man heute zu 99,9 % aber ebenfalls einen Router (eine Modem / Router Kombination…)
Man hat damit also folgende zwei Anschlussmöglichkeiten:
Variante 1: Der Router des Providers (z.B. von Swisscom) wird komplett aus der Installation entfernt und durch den WLAN-Router ersetzt. Der WLAN-Router stellt sowohl das Interne WLAN wie auch das Gästenetzwerk.
Abb. 1: Vom Hersteller vorgesehene Konfiguration („Theorie“…)
Variante 2: Ein zusätzlicher WLAN-Router wird an das bestehend bleibende Modem/Router des Providers angeschlossen. Der WLAN-Router stellt ebenfalls sowohl Internes WLAN wie auch das Gästenetzwerk.
Abb. 2: Häufiger anzutreffende Konfiguration („Praxis“…)
Bei beiden Varianten wird „der Internetzugang“ funktionieren – denn der/die Router machen was sie sollen und vermitteln „jeden mit jedem“. Dementsprechend hat aber bspw. auch ein Gast vollständigen Zugriff auf sämtliche Komponenten des Netzwerks. Das ist nicht im Sinne des Erfinders, oder?
Eine saubere Lösung mit DD-WRT
Um das Gästenetzwerk wirklich sauber einzurichten braucht man wesentlich mehr Kontrolle über den WLAN-Router, als standardmässig vorgegeben. Gerade für kleinere Netzwerke empfiehlt sich deswegen die alternative Routerfirmware DD-WRT.
DD-WRT ersetzt dabei die beschränkte Standardfirmware des Herstellers und ermöglicht wesentlich mehr Features und Feineinstellungen (mehr Infos zu geeigneten Routern bzw. die Installation von DD-WRT findet man hier)
Das endgültige Ergebnis sieht dann in etwa so aus:
Abb.3: Sicheres Gästenetzwerk mit DD-WRT
Anders als bei den vorhergehenden Beispielen (Abb. 1 und 2) erfolgt hier eine vollständige Trennung von Internem und Gästenetzwerk – und zwar bereits auf demWLAN- Router. Gleichzeitig wird hier auch ein direkter Zugriff vom Gästenetz auf alle Router unterbunden – einzig und allein ein „kontrollierter Internetzugang“ wird erlaubt.
Schritt 1: Virtuelles Gästenetz erstellen
Virtuelles Interface erstellen (in DD-WRT)
Zuerst wird in DD-WRT ein neues, virtuelles Interface für den WLAN – Zugang erstellt. Dieses wird ausschliesslich für den Gästenzugang genutzt (z.B. WLAN_Gast).
Vorgehen: Unter Wireless >> Basic Settings den Button „Add“ klicken
Schritt 2: WLAN verschlüsseln / mit Passwort schützen
WLAN Intern/Gästenetz absichern
Anschliessend sollte man die grundlegenden Sicherheitseinstellungen für beide WLAN-Zugänge konfigurieren. Das Gästenetzwerk offen (d.h. ohne Verschlüsselung) zu lassen, empfiehlt sich in den meisten Fällen nicht.
Vorgehen: Unter Wireless >> Wireless Security die Verschlüsselung für beide Interfaces konfigurieren.
Schritt 3: Bridge erstellen
Neue Bridge br1 für das virtuelle Interface erstellen
Nun muss eine Bridge für das in Schritt 1 erstellte virtuelle Interface erstellt werden. Wichtig! Die bereits bestehende Bridge br0 nicht ändern, löschen oder überschreiben!
Vorgehen: Unter Setup >> Networking >> Create Bridge „Add“ klicken und die IP-Einstellungen für das Gästennetzwerk definieren. Anschliessend unter dem Punkt „Assign to Bridge“ das virtuelle Interface der neu erstellten Bridge zuweisen.
Schritt 4: Neue DHCP Instanz erstellen
Der Bridge br1 eine neue DHCP Instanz zuweisen
Da Gäste automatisch eine IP-Adresse zugewiesen bekommen sollen, muss eine neue DHCP – Instanz erstellt werden.
Vorgehen: Unter Setup >> Networking >> Multiple DHCP Server mittels des Buttons „Add“ der neu erstellten Bridge eine DHCP – Instanz zuweisen.
Schritt 5: Zusätzliche DNSMasq Optionen konfigurieren
Zusätzliche DNSMasq Optionen setzen
Damit DHCP schlussendlich funktioniert müssen noch folgende Optionen unter „Additional DNSMasq Settings“ ergänzt werden.
# Aktiviert DHCP auf br1
interface=br1
# Setzt das Standard Gateway für Clients von br1
dhcp-option=br1,3,192.168.5.1
# Setzt den DHCP Bereich und Default Lease Time für br1
dhcp-range=br1,192.168.5.100,192.168.5.150,255.255.255.0,24h
Schritt 6: IPTables konfigurieren
IPTables Konfiguration einfügen und „Save Firewall“ klicken
Zu guter Letzt müssen noch die Firewallregeln des Routers konfiguriert werden. Bis zu diesem Punkt hat das Gastnetzwerk auch noch keinen Internetzugang (das eigentliche Ziel dieser Übung…)
Firewallregeln kann man in DD-WRT mithilfe von IPTables konfigurieren. Man findet die entsprechende Eingabemaske unter Administration >> Commands. Dort sollen folgende Konfigurationseinstellungen eingefügt und mittels „Save Firewall“ gespeichert werden:
#br1 (Gaestewlan) Internetzugriff erlauben
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#Zugriff zwischen Intern und Gaeste blockieren
iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
#NAT erlaubt Internetverbindung
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`
#Torrent und P2P Netzwerke blockieren
iptables -I FORWARD -p tcp -s 192.168.5.0/24 -m connlimit --connlimit-above 50 -j DROP
iptables -I FORWARD -p ! tcp -s 192.168.5.0/24 -m connlimit --connlimit-above 25 -j DROP
#Direktzugriff auf Router aus Gaestenetzwerk verweigern
iptables -I INPUT -i br1 -p tcp --dport telnet -j REJECT --reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp --dport ssh -j REJECT --reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp --dport www -j REJECT --reject-with tcp-reset
iptables -I INPUT -i br1 -p tcp --dport https -j REJECT --reject-with tcp-reset
Schritt 7: DD-WRT in Netzwerk einbinden
DD-WRT ins bestehende Netzwerk einbinden
Zum Schluss muss der Router mit DD-WRT noch ins bestehende Netzwerk eingebunden werden. Da die Internetverbindung in dieser Konfiguration durch einen anderen Router / Modem (vergl. Abb. 3) hergestellt wird, brauchen wir das WAN nicht. Es sollte deshalb deaktiviert werden (unter „Setup“). Anschliessend sollte man dem Router noch eine plausible IP-Adresse vergeben (z.B. 192.168.1.2), sowie die Subnetmask und den DNS-Server ergänzen.
Den DHCP Server sollte man auf „Disable“ stellen – fürs interne Netzwerk brauchen wir ihn nicht und fürs Gästenetzwerk haben wir ihn bereits manuell konfiguriert.
Erst nachdem diese Einstellungen ergänzt wurden auf „Apply Settings“ klicken.
Um die Konfiguration abzuschliessen sollte man den Router anschliessend neu starten.