Separierung von IoT-Geräten

rz259

Newbie
Registriert
März 2021
Beiträge
6
Hallo zusammen,

ich bin hier neu und habe gleich eine (für mich) komplizierte Frage. Ich kenne mich zwar gut mit Programmierung aus, aber leider nicht mit Netzwerken und hoffe, dass mir jemand weiterhelfen kann.

Ich habe eine teilweise selbst entwickelte Hausautomatisierung, die aus folgenden Komponenten besteht:

  • ein RaspberryPi, auf dem folgende Software läuft
    • FHEM
    • ein selbst geschriebener Server in Java, der die Daten aller Sensoren und Aktoren in einer Datenbank speichert
    • ein REST-Service (ebenfalls in Java), der es einigen Sensoren erlaubt, ihre Daten einzuliefern sowie die Steuerung von Kompontenten über eine Android-App ermöglicht
  • einige HomeMatic-Sensoren und Aktoren sowie das zugehörige HMLAN-Gateway für HomeMatic
  • einige selbst entwickelte Sensoren und Aktoren, die ihre Daten und Anfragen über den REST-Service an den RaspberryPi schicken
  • eine Fritzbox 7490
  • und ein NAS ist auch noch da
Die HomeMatic-Devices haben ihr eigenes Protokoll und sind über das HMLAN-Gateway in das System integriert. Sie haben daher keinen direkten Zugang zum Netzwerk. Meine selbst entwickelten Devices nutzen jedoch WLAN, um ihre Daten und Anfragen über den REST-Service an den RaspberryPi zu schicken.
Auf dem Raspi läuft auch noch mySql, in der ich in einer Datenbank alle meine Daten speichere. Diese Daten werden jede Nacht ins NAS übertragen, auf dem ebenfalls eine mySql-Datenbank läuft, soi dass ich dort auch ein Backup habe. Auch alle Log-Files etc. werden ans NAS für Backupzwecke übertragen.

In der Fritzbox habe ich auch das Gast-WLAN aktiviert, das ist aber nur für Gäste da. Meine IoT-Geräte befinden sich im normalen Heimnetzwerk. Die würde ich aber da gerne rausnehmen und entweder ins Gast-WLAN verbannen oder sogar ein eigenes WLAN dafür aufmachen. Die IoT-Geräte brauchen natürlich meine Zugangsdaten für das Heimnetzwerk und das möchte ich in Zukunft anders gestalten, so dass ich auch z. B. das Passwort unabhängig vom Heimnetzwerk ändern kann.

Die IoT-Devices greifen auf das Netzwerk über den REST-Service zu, in der umgekehrten Richtung gibt es keine Kommunikation (bis auf natürlich die Responses des REST-Services). Aber weder der REST-Service noch der Java-Server greifen auf die Sensoren zu.

Das Problem, welches ich bei der Abtrennung sehe: Wenn ich die IoT-Geräte in ein anderes Netz verschiebe, dann kann natürlich der RaspberryPi nicht mehr mit diesen Geräten kommunizieren, also muss der ebenfalls in dieses andere Netz. Wenn der aber da drin ist, dann kann mich nicht mehr remote auf dem RaspberryPi anmelden. Außerdem kann ich dann vom RaspberryPi nicht mehr auf das NAS zugreifen, so dass das ganze Backup-Verfahren nicht mehr funktioniert.

Am liebsten wäre es mir, wenn der Raspi im Heimnetz bleiben könnte und nur die Sensoren in ein separates WLAN wandern würden. Aber wie kann dann die Kommunikation zwischen dem Raspi und den IoT-Devices funktionieren?

Welche Möglichkeiten gibt es hier?


Vielen Dank für eure Meinungen und Ratschläge,

Rudi
 
rz259 schrieb:
  • eine Fritzbox 7490
