Wenn's läuft, dann läuft's!steemCreated with Sketch.

in Deutsch Unplugged6 days ago

Herzliches Hallo zusammen,

wie einige vielleicht mitbekommen haben, bin ich wieder dabei mein Heimnetz mit dem ursprünglichen Plan aufzubauen!

Lange ist es her, dass dieser Plan erstellt wurde. Ich war irgendwann total frustriert, weil ich mich immer wieder ausgesperrt habe. Sprich SD Karte raus, neu flashen, alles wieder von vorne aufsetzen... (Tja, kommt davon, wenn man nicht regelmäßig ein Backup des Status Quo macht^^).

Dabei erschien mir irgendwann mal am Abend im Bett die Erleuchtung, dass ich mich ständig aussperrte, weil die Firewall-Härtunf einfach viel zu früh im Plan stand. Der SSH-Port wurde somit geschlossen und das wars dann! Leider kam diese etwas zu spät, da der Frust schon zu groß war, um es nochmals zu versuchen...

Bis letzten Sonntag dann! Ich war alleine und irgendwie hatte ich das Gefühl: Jetzt ist der richtige Zeitpunkt, dieses Thema nochmals Strukturiert anzugehen!

Somit teilte ich meinen damaligen Plan mit ChatGPT und schrieb mit ihm darüber und ich muss sagen, es begleitet mich richtig gut durch das ganze Projekt! Leider habe ich ChatGPT falsch verwendet und direkt in einem Chat gestartet, wodurch der Chat ganz schön aufgebläht wurde und jetzt, zumindest am Smartphone, richtig träge wurde. Die Teilchats habe ich erst später genutzt um Zwischenfragen zu stellen, oder Ideen zu sammeln.

Aber das Projekt lässt sich echt sehen! Ich würde sagen, nach heute Abend werde ich das Projekt mit 50% abgeschlossen haben! Danach fehlt noch das Management (schätze ich auf ~40%) und der Minecraft Server (ca. 10%).

Was wurde umgesetzt?

  1. Infrastruktur:
    Das Raspberry Pi mit OpenWRT wurde aufgesetzt und eingerichtet, wobei es laufend neue Einrichtungen gibt und geben wird, bis das Projekt nicht zu 100% abgeschlossen ist. Zudem wurden die Managed Switches korrekt konfiguriert, sodass das richtige Endgerät im richtigen VLAN sitzt. Zuletzt wurde noch der AccessPoint in meinem Zimmer eingerichtet (ok, das IoT-VLAN müsste ich noch testen, aber sollte an sich gleich funktionieren, wie der Rest).
  2. Die ersten Dienste anschließen:
  • Pi-Hole wurde neu aufgesetzt und viel besser eingerichtet als beim ersten Mal! Es vesorgt jetzt die gesamte Infrastruktur, die sich hinter dem OpenWRT Router befindet mit ohne Werbung ;)
  • Mein NAS wurde ebenso angeschlossen und es tat so gut, dass ich nur eine IP ändern musste und es funktionierte wie vorher! Des weiteren wurden dort noch ein Passwortmanager und Nextcloud in Docker installiert, sowie die ursprüngliche Plex-Installation (Medienserver) in Docker verschoben
  • Ein VPN für das Smartphone ins "Home"-VLAN, damit ich von unterwegs z.B. auf mein NAS zugreifen kann.
  • Remote-Desktop: Mein Remote-Desktop, mein sogenanntes "Homeoffice" wurde neu aufgesetzt und eingerichtet. Es fehlt noch das Skript zum Ändern der Bildschirmauflösung, dass ich vom Desktop aus den großen Bildschirm habe und vom Smartphone aus einen ans Smartphone angepassten. Dazu später mehr.
  • Tor: Ein Raspberry Pi dient dazu, den gesamten Traffic über das Tor-Netzwerk zu leiten, für mehr Privatsphäre. Dabei wird nicht der Traffic des gesamten Netzwerkes durchgeleitet, sondern nur der des angeschlossenen Gerätes (damit meine ich meinen PC), sofern gewünscht. Ich kann ganz einfach auf dem PC die Schnittstelle switchen, vom normalen VLAN ins "Tor"-VLAN und wieder zurück. Dies wird heute Abend noch fertiggestellt; somit wären wir dann bei etwa 50% fertig!

Was dann noch fehlt ist der Minecraft-Server auf einem Raspberry Pi und das Herzstück des gesamten Plans: Das Management-Pi, die Schaltzentrale! Der wird aufwendig einzurichten, da das gesamte Dashboard gemacht werden muss.

