☁️ Das Große Finale:

Geplantes Projekt: Bereitstellung der Infrastruktur, der Dienste, Backup-Strategie und Monitoring.

← Zurück zur Projektübersicht

1. Vorbereitung und Übungsphase

Bevor ich mit der finalen Umsetzung begann, habe ich im Vorfeld umfangreiche Tests und Learnings durchgeführt, um Bedienung und Struktur zu erlernen und ein Gefühl dafür zu bekommen, womit ich am besten klarkomme.

Test-Übersicht

Test-Fazit

-OPNsense gecheckt, bin sehr zufrieden

-Nginx kommt in eine VM Baremetal

-VLAN Logik Verständnis gecheckt

Monitoring:

-LPG-Stack: gut geeignet, alles umsetzbar, relativ ressourcensparend, sehr steile Lernkurve, aufwendige Fehlersuche, sehr zeitintensiv

-ELK-Stack: weniger gut geeignet, konnte nicht alles umsetzen, sehr ressourcenintensiv, sehr steile Lernkurve, aufwendige Fehlersuche, sehr zeitintensiv

-Checkmk: gut geeignet, alles umsetzbar, relativ ressourcensparend, kleine Lernkurve, gute Fehlersuche, normal zeitintensiv

-Zabbix: sehr gut geeignet, alles umsetzbar, sehr ressourcensparend, anfänglich hohe Lernkurve, sehr gute Fehlersuche, normal zeitintensiv

Kriterium LPG-Stack ELK-Stack Checkmk Zabbix
Ressourcen Normal Sehr hoch Sparsam Sehr sparsam
Lernkurve Sehr steil Sehr steil Normal Anfänglich hoch
Fehlersuche Aufwendig Aufwendig Gut Sehr gut
Eignung Gut Wenig Gut ** Testsieger **

Ich habe mein Monitoring mit Zabbix implentiert und bin sehr zufrieden. Besonders gut finde ich das Pull, Push und Proxy Prinzip. Damit kann mein Zabbix-Server Pulls Stateful von meinen DMZ-Servern abfragen und ich muss keine Löcher in die DMZ bohren oder einen Umweg über einen Proxy gehen. Hervorragend!

2. Umsetzung Layer 1

Es erfolgt die Verkabelung von Fritzbox, OPNsense, Switch, PVE´s, PBS, NAS und Workstation. Ich habe eine Routerkaskade und 2-stufige Firewall. Die Fritzbox dient nur noch als DSL-Modem, erste Firewall und kleines isoliertes WLAN für die recovery WLAN Steckdosen. Im Prinzip könnte ich die DMZ dazwischen hängen, leider verliere ich dann die Sichtbarkeit meiner DMZ-Server und die Überwachung durch OPNsense. Dazu fehlt mir einfach eine 2. Potente OPNsense vor der DMZ. Aber so ist auch nicht schlecht, die Fritzbox blockt schon den ersten Müll und den Rest die OPNsense.

Ich habe alles in diesem nach hinten offenen Schränkchen untergebracht. Leider passte das NAS nicht mit rein, da es 2cm zu tief ist.

Es ist mir glaub ich ganz gut gelungen, und es wäre noch ein bisschen Platz für 1-2 Geschwisterchen.

3. Bereitstellung der OPNsense, PVE VM & LXC Dienste, PBS

OPNsense konfiguriert, VLANs eingerichtet, FW Rules eingerichtet, Plugins eingerichtet.

Ich habe die anfängliche Planung nochmal verändert und den DMZ PVE Server umgezogen vom S920 auf den S930, da dieser weitaus performanter ist für den Betrieb der VMs.

Etablierte Dienste:

  • -PVE S740 LXC/VM Bereitstellung.
  • -DNS-Filter Adguard home LXC im /30 VLAN.
  • -Proxmox Mail Gateway LXC im /30 VLAN.
  • -Lokaler Mail Server LXC mit Postfix/Dovecot/Mailrise VLAN.
  • -Fritzbox-Datensammler LXC mit Docker und Skript zur Abfrage der Fritzbox und Übergabe an Zabbix, VLAN.
  • -Zabbix-Server LXC Monitoring VLAN.
  • -Omada Software Controller LXC mit Controller für WLAN-AP WPA3-Enterprise Management /29 VLAN.
  • -Gitea Repo Server LXC mit Gitea für diverse Repos OPNsense, Ansible, AWX etc VLAN.
  • -Ansible-cli LXC mit Ansible VLAN.
  • -AWX K3S VM mit K3S und AWX VLAN.
  • -Iventoy LXC mit Iventoy für Bootimage Bereitstellung VLAN.
  • -Diverse Temporäre LXCs/VMs
  • -PVE S930 LXC/VM Bereitstellung.
  • -Nginx Webserver VM im DMZ /30 VLAN.
  • -Caddy Reverse Proxy VM in DMZ mit Reverse Proxy für Webserver und Letsencrypt Zertifikat Erneuerung /30 VLAN .

4. Testphase und Optimierung