Meine IoT-Geräte befinden sich im normalen Heimnetzwerk. Die würde ich aber da gerne rausnehmen und entweder ins Gast-WLAN verbannen oder sogar ein eigenes WLAN dafür aufmachen.
Gastnetzwerke sind per Definition vom Hauptnetzwerk getrennt. Es ist keine Kommunikation untereinander erwünscht und wird daher durch die Firewall unterbunden, das ist der Sinn und Zweck eines Gastnetzwerks.

Was du suchst, sind VLANs. Dabei kannst du innerhalb deiner Infrastruktur mehrere virtuelle Netzwerke erstellen, mit eigenem Subnetz, eigenem WLAN, etc. Oben drüber sitzt dann ein Router, der diese Netzwerke miteinander verbindet, Zugriffe reglementiert oder ggfs komplett isoliert.

Lass dir aber eines gesagt sein: IoT-Devices sind denkbar schlecht für VLANs bzw. Multi-Subnetz-Szenarien gerüstet. Viele Apps suchen ihre Geräte via Broadcasts, die nicht in andere Subnetze geroutet werden. Bei einigen kann man manuelle Verbindungen via IP erstellen - beispielsweise die Anbindung einer Hue-Bridge via Eingabe der IP-Adresse in der Philips Hue App - aber das ist bei weitem nicht Standard.

Sofern bei dir die Kommunikation ausschließlich IP-basiert (Hostnamen optional) abläuft, also zB Zugriff auf einen SQL-Server, o.ä., ist es nur eine Frage des Routings und der Firewall. Stell dich aber trotzdem auf einige ausgerissene Haarbüschel ein, wenn du anfängst, dein Heimnetzwerk in mehrere VLANs zu unterteilen und mit einem fortgeschrittenen Router (MikroTik, EdgeRouter, etc) oder einer Hardware-Firewall (pfSende, Sophos, etc) die Zugriffsszenarien zu definieren und das Routing bzw. die Firewall zu konfigurieren - insbesondere dann, wenn du keine Erfahrung damit hast wie du ja selbst sagst..
 
@Raijin:
Da ich die Devices ja selbst entwickelt und auch die Software dafür entwickelt habe, kann ich halt auch genau bestimmen, was da abgeht - und einen Broadcast mache ich nicht. Ich greife nur auf den REST-Service zu und da kenne ich die Adresse ja.

Das mit den Haarbüscheln ist bedenklich, das Haar ist schon etwas gelichtet - zuviel darf das nicht werden;-)

Wenn ich dich richtig verstanden habe, dann brauche ich entweder einen Router oder eine Firewall.
Was ist denn aus deiner Sicht die bessere/einfachere Variante? Und kannst du ein konkretes Gerät empfehlen?
Ich wäre dir auch dankbar, wenn du mir Empfehlungen zu einsteigerfreundlichen Tutorials zum Thema VLAN geben könntest.

@synack:
Daran habe ich auch schon gedacht. Leider ist der Raspi etwas vom Router entfernt, so dass die Performance vermutlich nicht so berauschend sein dürfte. Aber es wäre einen Versucht wert.
Gibt es da was Besonderes zu beachten?

Viele Grüße,

Rudi
 
rz259 schrieb:
Da ich die Devices ja selbst entwickelt und auch die Software dafür entwickelt habe, kann ich halt auch genau bestimmen, was da abgeht - und einen Broadcast mache ich nicht.
Das gilt zumindest für den Moment, ja. Behalte das aber dennoch im Hinterkopf, wenn du später vielleicht doch auch andere smart devices einsetzt, die du eben nicht selbst programmiert oder über eine "Broadcast-App" steuern willst.


rz259 schrieb:
Wenn ich dich richtig verstanden habe, dann brauche ich entweder einen Router oder eine Firewall.
Was ist denn aus deiner Sicht die bessere/einfachere Variante? Und kannst du ein konkretes Gerät empfehlen?
Jein. Streng genommen ist ein Router ein Router und eine Firewall eine Firewall. Faktisch sind aber beide in einem Gerät vereint. Die beiden Begriffe verschwimmen daher bzw. definieren sich primär nach der Hauptausrichtung des jeweiligen Geräts, wenn ich das mal so ausdrücken darf.

