zurück zum Artikel

Billig-Router als Netzfilter

| Ernst Ahlers

Wenn man schnüffelnden Fernsehern oder Settop-Boxen den Internetzugang entziehen will, der heimische Router aber keine Werkzeuge dafür an Bord hat.

Es gibt diverse Ansätze, LAN-Stationen, die unverlangt private Daten zum Hersteller zurücksenden, den Zugang zum Internet zu verwehren. Sie sind aber nicht alle gleichermaßen komfortabel und effektiv. Als Beispiel führen wir zunächst zwei Methoden auf, die prinzipiell taugen, aber mit Komforteinbußen verbunden sind: die Router-Kaskade und die bewusst unvollständige Einrichtung von einzelnen LAN-Stationen.

Router-Kaskaden [1] lassen sich schnell aufsetzen und konfigurieren. Damit unterteilt man ein Heimnetz in mehrere logische Bereiche, deren Hosts ohne weitere Tricks nicht miteinander kommunizieren können. Die Kaskade lässt sich auch so einrichten, dass sie Plaudertaschen den Internetzugang entzieht, damit diese keine privaten Details über Ihren Medienkonsum an Gerätehersteller, TV-Sender und Google verraten. Die Methode erscheint verlockend, hat aber einen gravierenden Nachteil: Die NAT-Grenze blockiert wegen der unterschiedlichen IP-Adressbereiche alle Broadcasts und somit auch die UPnP [2]/DLNA [3]- und Bonjour-Dienste. Funktionen, die diese Dienste voraussetzen, also Medienstreaming oder Gerätefernsteuerung, sollen aber beim Isolieren von Smart-TVs und Audioanlagen (Home Theater Systemen) im Heimnetz weiter möglich bleiben.

Ein einfacheres Verfahren, um Geräte vom Internet zu trennen [4], besteht darin, in ihrer Konfiguration das Default Gateway – die IP-Adresse des Routers – einfach zu löschen. So wissen die betreffenden Geräte nicht, wie sie Pakete an Ziele außerhalb ihres Subnetzes zustellen sollen und sind damit vom Internet abgeschnitten. Sie bleiben aber weiter transparent in ihrem Subnetz erreichbar.

Näher besehen erweist sich diese Methode als nicht immer anwendbar, denn die Gateway-Adresse wird typischerweise automatisch per DHCP bezogen, und zwar sowohl beim Start als auch regelmäßig beim Erneuern des IP-Leases. Folglich muss man die IP-Konfiguration auf manuell umstellen und dem Gerät per Hand eine Adresse vergeben. Das ist aber nicht bei jeder LAN-Station möglich, beispielsweise bei manchen Smart-TVs. Als letztes Mittel bleibt dann nur, den DHCP-Server im Router zu deaktivieren. Das ginge aber mit einem erheblichen Komfortverlust beim restlichen Gerätezoo im Heimnetz einher, denn diese müsste man dann ebenfalls per Hand einrichten.

TP-Link TL-WR841ND

TP-Links TL-WR841ND stellt mit rund 20 Euro eine sehr günstige Ausgangsbasis für OpenWRT-Gehversuche dar. Nach Patchen des Kernels kann man damit einen LAN-Filter auf Ethernet-Basis realisieren.

Eine geschicktere Lösung ist, die Plaudertaschen in einem per Filter abgetrennten LAN-Segment zu betreiben. Das Filtern übernimmt ein 20-Euro-Router mit angepasster Firmware, den man mit seiner Internetseite (WAN) ins Heimnetz hängt. An seine LAN- und WLAN-Schnittstelle kommen die zu isolierenden Geräte.

Für Spitzfindige: Ja, man könnte für bestimmte Hosts das Default Gateway auch nachträglich per ARP Spoofing [5] ins Nichts umbiegen. Dazu bräuchte man aber einen durchlaufenden Server im LAN. Zudem sind solche Netzwerk-Schweinereien weder trivial noch nebenwirkungsfrei.

Um mehr als ein Gerät isolieren zu können und dieses gegebenenfalls auch per WLAN anzubinden, fiel unsere Wahl auf den Breitband-WLAN-Router TL-WR841N [6]. Das Gerät ist leicht erschwinglich, es kostete zum Redaktionsschluss gerade mal 16 Euro (ab 14,87 €) [7]. Die abgebildete Variante TL-WR841ND (ab 29,99 €) [8] mit abnehmbaren Antennen war nur 6 Euro teurer.

