IoT Router

Der klassische Konsument hat einen DSL-Router mit einem internen per DHCP verwalteten LAN und jeder Client darf alles. Vielleicht gibt es noch ein Gäste-WLAN, was mittlerweile auch eine Fritz!Box kann. Aber die Firewall-Regeln sind hier doch beschränkt und vielleicht will ich nicht, dass Fernseher oder auch die verschiedenen IoT-Devices alle erst mal ungefiltert ins Internet zugreifen können. ein mehrstufiges Konzept ist ratsam, um auch Gäste von dem eigenen NAS abzuhalten.

Anforderung

Ich habe mich also auf die Suche nach eine "kleinen Firewall" gemacht, mit der ich in meinem Haus ein paar Zonen einrichten kann. Der Fernseher und WLAN-Mediaplayer sollen zwar die Mediaserver erreichen aber vielleicht nicht zu jeder Zeit jede Gegenstelle im Internet. Das gilt insbesondere für diverse IoT Geräte wie Wasseraufbereitung, Leckage-Melder und was zukünftig noch so alles "IP"-spricht. Mein WLAN basierend auf den Ubiquiti-Access Points hat dazu schon mehrere SSIDs bekommen, die nun aber richtig zusammen geschaltet werden sollen.

Vorher

Mein Netzwerk hat quasi begonnen, wie es in der Mehrzahl aller Haushalte aufgebaut ist. Ein DSL-Router stell intern ein Subnetz mit per DHCP vergebenem Adressen bereit. Alle Clients sind im LAN untereinander komplett erreichbar und auf der Fritz!-Box kann man einzelnen Geräten den Internet Zugang beschränken oder abgeben.

Aber nachdem meine Kinder größer wurden und sie wie selbstverständlich den WLAN-Schlüssel weiter gegeben haben, war es an der Zeit zu handeln.

Zonen im Heimnetzwerk

Ich wollte zum einen die verschiedenen Gäste aus meinem "Büro-Netzwerk" raus haben. Zudem gibt es immer mehr RasPi, Arduino, ESP8266-Systeme, die zwar nicht kritisch sind da die nur melden aber besser in einem eigenen Subnetz sich sammeln sollten. Dazu gehören auch viele IoT-Geräte, denen ich aktiv jeden Zugriff auf das Internet unterbinden möchte. Sie sollen nicht ungefiltert nach Hause telefonieren, Meldungen absetzen oder gar Firmware Updates nachladen.

Die obere Stufe sieht ja noch ganz normal aus. Eine klassische Fritz!Box, die per DHCP das blaue "Office-LAN" mit Adressen aus 192.168.178.0/24  versorgt als auch per DHCP ein eigenes Gäste-LAN (Ethernet Port 4) mit 192.168.179.0/24 bedient. Damit sind die Besucher schon mal "draußen" und können eben surfen. De befinden sich dann auch alle Smartphones, die ich nicht im internen LAN haben möchte. Die Clients im "Office Netzwerk" haben aktuell auch noch per Fritz!Box ungefilterten Internet-Zugang. Ob hier irgendwann mal eine PFSense, Sophos Home o.ä., eingebunden wird ist noch nicht entschieden. Einfachheit gewinnt aktuell noch gegenüber Reglementierungsfunktionen.

An dem internen LAN hängt aber nun noch das "IoT-Netzwerk, welches durch einen Router, der zugleich filtert, verbunden ist. Der Router vergibt dort auch per DHCP gleich Adressen aus 192.168.180.0/24 mit dem Gateway 192.168.180.2. Einen DNS-Server habe ich aktuell noch nicht eingetragen. Sobald Geräte zwingend einen DNS-Server benötigen, werde ich ihnen einen eigenen DNS-Server, z.B. auf eine, Windows Server oder NAS-Gerät bereit stellen. Sie dürfen aber keine Namen aus dem Internet auflösen. Wer weiß, ob die nicht irgendwann per DNS-Abfrage Informationen ausleiten. Noch gibt es keine Filter zwischen 192.168.178.0 (Office) und 192.168.180.0 (IoT). Ich habe die 192.168.180.0 als Route in der Fritz!Box eingetragen. Damit könnte ich, wenn erlaubt, sogar aus dem IoT ins Internet. Allerdings scheint die Box keinen ICMP-Redirect zu senden wenn ein Client im Office Netz dieses Subnetz ansprechen will.

Damit ich überall per WLAN diese Topologie nutzen kann, werden die drei Netzwerke per VLAN über einen Switch verteilt und die WLAN-AccessPoints spannen drei unabhängige SSIDs auf. Das WLAN auf der Fritz!Box ist inaktiv. Die Reichweite wäre aufgrund des Standorts eh eingeschränkt.

So ergibt sich dann folgende Tabelle

Von/Nach

Internet

Office-LAN

IoT

Gäste

Internet

Entfällt

Nein*
ggfls. Veröffentlchungen einzelner Services

Nein

Nein