In Frage kommen im Prinzip alle Router/Firewalls, die mit VLANs umgehen können oder entsprechend viele Hardware-Schnittstellen mitbringen. Einige Beispiele hatte ich bereits genannt. Mit das günstigste wäre beisplesweise ein EdgeRouter-X für knapp 50€ oder ein MikroTik hEX, hAP AC², o.ä. Es kämen auch (WLAN-)Router mit OpenWRT, DD-WRT oder dergleichen in Frage. Etwas anspruchsvoller wird es dann, wenn man sich mit pfSense, Sophos, etc. beschäftigt und dies auf entsprechender Hardware - in der Regel ein irgendwie gearteter Mini-PC mit Celeron CPU oder sowas - installiert. Durch die mehr oder weniger freie Wahl der Hardware ist sowas natürlich deutlich skalierbarer als ein ER-X für 50€. pfSense und Co lassen sich auch als VM auf einem Server installieren, und so weiter und so fort...

Gerade wenn man wenig Erfahrung hat und vielleicht erstmal rumprobieren will, empfiehlt sich entweder die komplett kostenfreie Variante über eine VM oder ein kostengünstiger ER-X für 50€.



rz259 schrieb:
Ich wäre dir auch dankbar, wenn du mir Empfehlungen zu einsteigerfreundlichen Tutorials zum Thema VLAN geben könntest.
In erster Linie wären da zunächst die VLAN-Grundlagen von Thomas Krenn zu nennen. Da bekommt man einen Eindruck davon was VLANs sind und wofür sie eingesetzt werden. Für die Konfiguration von Router/Firewall gibt es kein allgemeingültiges Tutorial, weil das nun mal eine individuelle Konfiguration ist. Bei VLANs wird letztendlich aber auch nicht viel konfiguriert, nur die Zuordnung der Ports am Switch, Trunks, VLAN-IDs. Am Router bzw. der Firewall sind das unterm Strich nur verschiedene Subnetze, deren gegenseitige Zugriffe blockiert bzw. freigegeben werden.
 
Vielen Dank für die Empfehlungen, das werde ich mir mal genauer ansehen! Der EdgeRouter sieht preislich interessant aus, das könnte man schon mal investieren für die Grundlagenforschung;-)

Was ich noch nicht verstanden habe: In den Grundlagen von Thomas Krenn gehen sie von einem Switch aus, bei mir ist es aber so, dass die IoT-Geräte ja gar nicht an einem Kabel hängen, sondern per WLAN reinkommen. Wie wird denn das geregelt? Kann man das dann im EdgeRouter einstellen?

Aktuell ist es bei mir so, dass an der Fritzbox nur 2 Ports belegt sind, der Port 1 geht an einen Switch, an dem viele Geräte sowie Kabel zu weiteren Switches dranhängen. An Port 3 hängt das HMLAN-Gateway.
Die IoT-Geräte kommen dann übers WLAN (aktuell Heimnetz, zukünftig vielleicht dann Gastnetz)

Wie müsste denn der EdgeRouter denn da angeschlossen werden? Kommt der dann an einen Port der Fritzbox? Und daran dann die beiden Kabel, die aktuell an der Fritzbox an Port1 und Port 3 hängen, so dass in einem gemeinsamen VLAN sind?

Fragen über Fragen;-)

Vielen Dank für deine Hilfe und Geduld!
 
rz259 schrieb:
In den Grundlagen von Thomas Krenn gehen sie von einem Switch aus, bei mir ist es aber so, dass die IoT-Geräte ja gar nicht an einem Kabel hängen, sondern per WLAN reinkommen. Wie wird denn das geregelt? Kann man das dann im EdgeRouter einstellen?
VLANs müssen von der Infrastruktur unterstützt werden. Die beteiligten Switches und Access Points müssen 802.3Q beherrschen. Im Zweifelsfalle bedeutet das eben auch, dass Switches und Access Points ausgetauscht werden bzw. letztere überhaupt erst angeschafft werden müssen, wenn bis dato das Router-WLAN genutzt wurde.