Die zusätzlichen jährlichen Stromkosten durch den TL-WR841N sind erträglich: Das für diesen Beitrag eingesetzte Muster brauchte im Idle-Zustand, also ohne angeschlossene Geräte, gerade mal 2,2 Watt (5,01 Euro/Jahr bei 26 Cent/kWh und Dauerbetrieb). Mit je einem angeschlossenen WLAN- und LAN-Client nahm die kleine Routerbox auch bloß 2,5 Watt auf (5,70 Euro).

Das Gerät hat vier Fast-Ethernet-Ports sowie 2,4-GHz-WLAN nach IEEE 802.11n mit maximal 300 MBit/s brutto für das abgetrennte Teilnetz. Es besitzt mit 4 MByte Flash gerade genug Speicher, um eine alternative Firmware aufzunehmen.

Mit der Werks-Firmware des TL-WR841N kann man zwar die vorn zitierte Router-Kaskade bauen, aber keinen Ethernet-Filter. Das klappt dagegen mit dem quelloffenen Router-Betriebssystem OpenWRT [9], wenn man es um die Ethernet-Firewall ebtables [10] ergänzt.

Das OpenWRT-Wiki warnt [11], dass ebtables reichlich CPU-Leistung fordert, weswegen es nicht im Standard-OpenWRT-Kernel enthalten ist. In unserem Setup mit der aktuell im Handel befindlichen Version 8 konnten wir von LAN zu WAN immerhin 94 MBit/s mit iperf durchschleusen. Für Mediastreaming reicht das völlig aus, und mehr geben die Fast-Ethernet-Ports des Filters eh nicht her.

Nun ist der TL-WR841N in den verschiedenen Hardware-Versionen [12] mit unterschiedlichen CPU-Kernen bestückt, die auch verschieden schnell getaktet werden. Der Router erreicht aber laut Wiki überall die gleiche Integer-Rechenleistung von 260 BogoMIPS. Wenn Sie ein älteres Gerät besitzen oder geliefert erhalten, sollte es folglich ebenso schnell filtern wie das hier beschriebene Testmuster.

Zwar lässt sich bei OpenWRT 12.09 das Paket ebtables aus dem Packages-Repository nachinstallieren. Ein Aufruf des Userland-Tools ebtables führt aber nur zu einer Fehlermeldung, weil ebtables im Kernel fehlt. Das bekommt man durch Selbstübersetzen [13] von OpenWRT hinein. Die Arbeit haben wir Ihnen für den TL-WR841N v8 abgenommen: Führen Sie auf einem fabrikfrischen Gerät ein Firmware-Update mit dem Factory [14] -Image aus ( SHA256-Summe [15] c0afa8af…71ec907b). Falls Sie schon ein OpenWRT 12.09 ohne ebtables installiert haben, nehmen Sie das Sysupgrade [16] (d35c6a1c…31dddf01). Das zugehörige Userland-Tool haben wir mit hinein gepackt, weil für die ganz frische OpenWRT-Version 12.09.1 zum Redaktionsschluss noch keine Packages bereitstanden.

Damit Hosts in der gefilterten Zone transparent im Heimnetz erscheinen, muss ihr Verkehr mit ganz wenigen Ausnahmen ungehindert durchgehen, was eine Bridge auf Ethernet-Ebene zwischen dem WAN-Port (intern eth0) und den LAN-Schnittstellen (wlan0 und eth1) des TL-WR841N gewährleistet.

Damit Streaming und Fernsteuerung mit vom Internet isolierten Smart-TVs weiter funktionieren, darf der Filter nur DHCP und IPv6 sperren.

Damit Streaming und Fernsteuerung mit vom Internet isolierten Smart-TVs weiter funktionieren, darf der Filter nur DHCP und IPv6 sperren.

Die Ausnahmen sind DHCP und IPv6: Gefilterte Geräte beziehen üblicherweise IP-Adressen per DHCP, und zwar eine für sich selbst, eine für das Default Gateway (Internet-Router) und DNS-Server (Router und eventuell weitere). Diese DHCP-Anfrage muss der Filter beantworten und sich selbst dabei als Gateway und DNS-Server ausgeben. Das tut OpenWRT für sein internes Netz (LAN und WLAN) automatisch. Der Filter muss zusätzlich auf Ethernet-Ebene DHCP an der WAN-Schnittstelle aussieben, damit nicht etwa Broadcast-Antworten des Routers im gefilterten Netz erscheinen. Umgekehrt darf der Filter auch keine DHCP-Anfragen aus dem Heimnetz beantworten.