Office-LAN

Freier Zugang per NAT

lokal

Gefiltert (PRTG, Apps etc.)

Nein

IoT

Nein*
oder sehr restriktiv gefiltert

Gefiltert, z.B. auf PRTG Only

lokal

Nein

Gäste

NAT, ggfls. Portlimits, Bandbreite Limit

Nein

Nein

lokal

 

Welcher Router ?

In dem ganzen Bild gibt es nun eine Komponente, die noch nicht geklärt ist: Der Router zwischen IoT und Office-LAN. Oder vielleicht soll es gleich eine vollwertige Firewall sein, die HausLAN, GästeLAN, IoT-LAN von der Fritz!BOX absichert?.

Ich habe auf meinem Hyper-V-Server dazu schon einige Monate mit verschiedenen Firewalls als MV experimentiert (PFsense, Sophos Home, Windows Server als Router mit Windows Firewall), Aber irgendwie war der WAFA (Woman acceptance factor) bzw. der CAF (children acceptance factor) nicht hoch genug. Die Konfigurationen können viel zu viel und dauernde Updates des Gast aber auch des Hosts haben massiven Einfluss auf die Netzwerkverbindung. Da ist eine eigenständige "Box" sympathischer. Sie müsste auch gar nicht mal viele Ethernet-Ports haben, wen sie VLANs unterstützt, die mein Switch auch auseinandernehmen kann. So gibt es aus meiner Sicht drei "Klassen" von solchen Firewalls.

Klasse Beschreibung Beispiele
VM oder PC-basierend

Schon immer können Sie eine virtuelle Maschine oder einen "alten PC" mit einer passenden Software bespielen, die das Routing übernimmt. Wie schon beschrieben ist die Verzahnung von VM und aktivem Routing im Netzwerk nicht immer zufriedenstellend. Zudem ist der Stromverbauch schon am höchsten im Vergleich zu den anderen Systemen.

Will man diese Software auf Physik betreiben, dann liegt es nahe einen "alten PC" zu nutzen aber wer genau rechnet, wird mit einem neuen "kleinen" stromsparenden System besser dran sein. Ein 3-5 Jahre Alter PC fällt wahrscheinlich früher aus. Aber unter 150€ gibt es da nichts, eher im Bereich 200-300€ mit mehreren Ethernet-Schnittstellen Onboard.

Dafür bekommt man aber sehr leistungsfähige Funktionen seitens der Firewall.

DSL-Router

Der andere Plan ist einfach einen bestehenden DSL-Router umzubauen. Auf Basis von OpenWRT mit iptables/ebtables ist das durchaus auch interessant und entsprechende Hardware gibt es schon sehr günstig.

Allzu günstige Hardware hat aber oft nur Fast Ethernet und der Durchsatz ist entsprechend bescheiden. Es beginnt aber schon bei 10-20€

Firewall-Box

Die dritte Option ist natürlich der Kauf eine entsprechenden Box, die vom Hersteller fertig als Firewall oder zumindest Router mit Filter angepriesen wird. Man erhofft dabei auch, dass diese Geräte robust und stabil aufgebaut sind, so dass Sie einige Jahre einfach ihren Job tun. Hier gibt es durchaus einige preislich interessante Geräte auf dem Markt (Stand Jul 2017)

Einige Geräte wie z.B. die Ubiquiti-Systeme werden als Komponente in deren WLAN-Strukturen angesehen und haben besondere Eigenschaften diesbezüglich.

Layer4-Switch

Anfang 2018 habe ich einen TPLink T2600G-28TS Switch in Betrieb genommen und musste erstaunt feststellen, dass dieser 24-Port Switch für unter 160€ sogar als IPv4/v6-Router mit ACL-Filterung und QoS-Steuerung arbeiten kann.

Wie so oft gilt: "You get what you pay for". Es gibt zwar immer "teure" Lösungen aber ein 50€ EdgeRouterX mit 5 Gigabit-Ports wird im Routing an seine Grenzen stoßen. Gleiches gilt für umgewidmete DSL-Router. Die eingebauten CPUs und RAM-Ausstattung schlägt sich im Preis und der Performance nieder. Aber wer "über Netzwerkgrenzen hinweg" wirklich Gigabit benötigt, muss dann etwas mehr Geld ausgeben. Ein Smartphone oder gar ein IoT-Device wird sich auch mit Megabit oder sogar Kilobit zufrieden geben.

TPLink T2600-Switch als Filter

Ich habe zuerst mit einer PC-basierten Firewall (VM) experimentiert. Es hat soweit alles funktioniert aber die Funktionsvielfalt bedingt auch häufige Updates und Konfigurationspflege. Das wollte ich mir auf dauer nicht antun und wenn man tagelang unterwegs ist und dann das zentrale Kontrollinstrument auch der Familie den Internetzugang blockiert, dann ist der WAF (Woman Acceptance Factor) sehr schnell im Keller. Gerade wenn man mehrere dieser Exemplare (WAF Judges) hat.