rz259 schrieb:
Aktuell ist es bei mir so, dass an der Fritzbox nur 2 Ports belegt sind, der Port 1 geht an einen Switch, an dem viele Geräte sowie Kabel zu weiteren Switches dranhängen. An Port 3 hängt das HMLAN-Gateway.
Die IoT-Geräte kommen dann übers WLAN (aktuell Heimnetz, zukünftig vielleicht dann Gastnetz)
Mit einer Fritzbox kommt man bei VLANs nicht weit. Das einzige was man tun kann, ist LAN4 als Gast definieren und hinter der Fritzbox einen VLAN-fähigen Switch mit zwei Uplinks von der Fritzbox zu verbinden, ein Uplink von LAN1-3 für das Haupt- und ein Uplink von LAN4 für das Gastnetz. Das Gastnetz kommt hier aber aus oben genannten Gründen sowieso nicht in Frage, weil es per Definition und nicht konfigurierbar vom Hauptnetz getrennt ist. Eine Fritzbox ist am Ende eben doch nur ein dummer 08/15 Consumer-Router, der zu 99% fest vorkonfiguriert ist damit Otto Normal nix kaputtbasteln kann.



rz259 schrieb:
Wie müsste denn der EdgeRouter denn da angeschlossen werden? Kommt der dann an einen Port der Fritzbox? Und daran dann die beiden Kabel, die aktuell an der Fritzbox an Port1 und Port 3 hängen, so dass in einem gemeinsamen VLAN sind?
Der Teufel steckt im Detail. Es gibt verschiedene Szenarien wie sowas angeschlossen und konfiguriert werden kann. Vor allem muss vorher definiert werden was denn überhaupt das Ziel sein soll. Sicherheit? Übersichtlichkeit?
Deinen Fragen nach zu urteilen möchte ich fast behaupten, dass das Risiko für Schädigungen des Haupthaars nicht unterschätzt werden darf. Unter Umständen bist du mit einer Routerkaskade besser beraten, weil sich diese die Standardkonfiguration von 08/15 Routern zu Nutze macht und keine nennenswerten Einstellungen seitens des Anwenders benötigt.

www
|
Internetrouter
(LAN+WLAN)
|
| geteiltes Netzwerk (=DMZ)
|
+-(LAN1)--- (WAN) Router#1 (LAN+WLAN) ---- Netzwerk#1 (zB Hauptnetz)
|
+-(LAN2)--- (WAN) Router#2 (LAN+WLAN) ---- Netzwerk#2 (zB IoT-Netz)

Nun kann man anhand von Portweiterleitungen in den Routern #1 und #2 definieren, welche Zugriffe von außen (nicht zwingend Internet-außen, sondern einfach nur von den anderen Netzwerkteilen außen) möglich sind oder welche nicht. In "light" kann man auch Router#2 weglassen und stattdessen das Netz am Internetrouter für IoT nutzen.


Ich denke es wird deutlich wie verzwickt das werden kann, wenn man keine Erfahrung mit solchen Dingen hat.


Der Vorschlag von @synack geht in diese Richtung, wobei der PI dann mehr oder weniger als einer der Router fungiert. Dementsprechend muss man im PI dann auch dafür sorgen, dass unerwünschte gegenseitige Zugriffe entsprechend blockiert werden.
 
  • Gefällt mir
Reaktionen: rz259 und snaxilian
Vielen Dank für die ausführliche Antwort - als Netzwerk-Dummy sieht man da erst mal den Wald vor lauter Bäumen bzw. die möglichen Probleme und Lösungsvarianten überhaupt nicht.
Aufgrund der von dir geschilderten Komplexität und zur Vermeidung von Haupthaarschädigungen werde ich mich erst mal mit Routerkaskaden beschäftigen, das scheint mir der einfachere und für mich handhabbarere Weg zu sein.

Vielen Dank nochmal!!!
 
