Sollten Sie Pi hole in LXC oder einer VM auf Proxmox betreiben?
Pi hole benötigt nur sehr wenig Rechenleistung, Arbeitsspeicher oder Storage und eignet sich damit ideal für den Betrieb auf Proxmox. Die zentrale Entscheidung ist, ob die Installation in einem LXC-Container oder in einer vollständigen virtuellen Maschine erfolgen soll.
Beide Optionen bieten netzwerkweite DNS-Filterung, lokale Namensauflösung und DHCP-Dienste. Ein LXC-Container benötigt weniger Ressourcen und lässt sich für einen kleinen, dedizierten Dienst leichter bereitstellen. Eine virtuelle Maschine bietet eine stärkere Isolation und einen eigenen Betriebssystem-Kernel.
Für die meisten Homelabs und kleinen Firmennetzwerke ist ein unprivilegierter Debian-LXC-Container die beste Wahl. Eine virtuelle Maschine wird interessanter, wenn DNS Teil eines strengeren Sicherheitskonzepts ist, das Team eine klassische VM-Verwaltung bevorzugt oder Pi hole mit mehreren anderen Netzwerkdiensten kombiniert werden soll.
Was benötigt Pi hole?
Pi hole ist genügsam. Die offizielle Dokumentation nennt 512 MB Arbeitsspeicher, mindestens 2 GB freien Storage und ein unterstütztes Betriebssystem als Grundvoraussetzungen. Zu den unterstützten Systemen zählen aktiv gepflegte Versionen von Debian, Ubuntu, Alpine, Fedora und mehreren weiteren Linux-Distributionen. Pi hole benötigt außerdem eine statische IP-Adresse oder eine zuverlässige DHCP-Reservierung.
Diese Anforderungen passen bequem in einen kleinen Proxmox-Gast. Eine Basisinstallation benötigt selten mehrere Prozessorkerne oder eine große virtuelle Festplatte.
Die wichtigeren Anforderungen betreffen Netzwerkverfügbarkeit und Vorhersehbarkeit. Pi hole muss DNS-Anfragen auf TCP- und UDP-Port 53 entgegennehmen. Die Adresse sollte sich nicht ändern, da Router und Client-Geräte für die Namensauflösung auf diese Adresse angewiesen sind.
Wird Pi hole zum primären DNS-Server, kann ein Ausfall den Eindruck erwecken, das Internet sei nicht verfügbar, obwohl Router und Verbindung einwandfrei funktionieren. Das Deployment sollte deshalb vor allem auf Zuverlässigkeit ausgelegt sein und nicht nur auf Ressourceneffizienz.
Wie läuft Pi hole in LXC?
Proxmox nutzt LXC, um Systemcontainer zu erstellen. Ein LXC-Container hat ein eigenes Dateisystem, eigene Prozesse, Benutzer, Netzwerkkonfiguration und Ressourcenlimits, teilt sich aber den Linux-Kernel mit dem Proxmox-Host.
Das macht LXC leichtgewichtiger als eine virtuelle Maschine. Der Pi-hole-Container muss keinen Arbeitsspeicher für einen weiteren Kernel reservieren oder einen kompletten Satz virtueller Hardware emulieren.
Ein typisches Deployment nutzt einen unprivilegierten Debian-Container mit einem virtuellen Prozessor, 512 MB bis 1 GB Arbeitsspeicher und einer kleinen virtuellen Festplatte. Der Container erhält eine statische IP-Adresse und wird an dasselbe vertrauenswürdige Netzwerk angebunden wie die Clients, die ihn für DNS nutzen.
Pi hole unterstützt Debian offiziell, sodass sich die Anwendung direkt ohne Docker installieren lässt. Das Projekt stellt einen automatisierten Installer bereit sowie Methoden, mit denen Administratoren das Installationsskript vor der Ausführung herunterladen und prüfen können.
Eine native Installation hält die Architektur einfach. Proxmox verwaltet den LXC-Gast, Debian verwaltet die Betriebssystempakete und Pi hole verwaltet die DNS-Filterung.
Welche Vorteile bietet LXC?
Der größte Vorteil ist der geringe Ressourcenverbrauch.
Da sich der Container den Proxmox-Kernel teilt, startet er schnell und verbraucht weniger Arbeitsspeicher als eine vollständige virtuelle Maschine. Das ist auf kleinen Servern nützlich, auf denen sich mehrere Infrastrukturdienste den Arbeitsspeicher teilen müssen.
LXC bietet außerdem eine bequeme Verwaltung über Proxmox. Administratoren können den Pi-hole-Container über dieselbe Oberfläche starten, stoppen, klonen und sichern, die auch für andere Gäste genutzt wird.
Unprivilegierte Container verbessern das Sicherheitsmodell, indem sie root innerhalb des Containers auf eine unprivilegierte Identität auf dem Proxmox-Host abbilden. Proxmox erklärt, dass dies die Auswirkungen vieler Container-Sicherheitsprobleme auf einen unprivilegierten Host-Benutzer begrenzt. Der unprivilegierte Modus ist zudem die Standardeinstellung für neu erstellte Container.
Pi hole benötigt in der Regel keinen privilegierten Zugriff, kein Hardware-Passthrough und keine komplizierten Kernel-Funktionen. Das macht es zu einer guten Wahl für einen unprivilegierten Container.
Wo liegen die Grenzen von LXC?
LXC teilt sich den Kernel mit dem Proxmox-Host. Dadurch bietet es weniger Isolation als eine vollständige virtuelle Maschine.
Eine schwerwiegende Kernel-Schwachstelle könnte potenziell sowohl den Container als auch den Host betreffen. Dieses Risiko wird durch unprivilegierte Container, Namespaces, AppArmor und weitere Schutzmechanismen begrenzt, doch die Kernel-Grenze bleibt geteilt.
Der Container kann außerdem von Änderungen am Kernel des Proxmox-Hosts oder an der LXC-Umgebung betroffen sein. Pi hole selbst benötigt aller Voraussicht nach keine ungewöhnlichen Kernel-Funktionen, weshalb dies normalerweise nur ein kleines betriebliches Risiko darstellt.
Storage-Mounts verdienen besondere Aufmerksamkeit. Proxmox kann Host-Verzeichnisse in einen LXC-Container einbinden, aber der Inhalt von Bind-Mount-Punkten ist in gewöhnlichen vzdump-Backups nicht enthalten.
Pi hole speichert seine wichtigen Konfigurations- und Datenbankinformationen normalerweise im Dateisystem des Containers, sodass externe Bind-Mounts in der Regel unnötig sind. Wenn die Anwendungsdaten auf der verwalteten LXC-Root-Disk verbleiben, ist das Backup-Verhalten leichter nachvollziehbar.
Wie läuft Pi hole in einer VM?
Eine Proxmox-VM nutzt QEMU und KVM, um einen vollständigen virtuellen Computer bereitzustellen. Der Gast führt seinen eigenen Linux-Kernel aus und verwaltet seine eigene virtuelle Hardware.
Eine Pi-hole-VM kann Debian oder Ubuntu ausführen und denselben nativen Installationsprozess nutzen wie ein physischer Linux-Server. Die Architektur ist klassisch und weithin bekannt:
Proxmox verwaltet die virtuelle Maschine.
Debian oder Ubuntu verwaltet das Gastbetriebssystem.
Pi hole übernimmt die DNS-Filterung.
Die VM benötigt mehr Arbeitsspeicher und Storage als LXC, auch wenn Pi hole selbst genügsam bleibt. Eine kleine Linux-VM mit 1 GB Arbeitsspeicher und einer moderaten virtuellen Festplatte reicht für die Anwendung selbst meist aus.
Welche Vorteile bietet eine VM?
Der Hauptvorteil ist die stärkere Isolation.
Die virtuelle Maschine hat ihren eigenen Kernel, wodurch eine klarere Sicherheitsgrenze zwischen Pi hole und dem Proxmox-Host entsteht. Ein Problem innerhalb des Gasts wirkt sich mit geringerer Wahrscheinlichkeit direkt auf den Hypervisor aus.
Eine VM ist zudem einfacher für Administratoren, die den Umgang mit gewöhnlichen Linux-Servern gewohnt sind. Die Standarddokumentation des Betriebssystems gilt uneingeschränkt, ohne dass LXC-Benutzerzuordnungen, gemeinsame Kernel oder containerspezifische Einschränkungen berücksichtigt werden müssen.
Die VM lässt sich leichter auf eine andere kompatible Virtualisierungsplattform verschieben. Der Gast ist ein klassischer virtueller Server und kein Systemcontainer, der enger an die Linux-Container-Technologie gebunden ist.
Eine virtuelle Maschine kann außerdem vorzuziehen sein, wenn sich Pi hole den Gast mit Unbound, Monitoring-Agenten, einem VPN-Dienst oder anderen Netzwerkanwendungen teilt. Zu viele Dienste zu kombinieren wird weiterhin nicht empfohlen, aber eine VM bietet eine unabhängigere Umgebung, wenn mehrere zusammengehörige Tools gemeinsam laufen müssen.
Was lässt sich leichter sichern?
Proxmox kann konsistente Backups laufender LXC-Container und KVM-VMs erstellen. Der Backup-Prozess umfasst die Gastkonfiguration und die verwalteten Daten.
Ein VM-Backup ist unkompliziert, da die virtuellen Festplatten des Gasts normalerweise als vollständige Block-Devices enthalten sind.
Auch ein LXC-Backup ist zuverlässig, solange die Daten von Pi hole im verwalteten Dateisystem des Containers verbleiben. Probleme entstehen vor allem, wenn wichtige Daten auf ausgeschlossenen Bind-Mounts liegen.
Pi hole nutzt SQLite-Datenbanken für die langfristige Speicherung von Abfragen und die Domainverwaltung. Die Dokumentation beschreibt eine Online-SQLite-Backup-Methode, mit der sich die Abfragedatenbank kopieren lässt, während der DNS-Dienst läuft.
Die sicherste Strategie kombiniert Proxmox-Backups mit Kopien von Pi holes Konfiguration und Datenbank auf Anwendungsebene. Bewahren Sie mindestens ein Backup außerhalb des Proxmox-Hosts auf. Ein Backup, das sich nur auf demselben Server befindet, schützt nicht vor einem Server- oder Storage-Ausfall.
Was lässt sich leichter aktualisieren?
Eine native Pi-hole-Installation wird über den Update-Befehl des Projekts aktualisiert. Pi hole rät Administratoren, vor einem Upgrade die Release Notes zu lesen, besonders bei größeren Versionswechseln.
Der Ablauf ist in LXC und einer VM im Grunde identisch. Der Unterschied liegt an der Betriebssystemgrenze.
Ein LXC-Gast nutzt weiterhin den Kernel des Proxmox-Hosts. Eine VM behält ihren eigenen Gast-Kernel und kann einem unabhängigen Update-Zeitplan folgen.
Für Pi hole hat dieser Unterschied in der Praxis selten größere Auswirkungen. Die Anwendung ist normalerweise nicht auf ungewöhnliche Kernel-Funktionen angewiesen.
Erstellen Sie vor einem größeren Pi-hole-Update ein Proxmox-Backup und stellen Sie sicher, dass ein zweiter DNS-Resolver verfügbar ist. So verhindern Sie, dass ein fehlgeschlagenes Update die Namensauflösung im gesamten Netzwerk unterbricht.
Sollte Pi hole DHCP bereitstellen?
Pi hole enthält einen DHCP-Server für Netzwerke, in denen der Router keine eigene DNS-Adresse verteilen kann. Pi hole weist darauf hin, dass der DHCP-Server des Routers deaktiviert werden muss, bevor Pi holes DHCP aktiviert wird, da zwei konkurrierende DHCP-Server widersprüchliche Netzwerkeinstellungen ausliefern können.
Sowohl LXC als auch eine VM können DHCP bereitstellen. Der Gast muss direkt mit dem Client-Netzwerk verbunden sein, da DHCP auf Broadcast-Traffic angewiesen ist, der Router normalerweise nicht durchquert.
Stellt Pi hole sowohl DNS als auch DHCP bereit, wird seine Verfügbarkeit noch wichtiger. Ein Ausfall kann verhindern, dass neue Geräte Adressen erhalten, und gleichzeitig dafür sorgen, dass bestehende Geräte keine Domainnamen mehr auflösen können.
Bei komplexen Netzwerken mit mehreren VLANs ist DHCP unter Umständen auf OPNsense, einer anderen Firewall oder einer dedizierten Netzwerkplattform besser aufgehoben. Pi hole kann sich dann auf die DNS-Filterung konzentrieren.
Brauchen Sie zwei Pi-hole-Instanzen?
Ein Produktionsnetzwerk sollte nicht von einem einzigen DNS-Gast abhängen.
Eine zweite Pi-hole-Instanz erlaubt es Clients, weiterhin Domains aufzulösen, wenn der erste Gast oder der Proxmox-Host nicht verfügbar ist. Die zweite Instanz sollte idealerweise auf einem anderen Proxmox-Node, einem physischen Gerät oder einem anderen Server laufen.
Werden zwei Pi-hole-Container auf demselben Proxmox-Host platziert, schützt das vor einem Anwendungsfehler, nicht aber vor einem Host-, Storage- oder Stromausfall.
Beide Instanzen benötigen konsistente Filterregeln und lokale DNS-Einträge. Das lässt sich über dokumentierte Konfiguration, Automatisierung oder sorgfältig kontrollierte Synchronisationswerkzeuge lösen.
Verwenden Sie keinen öffentlichen Resolver als sekundäre DNS-Adresse, wenn alle Client-Anfragen über Pi hole laufen müssen. Viele Client-Systeme behandeln den zweiten DNS-Server nicht als passives Backup. Sie können Anfragen an beide Adressen senden.
Sollten Sie LXC oder eine VM wählen?
Wählen Sie LXC, wenn Sie das kleinste und einfachste Proxmox-Deployment möchten. Pi hole passt natürlich in einen unprivilegierten Debian-Container und benötigt nur sehr wenige Ressourcen.
Wählen Sie eine VM, wenn stärkere Isolation, klassische Server-Verwaltung und Portabilität wichtiger sind als Effizienz. Eine VM ist auch sinnvoll, wenn die Unternehmensrichtlinie vorschreibt, dass Sicherheitsdienste mit einem eigenen Kernel laufen müssen.
Für die meisten Proxmox-Homelabs und kleinen Netzwerke ist LXC die bessere Option. Pi hole braucht keine vollständige virtuelle Maschine, um DNS-Filterung effektiv umzusetzen.
Die wichtigere Entscheidung ist nicht LXC gegen VM. Es ist die Frage, ob das Netzwerk über eine statische Adresse, getestete Backups, einen sekundären DNS-Server und einen Wiederherstellungsweg verfügt, der auch dann noch funktioniert, wenn der Proxmox-Haupthost nicht verfügbar ist.