Für heute habe ich mir vorgenommen, den Tor-Pi fertig zu machen und mit dem Management-Pi zu beginnen. Was heißt beginnen? Erster Boot, das RPi konfigurieren, nicht benötigte Software deinstallieren und bereits den ersten Versuch starten: Da ich mittlerweile 4 RPi's im Heimnetz habe (und neben dem Management-Pi noch ein weiteres dazukommen wird) ist es aufwendig diese alle einzeln manuell anzupassen. Daher würde ich ein Skript erstellen, das diese für mich einrichtet: Zu erst wird für jedes Pi ein Profil erstellt. Dann die jeweiligen Anforderungen/Einrichtungen. Hinzu kommen die jeweiligen, einzelnen Befehle. Zuletzt gibt es dann ein Skript, das Pi für Pi durchgeht: Welches Pi ist das? Schaut sich das Profil des Pi's an, welche Anforderungen es hat und geht dann die Befehle einzeln durch. z.B. sind die Service LED's des Pi's eingeschalten? Ja?->Ausschalten | Nein?->weiter zum nächsten Befehl. Zu erst würde ich das mal für die ganzen Energieeinstellungen machen. Jenachdem wieviel Zeit dann noch bleibt, würde ich mit dem Hardening (Absichern) und weiteren Funktionen abschließen. z.B. überall SSH korrekt absichern, oder Log2RAM installieren und einrichten usw.

Das bietet zum Einen ein kleines Erfolgserlebnis, wenn das Skript dann funktioniert, zum Anderen sind die Pi's schon am laufen, somit verbrauchen sie anschließen weniger Energie. Zudem muss ich mir dann keine Sorgen machen bezüglich Sicherheit, da das auch schon (zumindest größtenteils) abgeschlossen ist. Und das schöne? Fällt mir später auf, da braucht es noch was, füge ich es einfach in den Anforderungen und Profilen hinzu, erstelle den Befehl und kann das Skript nochmals drüberlaufen lassen. Dann schaut es: LEDs sind bereits ausgeschaltet, SSH ist bereits eingerichtet usw., es fehlt nur die neue Funktion, dann wird diese ausgeführt.

Zum Herzstück des Projekts: Das wird wirklich aufwendig, aber wenn es mal steht, ist es dafür umso geiler! Standardmäßig wird da nur ein Dashboard auf dem Display angezeigt, mit Status zu den einzelen Pi's, zum Netzwerk, usw. Man kann hin und her swipen, z.B. Status Pi, swipe, Status Netzwerk, swipe, ... Steckt man allerdings den korrekten USB-Stick an das Raspberry an, wird das Adminpanel freigeschalten. Dadurch kann ich für jedes Pi ein Backup machen, Updates durchführen, usw. Es wird bei dem Dashboard gezielt darum gehen soviele wichtige Informationen wie möglich beim erstem Blick drauf anzugeben, mit so wenig Informationne wie möglich. Praktisch der Hintergrund ändert seine Farbe: Standardmäßig Grün->alles Ok. Tippe ich aber das Display an und sehe den Hintergrund Orange, weiß ich sofort, dass etwas nicht stimmt!

Zugegeben, dass etwas nicht stimmt, sollte ich bereits vorher wissen, denn: Das Netzwerk wird KI überwacht! Eine lokale KI überwacht auffälliges Verhalten im Netzwerk, stuft das nach festen Regeln ein und sendet mir dann per Telegram eine Nachricht: Achtung: NAS lädt große Datenmengen ins Internet hoch! Über diesen Telegram-Bot kann ich dann einen Befehl zurücksenden, z.B. NAS vom Internet trennen. Verbindung wird gekappt, NAS kann nichts mehr hochladen, ist aber auch für mich nicht mehr erreichbar, bis ich dann zu Hause bin, den USB einstecke und die Verbindung vom NAS wieder aktiviere. Was dieser Telegram-Bot noch kann ist z.B. Status->Minecraft-Server als Befehl schicken, zurück kommt dann eine Nachricht mit wieviele Spieler online sind, wie ausgelastet das Pi ist usw. Eine weiter Funktion, die ich als Ausnahme nur in Telegram einbauen werde ist das Ändern der Bildschirmauflösung für mein "Hoemoffice": Einfach das Homeoffice wählen und dann Desktop oder Smartphone auswählen und es wird mir umgestellt.

So im wesentlichen sind das die letzten Schritte, die mir noch fehlen. Also ihr seht, das Dashboard wird wirklich noch aufwändig. Aber wie gesagt, umso cooler am Ende ;)

Was mir besonders gefällt aktuell ist, wie einfach alles läuft! Ich stoße selten auf Fehler und wenn, dann werden die sofort gelöst. Und das Beste: Ich habe mich noch kein einziges Mal ausgesperrt bis jetzt ;)

Beste Grüße
@dissi