IPv6 wird auf allen Schnittstellen blockiert, damit wirklich smarte TVs nicht etwa darüber ins Internet gelangen. Wenn Geräte ausschließlich im Heimnetz kommunizieren sollen, ist IPv6 überflüssig; dort wird IPv4 vermutlich noch lange Zeit erhalten bleiben.

IP-Firewall

Die IP-Firewall ist auf Durchzug gestellt, damit alle Dienste des Heimnetzes im Filtersegment weiterfunktionieren.

OpenWRT macht regulär IPv4-Forwarding zwischen seinen Netzbereichen, womit gefilterte Geräte über den als Default Gateway gesetzten Filter als Zwischenschritt zum Router ins Internet kämen. Beim Setup bindet der Filter seine WAN-Schnittstelle in die LAN-Bridge ein. Und hier liegt der Kniff: Dabei verliert er seine bis dahin existierende Default-Route. Von den gefilterten Geräten eingereichte Pakete mit Ziel Internet reicht der TL-WR841N schlicht nicht weiter.

DNS geht weiter durch, denn ein testweise eingesetztes LG-Smart-TV (42LA6608 mit Firmware 04.22.11) war unglücklich, wenn es keine Servernamen auflösen konnte. Das TV-Gerät ließ dann die LAN-Verbindung trotz erfolgreich bezogener IP-Adressen gleich wieder fallen. Damit auch solche TV-Geräte als Mediensenken im Heimnetz dienen, mussten wir den DNS – mit dem Filter als Proxy – erlauben. So konnte es Adressen externer Server erfragen. Aber ob es die dann auch tatsächlich erreichen konnte, war ihm offensichtlich schnurz.

Die nötigen Einstellungen, um den TL-WR841N aus einem Router in einen Filter zu verwandeln, können Sie komplett über die OpenWRT-Weboberfläche erledigen. Das Startup-Skript zum Bauen der Ethernet-Bridge und zum Setzen der ebtables-Filterregeln lässt sich über den Menüpunkt SystemStartup direkt im Browser bearbeiten.

Das Ganze haben wir beispielhaft für ein Heimnetz mit einer Fritzbox als Router umgesetzt. Zwar besitzen diese Geräte schon einen verständlich und fein konfigurierbaren Filter, können aber beispielsweise nicht einzelnen Hosts per DHCP ein anderes Gateway als sich selbst zuweisen. Deshalb ist der TL-WR841N als Filter auch hinter einer Fritzbox sinnvoll eingesetzt.

Startup-Skript

Das Startup-Skript baut die Ethernet-Brücke zwischen den Netzsegmenten und setzt passende ebtables-Regeln.

Fritzboxen arbeiten ab Werk mit dem IP-Adressbereich 192.168.178.0/24 [17], wobei die Box in Werkseinstellung .1 belegt, per DHCP Adressen aus dem Block .20 bis .200 verteilt und VPN-Clients ab .201 einbindet. Damit bleibt für den Filter ein recht kleiner Bereich frei: Er selbst bekommt die 192.168.178.2 und vergibt Adressen von .3 bis .12 an seine Clients. Wenn Sie mehr als zehn Geräte filtern wollen, ist ein Konfigurationseingriff an der Fritzbox fällig: Sie darf dann per DHCP beispielsweise nur noch den Bereich .101 bis .200 verteilen, damit der Filter etwa .3 bis .50 vergeben kann.

In unserer Konfigurationsdatei [18] , die Sie dem TL-WR841 über die OpenWRT-Oberfläche unter SystemBackup…➤Restore… injizieren, sind ein paar weitere Vorgaben enthalten: Das Konfigurationspasswort heißt "filterkonfig". Das WLAN des TL-WR841 haben wir auf "filter" umgetauft und mit dem WPA-Schlüssel "filterzugang" versehen. Passen Sie diese Parameter unbedingt nach Ihren eigenen Vorstellungen an.  Ändern Sie gegebenenfalls auch den voreingestellten Funkkanal 11 so, dass es keine Überlappung mit dem WLAN Ihres Routers gibt. Bei 20-MHz-Betrieb  genügt es, wenn sich die Funkkanäle um mindestens 5 Schritte unterscheiden.

Admin-WLAN

Ein zusätzliches logisches Admin-WLAN gewährt Zugriff, falls man sich bei Konfigurationsänderungen versehentlich aussperrt.