Übersicht

  • -Nach und nach habe ich auf der OPNsense, dem Switch und den Endpoints alles komplett auf VLAN konfiguriert.
  • -Diverse Firewalls konfigriert.
  • -VPN habe ich mit Wireguard bereitgestellt.
  • -DNS läuft intern komplett über ADguard home, extern verschlüsselt über TLS. Alle Wege vorbei an Adguard sind blockiert.
  • -IPv6 ist komplett deaktiviert.
  • -Suricata und Regelwerke konfiguriert.
  • -Adguard und Regelwerke konfigriert.
  • -Omada Controller, AP und FreeRADIUS konfigruriert.
  • -Backup-Server und Jobs konfiguriert.
  • -Alle Wired Clients für statisches IPv4, DHCPv4 für WLAN konfigriert.
  • -Gitea Server für Repos konfigriert.
  • -Caddy und Nginx konfiguriert.
  • -Iventoy konfigriert.
  • -PVEs konfiguriert.
  • -Ansible konfiguriert.
  • -AWX K3s konfigriert.
  • -Zabbix-Server und Agents konfigriert, jeder Host mit PSK.
  • -Mailserver, Mailrise und Mailgateway konfigriert.
  • -Diverse Skripte und Cronjobs konfigriert.
  • -Parallel die schriftliche Dokumentation meines Inventars erstellt.

5. Monitoring, Mailing & Alerting

Aufgrund der guten Erfahrungen und Einfachheit hab ich mich für das Monitoring mit Zabbix entschieden, welches meine gesamte Infrastruktur abdeckt. Teilweise benutze ich auch Netdata für Opnsense und ProxMenux für die PVEs.

Als lokales Mailsystem betreibe ich ein zentrales Mailgateway mit Proxmox Mail Gateway für den internen und externen Transport, einen lokalen Mailserver mit Postfix, Dovecot und Mailrise. Auf dem lokalen Mailserver landen alle Mails die über das Gateway laufen als BCC in einem zentralen Postfix Mailarchiv. Dovecot stellt diese lokal über IMAP bereit. Die Orginal Mails und Non-Domain Mails gehen an meinen externen Smarthost Relay Domain-Mailserver.

Für besondere Alerts habe ich zusätzlich noch Pushs aufs Admin-Handy über Mailrise mit ntfy konfiguriert. Diese kommen auch über BCCs vom Gateway bei Mailrise an.

6. Backup-Strategie

Proxmox Backupserver auf dem Futro S920

Für das Data Storage habe ich eine 1 TB 2.5" SATA HDD auf der linken Seite in den freien Bereich, wo der kleine Lautsprecher montiert war, zwischen Board und Gehäuse eingebaut. Das passte gerade so eine 2.5" rein. Die Halterung musste ich etwas mit Kabelbindern improvisieren. Angeschlossen mit SATA Kabel mit 90° abgewinkeltem Stecker, da der Port genau unter dem CPU-Kühlerblock sitzt. Ansonsten werkeln 2 Kerne, 8 GB DDR3 und eine 128 GB MSATA in dem PBS.

Der PBS läuft aus Energiespar- und Verschleißgründen nicht rund um die Uhr, sondern nur wenn er gebraucht wird. Dazu habe ich ein großzügiges Zeitfenster von 3h berechnet. Während diese Zeitfensters werden alle Backup-Jobs durchgeführt. Der PBS wird über BIOS Wakeup täglich hochgefahren. Am Ende des Zeitfensters prüft ein Skript, ob wirklich keine Jobs mehr laufen, und der PBS wird heruntergefahren.

Da mir das BIOS Wakup gefrickele aus den 2000er Jahren an meinem VDR noch übel aufstößt, habe ich sicherheitshalber noch ein WakeonLan Skript für den PBS auf einem 24/7 Server laufen.

Ich habe dann alle Backup- und Cronjobs an diese Zeitfenster angepasst.

Jobs

  • -Tägliche Sicherung aller VMs und LXCs.
  • -Tägliche Sicherung von Konfigurationsdateien.
  • -Wöchentliche Verification.
  • -Monatliche Sicherung mit rsync ins NAS.
  • -Monatliche Sicherung mit rsync auf USB-HDD Offline Backup.
  • -Kontinuierliche Sicherung von wichtigen Logs mit rsyslog.

Das läuft alles automatisch, das einzige was ich tun muss ist 1x im Monat die USB-HDD anstöpseln

7. Fazit und Review

Motivation

Als angehender Fachinformatiker wollte ich unbedingt parallel zum theoretischen Unterricht Dinge in die Praxis umsetzen, Erfahrungen sammeln und dabei auch noch einen absoluten Mehrwert für mich schaffen. Die Recherche im Vorfeld, die Planung und dann die finale Umsetzung hat mir unwahrscheinlich viel Spaß gemacht.

Zielsetzung

  • -Möglichst geringe Kosten.
  • -Minimaler Stromverbrauch.
  • -Minimaler Geräuschpegel, Wohnzimmer tauglich.
  • -Minimaler Platzbedarf.
  • -Umstellung meines Heimnetzes auf ein professionelles Setup mit maximaler Sicherheit.
  • -Sichtbarkeit im Netzwerk, Monitoring bereitstellen.
  • -Backup-Strategie entwickeln und umsetzen.

Ich wollte nach diesen Aspekten ein professionelles Homelab schaffen, und habe mittlerweile weit mehr erreicht. DNS Filter, DNS over TLS, VPN, VLAN, Segmentierung, WLAN WPA Enterprise, Monitoring, Mail, eigene Domain, selbstgehostete Webseite, Backup-System, einen Ort für weitere Projekte.

Ich habe schlussendlich auch eine Verbrauchsmessung durchgeführt. Ohne die Fritzbox und ohne NAS komme ich auf einen durchnittlichen Verbrauch von 35 Watt. Damit bin ich sehr zufrieden und es übertrifft sogar meine Erwartungen. Was auch die Kosten für die Anschaffung einer USV massiv senken würde.