Solang ich aber noch nicht den T2600 hatte, habe ich mit daher den Ubiquiti Edge Router in das Netzwerk eingebunden, um die Segmente besser voneinander zu trennen. Mittlerweile habe ich aber meinen alten "unmanaged" Switch (TL-SG1024DE) durch einen TP-Link T2600G-28TS (TL-SG3424) ersetzt, der auch IPV4 Routen und Filtern kann. Wenn der Switch ausfällt, dann brauche ich auch kein Routing mehr, da dann eh alle Netzwerkdosen "down" sind.

Die Routing-Funktion wird aber nur zwischen dem Office-LAN und dem IoT-LAN bereit gestellt. Das HausLAN und Gäste-LAN sind nur per Switch-Funktion (mit VLAN für die Acces-Points) angebunden.

Die "Default-Regel" des Router ist natürlich "alles erlauben". Es ist ja von Hause aus keine Firewall und Stateful Inspection geht auch nicht. Daher muss ich zwei Regeln addieren.

  1. Erlaube alle vom IoT-LAN die Pakete zum Office-LAN
    Damit können die IoT-Geräte z.B. per MQTT ihre Daten zum PRTG-Server oder MQTT-Broker senden
  2. Verbiete alles andere aus IoT zur Welt
    Damit die Systeme i IoT-Netzwerk nicht doch irgendwie Verbindung zum Internet aufnehmen können, habe ich eine zweite Regel wie folgt angelegt

Leider sieht man in der Übersicht nur die beiden Regeln aber nicht den Unterschied zwischen "Allow" und "Deny"

Natürlich habe mich danach mit einen PC in das IoT-LAN verbunden und die Erreichbarkeit von Diensten geprüft.

Routing zum IoT-Netz

Das IoT-Netzwerk mit der IP-Adresse 192.168.180.0/24 ist über den Router im Switch zwar erreichbar aber noch kennt niemand das Subnetz. Alle Clients im Office-LAN nutzen ja den DSL-Router und ich werde hier sicher kein OSP; RIP oder BGP einrichten. Aber alle Systeme, die im Office-LAN sind und mit den Geräten im IoT kommunizieren müssen, benötigen einen Leitweg über die 192.168.178.2

Nun habe ich gesehen, dass in der Fritz!Box sogar statische Leitwege möglich sind.

So oder so ähnlich könnte das dann auch bei ihnen aussehen:

Wenn der Router nun die IoT-Geräte nicht filtern und blockieren würde, könnten nun diese Geräte auch ins Internet.

Allerdings stellt die Fritz!Box dieses wissen nicht den Geräten im Office-LAN bereit, d.h. die Box leitet weder Pakete als Router weiter, die irrtümlich an Sie gesendet werden noch sendet sie einen "ICMP redirect" an den Absender, er möge die Pakete bitte an ein "besseres" Gateway senden. Insofern können Sie sich den Eintrag von statischen Adressen in der Fritz!Box auch direkt sparen.

Ich habe dann zumindest auf den Systemen, die mit den IoT-Geräten direkt kommunizieren, entsprechende statische Routen eingetragen. Alternativ könnte man das Default Gateway natürlich auch einfach auf einen "besseren" Router setzen. Wobei auch der TPLink T2600 hier kein Redirect sendet sondern die Pakete weitergibt.

Das erste Packet geht an den TPLink-Router im Switch

Die Antwort kommt dann aber direkt vom AVM-DSL-Router. Eine Umleitung per ICMP-Redirect wäre besser und leistungsfähiger, weil der Client dann einen Hop sparen und den günstigeren Weg lernen würde. Wer stattdessen statische Routen pflegen will, kann dies unter Windows wie folgt machen.

netsh interface ipv4 add route 192.168.180.0/24 LAN 192.168.180.2

Der Name des Interface müssen Sie natürlich anpassen. Ein "IPCONFIG" listet den korrekten Namen.

Zwischenstand

Alle IoT-Geräte, die per LAN an einem Port im richtigen VLAN angeschlossen sind oder per WLAN im IoT-WLAN hängen, bekommen vom TP2600 per DHCP eine IP-Adresse im IoT-WLAN und können aus meinem Office-LAN direkt und einfach angesprochen werden und auch antworten. Siekönnen aktuell keine DNS-Auflösung machen und jedes Paket in ein anderes Netzwerk wird verworfen.

Das ist nicht "hochsicher, denn ich könnte ja jedem Device eine statische IP-Adresse geben und noch engere Regeln in der Filtertabelle einführen. Aber es ist nun mal ein Kompromiss.

Um zu sehen, welches IoT-Gerät hier nun welche Verbindungen aufbaut, behelfe ich mir mit NetFlow/sFlow/IPFix/cFlow und wenn ich mal genauer hinschauen will, dann wird eben ein Port-Monitoring aufgesetzt, über die ich die Pakete mitschneiden kann.

Weitere Links