Rebel Home Base: Status Quo

Die lebende Dokumentation meiner souveränen Linux-Infrastruktur. Ein Deep-Dive in Hardware, Netzwerk-Topologie, High-Availability DNS/NTP Cluster und die Philosophie dahinter.

Rebel Home Base: Status Quo

Hier seht ihr als Ergänzung die technischen Eckdaten meines kleinen Homelabs. Diese Seite aktualisiere ich regelmäßig und bringe sie auf den aktuellen Stand. Den Weg dahin findet ihr wie gehabt in den üblichen Blog-Artikeln unter https://www.pandolin.io/tag/rebelhomebase/ beschrieben.

Vision: Eine vollständig souveräne, auf Linux basierende IT-Infrastruktur. „Linux Only“, keine Cloud-Abhängigkeiten für Core-Services, echte Hochverfügbarkeit (HA). Verzicht auf nicht souveräne Hyperscaler-Dienste.


1. Architektur & Philosophie

  • Kern-Philosophie: Unabhängigkeit von Hyperscalern (Microsoft/Google/AWS) für Basisdienste soweit möglich.
  • Netzwerk-Strategie: Physische Trennung von Control-Plane (DNS/NTP) und Application-Plane (Kubernetes Apps).
  • Namenskonvention: Split-Horizon DNS. Die Domain pandolin.online wird intern und extern genutzt, um Zertifikatsmanagement (Let's Encrypt) und Routing zu vereinfachen.

2. Netzwerk-Topologie

2.1 Adressierung (IPAM)

Subnetz: 192.168.1.0/24 | Gateway: 192.168.1.1 (UDW)

IPHostnameGerät/RolleBemerkung
.1gatewayUnifi Dream WallRouter & DHCP Server
.3dns1Blade 01 (CM4)Master DNS/NTP
.4dns2Blade 02 (CM4)Backup DNS/NTP
.5v-dnsCluster VIPVirtuelle IP via Keepalived
.6switch-coreUSW Pro XG 810 GbE Backbone

2.2 Client-Konfiguration

Der DHCP-Server (UDW) verteilt ausschließlich die VIP .5 als DNS-Server.

  • Vorteil: Clients merken nicht, wenn ein Node gewartet wird.
  • Ziel: "Echte" Redundanz statt nur "zwei Server im DHCP" (was oft zu Timeouts führt).

3. Server Hardware

3.1 Infrastruktur-Cluster (The "Brain")

Für die kritischen Basisdienste (DNS, NTP) werden dedizierte, energiesparende Ressourcen genutzt, getrennt vom späteren Applikations-Cluster.

  • Hardware: 2x Raspberry Pi Compute Module 4 (CM4) auf Compute Blades.
  • Specs: 8 GB RAM, NVMe Storage.
  • OS: Ubuntu Server 24.04 LTS.
  • Rolle:
    • Blade 01 (dns1): Primary Pi-hole + Unbound + Chrony.
    • Blade 02 (dns2): Secondary Pi-hole + Unbound + Chrony.
Die Rebel HomeBase - im aktuellen Ausbaustand mit nur 2 redundanten HA Blades (DNS/PiHole/NTP).

3.2 Application Server & Storage

  • Virtualisierung: Minisforum N5 Pro (Ryzen AI 9, 96GB RAM) mit Proxmox/ZFS.
  • Storage/Backup: Unifi UNAS2 (2x12TB RAID1 (nur eine Platte gerade vorhanden).
  • Kubernetes (Geplant): Weitere Blades (CM5) für Apps wie Matrix, Nextcloud.

4. Clients & Workstations

Die Endgeräte der Nutzer.

  • Workstation (Desktop):
    • CPU/GPU: AMD Ryzen 9 9950X3D / Radeon RX 9070 XT.
    • OS: Dual Boot (Kubuntu 25.10 / Windows 11 Pro (wegen Fusion 360)).
    • Ziel: Windows asap entfernen.
  • Mobile Workstation:
    • Modell: HP zBook G1a.
    • Specs: Ryzen AI Max+ 395, 128GB RAM.
    • OS: Kubuntu 25.10.
  • MacBook Pro:
    • Modell: 16 Zoll M4 (macOS).
    • Überlegung: Ersatz durch Framework 13 oder Framework 16.
  • Lenovo Laptop
    • Modell T14s Snapdragon, Windows 11 (leider nicht diskutabel/Arbeitgeber)
  • Mobile:
    • Google Pixel 10 Pro XL (Android).
    • Google Pixel 9 Pro XL (Testgerät für GrapheneOS).
    • iPhone 15 (leider nicht diskutabel/Arbeitgeber)
    • iPad Pro 13 (auf der Suche nach einer Alternative)
  • Peripherie:
    • Dell U4021QW (5K2K Monitor).

5. Implementation Guide: High-Availability DNS & NTP Stack

Dies ist der technische Kern der „Rebel Homebase“. Ziel ist eine Ausfallsicherheit, die Enterprise-Niveau erreicht.

5.1 Der Software-Stack

Pro Node läuft folgender Stack:

  1. Chrony: Stratum-1/2 NTP Server (Zeitbasis für Logs/Auth).
  2. Unbound: Rekursiver DNS-Resolver (Port 5335). Fragt Root-Server oder Quad9 (9.9.9.9) via DoT.
  3. Pi-hole: Werbeblocker & DNS-Filter (Port 53). Nutzt lokalen Unbound als Upstream.
  4. Keepalived: VRRP-Daemon zur Bereitstellung der VIP 192.168.1.5.

5.2 Kritische Konfigurationen & "Lessons Learned"

A) Persistenter Hostname in Ubuntu 24.04 (Cloud-Init Fix)

Ubuntu setzt den Hostnamen bei jedem Reboot zurück, wenn man nur /etc/hosts editiert.

  • Lösung: Bearbeiten des Templates /etc/cloud/templates/hosts.debian.tmpl.

B) Pi-hole Reverse DNS Fix (Der "pi.hole" Bug)