Ich habe jetzt gerade softwaretechnisch einen Hänger... ich habe mal versucht, meinen RPI in das Gäste-WLAN zu nehmen. Das hat beim Raspi sofort geklappt und bei den Sensoren nach anfänglichen Schwierigkeiten auch (der Name meines Gäste-WLAN enthielt ein Leerzeichen und damit kommen die Sensoren nicht zurecht.
Ich habe dann das Leerzeichen entfernt und dann hat der Connect von den Sensoren in das Gäste-WLAN auch geklappt.

Aber - und da kommt jetzt mein Hänger - ich konnte mich nicht zu dem Server verbinden, es kam ein SSL-Fehler zurück. Ich würde das mal so interpretieren, dass er ein Problem mit dem Zertifikat hat.
Aber sollte das nicht eigentlich egal sein? Das Zertifikat enthält ja den Servernamen, aber der ist doch vom WLAN unabhängig - oder bin ich da gerade falsch unterwegs?

Ich habe festgestellt, dass vorher auch schon der Raspi im WLAN war, nur eben halt in meinem Heimnetzwerk. Als ich das WLAN wieder vom Gäste-Netz auf mein Heimnetz zurückgestellt habe, hat es auch sofort wieder funktioniert und ich konnte wieder auf meine Services zugreifen.

Was kann das sein?
 
Raijin schrieb:
Mit einer Fritzbox kommt man bei VLANs nicht weit. Das einzige was man tun kann, ist LAN4 als Gast definieren und hinter der Fritzbox einen VLAN-fähigen Switch mit zwei Uplinks von der Fritzbox zu verbinden, ein Uplink von LAN1-3 für das Haupt- und ein Uplink von LAN4 für das Gastnetz. Das Gastnetz kommt hier aber aus oben genannten Gründen sowieso nicht in Frage, weil es per Definition und nicht konfigurierbar vom Hauptnetz getrennt ist. Eine Fritzbox ist am Ende eben doch nur ein dummer 08/15 Consumer-Router, der zu 99% fest vorkonfiguriert ist damit Otto Normal nix kaputtbasteln kann.

Verstehe den Satz ehrlich gesagt nicht.
Hab das ganze auch über das Gast Netz der FB geregelt bzw. über Lan 4 da Wlan über richtige APs kommt:

Switch(e) verteilen die VLANs:
FB Lan 1 in VLAN 1
FB Lan 4 in Vlan 2

APs mit 3 SSIDs:

Main (Vlan 1)
Guest (Vlan 2)
IoT (Vlan 2)

IoT könnte man sich sparen als weitere SSID, ich wollte es aber getrennt falls mal ein PW wechsel ansteht.

Raspberry hängt per einem Kabel in beiden Vlans (gibt da diverse Anleitungen). Nimmt im IoT Netz die Daten auf bzw. schickt etwas rein und ist aus dem Hauptnetz erreichbar für Admin und GUI (bei uns IOBroker).

Einfacher als eine Routerkaskade, mit Double NAT kann man sich ganz andere Probleme ins Haus holen und die FB ist gerade mit Kindern im Haus eine wirklich gute Lösung (Profile, Zeitslots, White/Blacklist, etwas Jugendschutz). Falls es hier eine andere Lösung gibt die das anbietet wechsele ich die FB direkt aus, vor allem das relativ träge Webinterface und nicht vorhandener Zugang per ssh nervt mich.


Edit: Wie sieht den der SSL Fehler aus? Ist das evtl. an die IP gebunden per self-sign oder hast du dir etwas von Let´s Encrypt geholt?
 
Das NAS soll aber sowohl im Haupt- als auch im IoT-Netz verfügbar sein. Wenn man das Gastnetz der Fritzbox als IoT-Netz nutzt, geht nur entweder NAS@Gast oder NAS@Haupt, aber nicht beides.

nemix schrieb:
Raspberry hängt per einem Kabel in beiden Vlans
Damit hebelt man den Schutzmechanismus der Gastfunktion aus, weil ein zweiter Übergang zwischen den Netzwerken besteht. Der Sinn und Zweck eines Gastnetzwerks ist die Isolierung vom Hauptnetz. Dann kann man den ganzen Gast-Kram auch gleich sein lassen und den PI wie oben bereits angedeutet wurde als AP oder ggfs als quasi-WLAN-Router einsetzen.

nemix schrieb:
mit Double NAT kann man sich ganz andere Probleme ins Haus holen
Die da wären? DoubleNAT ist bei weitem nicht so ein Problem wie überall propagiert wird. Für die Nutzung des Internets ist das vollkommen Banane. Bei eingehenden Verbindungen, die in eines der internen Subnetze gehen sollen, muss man eben 2x Portweiterleitungen anlegen, dauert ca. 30 Sekunden. Ganz abgesehen davon, dass in einem Szenario mit DIY-DMZ ja das Netz direkt am Internetrouter als DMZ fungiert und dort der Platz für alle Server ist, also kommt man doch wieder mit einer einzelnen Portweiterleitung aus. So ein Setup ist gar nicht so unüblich und kann beispielsweise auch bei Szenarien mit einem Büro daheim oder beim Teilen einer Internetverbindung mit Nachbarn genutzt werden.



Es ist alles eine Frage des Ziels. Wenn Sicherheit nicht das Ziel ist und man seine Geräte lediglich aus rein menschlichen Gründen, die für Computer, Router, Netzwerk, etc. irrelevant sind, sortieren will, kann man gerne mehrere SSIDs in ein und demselben Netzwerk anlegen. Dafür braucht man dann aber keine VLANs und auch keine Gastfunktion mit Hintertürshortcut über ein zweites Gateway (=PI) sondern kann sich einfach einen 08/15 WLAN-Router für 15€ als AP mit eigener SSID+PW ins Netzwerk hängen oder den PI direkt als solchen konfigurieren. Und das dann nur damit man mal das WLAN-Passwort ändern kann? Joa, kann man machen oder auch sein lassen ;)
 