Zusätzlich ist als Notnagel ein weiteres logisches WLAN "filter-admin" mit derselben Passwortvorgabe wie für die Konfiguration aktiviert. Sollten Sie sich bei Änderungen versehentlich vom Filter-WLAN aussperren, bekommen Sie darüber Zugang für Korrekturen. Das Admin-WLAN verwendet ein separates Subnetz (192.168.177.2, DHCP von .3 bis .12), damit es keine Überschneidungen mit dem gefilterten Netz gibt. Falls Sie keine Fritzbox als Internet-Router verwenden, passen Sie die IP-Adressbereiche in der Weboberfläche des TL-WR841N an Ihre Situation an.

Falls gefilterte Geräte irgendwann doch mal ins Internet sollen, um sich beispielsweise Firmware-Updates zu holen, geht das über zwei Wege: Zum Einen klemmen Sie schlicht das LAN-Kabel des Geräts – oder seine WLAN-Verbindung – auf den Internet-Router um und später wieder zurück.

Zum Anderen können Sie per ssh-Kommandozeile auf dem Filter vorübergehend die Default-Route setzen, in unserem Szenario etwa so: route add default gw 192.168.178.1. Dann leitet der TL-WR841N Verkehr ins Internet durch.

Nachdem alles erledigt ist, starten Sie entweder den Filter per kurzem Ausschalten neu oder löschen per ssh die Default-Route wieder: route del default gw 192.168.178.1. Die Anmeldung per ssh klappt mit dem Benutzernamen root und dem oben eingestellten Konfigurationspasswort.

Dieser Schnüffelfilter ist als Ausgangsbasis bewusst einfach gehalten: Er blockiert schlicht jeglichen Durchgang ins Internet. Wenn Sie feiner sieben wollen, können Sie beispielsweise die eingebaute IP-Firewall iptables so einstellen, dass sie nur bestimmte Dienste aus dem Filternetz an den Router weiterleitet. Alternativ kommt  – sobald für OpenWRT 12.09.1 passende Packages bereitgestellt sind – ein filternder HTTP-Proxy wie etwa Privoxy [19] in Frage.

Mit der Alternative squid [20] dürfte dem TL-WR841 allerdings die Puste und der Speicher ausgehen. Für diesen Fall kann man auf einen etwas besser ausgestatteten Router wie den TL-WR1043ND [21] zurückgreifen. Das Gerät ist zwar mit rund 40 Euro [22] deutlich teuerer als der TL-WR841N, bringt aber auch eine USB-Schnittstelle mit, um der chronischen Flash-Knappheit mit einem billigen USB-Stick zu begegnen. Dann fehlt nur noch eine um ebtables erweiterte OpenWRT-Version für den 1043er… (ea [23])


URL dieses Artikels:
https://www.heise.de/-2099453

Links in diesem Artikel:
[1] https://www.heise.de/ratgeber/Router-Kaskaden-1825801.html
[2] https://de.wikipedia.org/wiki/Universal_Plug_and_Play
[3] https://de.wikipedia.org/wiki/Digital_Living_Network_Alliance
[4] http://www.heise.de/ct/inhalt/2014/05/078/
[5] https://www.heise.de/hintergrund/Angriff-von-innen-270632.html
[6] http://www.tp-link.com.de/products/details/?categoryid=&model=TL-WR841N
[7] http://www.heise.de/preisvergleich/tp-link-tl-wr841n-a340658.html?cs_id=1206858352&ccpid=hocid-ct
[8] http://wwwheise.de/preisvergleich/tp-link-tl-wr841nd-a601787.html?cs_id=1206858352&ccpid=hocid-ct
[9] http://openwrt.org/
[10] http://ebtables.sourceforge.net/
[11] http://wiki.openwrt.org/doc/howto/netfilter#ebtables
[12] http://wiki.openwrt.org/toh/tp-link/tl-wr841nd#hardware
[13] http://wiki.openwrt.org/about/toolchain
[14] https://www.heise.de/downloads/18/1/1/6/3/9/3/9/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin
[15] https://www.heise.de/downloads/18/1/1/6/3/9/3/9/sha256sums.txt
[16] https://www.heise.de/downloads/18/1/1/6/3/9/3/9/openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-sysupgrade.bin
[17] http://192.168.178.0/24
[18] https://www.heise.de/downloads/18/1/1/6/3/9/3/9/backup-OpenWrt-20140129.tar.gz
[19] http://www.privoxy.org/
[20] http://www.squid-cache.org/
[21] http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd
[22] http://www.heise.de/preisvergleich/tp-link-tl-wr1043nd-a486889.html?cs_id=1206858352&ccpid=hocid-ct
[23] mailto:ea@ct.de