Standardmäßig antwortet Pi-hole auf die Frage "Wer ist 192.168.1.3?" mit pi.hole.

  • Fix: In /etc/pihole/pihole.toml den Eintrag piholePTR = "HOSTNAMEFQDN" setzen.

C) NTP Konfliktlösung (Chrony vs. Pi-hole)

Pi-hole FTL versucht Port 123 zu binden, was Chrony blockiert.

  • Fix: In /etc/pihole/pihole-FTL.conf den Eintrag NTP_SERVER= leer lassen.

D) Keepalived & Unifi ARP Caches (Das Timeout-Problem)

Wenn die VIP schwenkt, behalten Unifi-Gateways oft die alte MAC im ARP-Cache.

  • Lösung: Aggressives GARP (Gratuitous ARP) in der keepalived.conf (garp_master_refresh etc.).

E) Firewall/NAT für NTP

Damit Clients NTP-Antworten von der VIP .5 akzeptieren, ist eine SNAT-Regel notwendig:

iptables -t nat -A POSTROUTING -p udp --sport 123 -d 192.168.1.0/24 -j SNAT --to-source 192.168.1.5

5.3 Health-Check Skript

Keepalived darf nicht nur prüfen, ob der Pi "an" ist, sondern ob DNS antwortet.

  • Skript: /usr/local/bin/check_dns.sh führt einen lokalen dig aus.

6. Roadmap & Offene Punkte

  • [x] Basis-Infrastruktur: CM4 Blades für DNS/NTP bestellt und konfiguriert.
  • [x] HA-Setup: Keepalived mit GARP-Tuning erfolgreich getestet (Stecker-zieh-Test).
  • [x] RAID1 für Backup: Zweite identische Festplatte beschaffen.
  • [x] Application Cluster: Beschaffung der CM5 Blades für Kubernetes.
  • [x] Migration: Umzug der Clients auf die VIP .5 (DHCP Anpassung in UDW).
  • [ ] Monitoring: Aufbau eines Dashboards (Grafana), um den Sync-Status beider Pi-holes zu überwachen.
  • [ ] Client-Souveränität 1: MacBook bei eBay verkaufen. Bei Alternatice auch das M4 iPad 13.
  • [ ] Client-Souveränität 2: Windows-Partition loswerden. Wie ersetzen wir Fusion 360?
  • [ ] Services-Souveränität 1: Eine Matrix-Instanz wäre schön.
  • [ ] Services-Souveränität 2: Eine Immich-Instanz wäre schön.
  • [ ] Services-Souveränität 3: Eine Castopod-Instanz wäre schön.
  • [ ] Services-Souveränität 4: Eine Peertube-Instanz wäre schön.
  • [ ] Services-Souveränität 5: Wie ist es mich Home Automate?
  • [ ] Services-Souveränität 6: Sowas wie Spotify mit meiner eigenen CD-Sammlung. Ja, ich habe siowas noch im Keller ...