Zuletzt bearbeitet:
Das Raspberry soll ja nicht routen oder irgendwas durchleiten, sondern einfach in beiden Netzen stehen. Ja das weicht die Isolierung auf, in einem Heimnetz aber kein großer Beinbruch (und in Firmennetzen habe ich wesentlich schlimmere Konstrukte gesehen...).
Das NAS wäre dann doch per Lan erreichbar und Backups können dorthin.
 
@nemix:
nemix schrieb:
Edit: Wie sieht den der SSL Fehler aus? Ist das evtl. an die IP gebunden per self-sign oder hast du dir etwas von Let´s Encrypt geholt?

Ja, das ist ein selbstsigniertes Zertifikat. Ich habe mir dazu eine ROOTCA sowie eine Intermediate CA erstellt, die dann das besagte Zertifikat ausgestellt hat. Das Zertifikat ist eigentlich nicht an eine IP gebunden, sondern an den Common Name, außerdem habe ich noch weitere Einträge über SAN (Subject Alternative Names) für einige Domain-Namen hinzugefügt.
Wie gesagt, das funktioniert mit dem Heimnetz ohne Probleme, warum es im Gastnetz nicht funktioniert, verstehe ich nicht.
Leider ist die Fehlermeldung nicht aussagekräftig, da kommt nur sowas wie "SSL-Fehler" (oder so ähnlich hilfreich) zurück.
 
nemix schrieb:
Das Raspberry soll ja nicht routen oder irgendwas durchleiten, sondern einfach in beiden Netzen stehen.
Soll nicht, aber tut er auch nicht? Kommt auf die Konfiguration an.

Wie auch immer, ich halte von solchen Krücken nichts. Wenn man aus Gründen der Sicherheit das Netzwerk teilen will, dann ist Sicherheit auch das Ziel. Möchte man nur "sortieren", ist der Aufwand weitestgehend sinnfrei.
 
Zurück
Oben