Zum Inhalt springen

Pi-Hole auf Proxmox im LXC Container installieren

Pi-hole ist ein beeindruckendes Tool zur Filterung von Werbung im Netzwerk, das auf diversen Systemen zum Einsatz kommen kann. Eines dieser Systeme ist Proxmox VE, eine robuste Virtualisierungsplattform mit Open-Source-Status, die sich ideal für den Betrieb von Pi-hole eignet. Die Implementierung von Pi-hole in einem Proxmox VE Container ermöglicht es, dass der Werbefilter kontinuierlich aktiv ist, ohne dass dafür ein eigener physischer Server erforderlich ist. Dies bietet eine effiziente und ressourcenschonende Lösung für die Werbefilterung, da die Virtualisierungsumgebung von Proxmox VE die notwendige Infrastruktur bereitstellt und gleichzeitig Flexibilität in der Verwaltung und Skalierung ermöglicht.

Die Zutaten für Pi-Hole auf dem Proxmox Server

Du brauchst einen Proxmox Server, der in dein Heimnetzwerk eingebunden ist. Wie du Proxmox auf einem alten PC installierst, erfährst du in meinem Artikel „Installation Proxmox VE auf Dell Optiplex oder anderem PC“.

Ich benutze häufig die Helper-Scripts von tteck, eine echte Erleichterung für Installationen auf Proxmox. So auch für die Installation von Pi-Hole.

Installation von Pi-Hole mit Helper-Scripts

Zuerst rufst du die Webseite deines Proxmox Servers auf und loggst dich ein. Danach wählst du deinen Proxmox Node aus und öffnest die Kommandozeile mit dem Klicken auf den Button „>_ Shell“.

Im Terminalfenster gibst du folgende Zeile ein und bestätigst mit Enter:

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole.sh)"

Nach der Frage, ob ein Container erstellt werden soll, die du natürlich mit ok bestätigst, wird der Container erstellt. Als ich das erste Mal Pi-Hole installiert habe, habe ich die Vorgaben bzw. „Default-Settings“ übernommen. Das Einzige, was später geregelt werden muss, ist die IP-Adresse. Diese wird zuerst vom DHCP Server zugewiesen, bei mir also von meiner Fritz!Box. Das ist zuerst Ok, denn nun hat Pi-Hole eine freie IP-Adresse, ich muss nicht extra eine freie suchen.

Nach der Installation von Pi-Hole kommt noch die Frage „Would you like to add unbound? <y/n>“ Wenn du an der Stelle noch nicht weißt, was das ist und bedeutet, dann bestätige mit „n“. Habe ich auch gemacht, brauche ich (noch) nicht.

Die Ausgabe könnte wie folgt aussehen:

Meine neue Pi-Hole Installation ist also unter der Adresse http://192.168.178.64/admin zu erreichen.

Uns fehlt aber ein Passwort, wenn man den Bereich „Forgot password?“ erweitert, kommt ein Hinweis wie ein neues Passwort erstellt werden kann. Dazu muss ein Terminalfenster geöffnet werden, einfach doppelklicken auf den Container oder auf den Button „>_ Console“ klicken und sudo pihole -a -p eingeben.

Und schon steht dem ersten Einloggen nichts mehr im Weg!

Pi-Hole in der Fritz!Box als DNS-Server einstellen

Damit die Anfragen auch über den Pi-Hole laufen und diese dann auch dementsprechend geblockt werden können, muss in der Fritz!Box noch die IP-Adresse des Pi-Hole als DNS-Server eingestellt werden. Dazu musst du in der Fritz!Box auf Netzwerk > Netzwerkeinstellungen > weitere Einstellungen > IPv4-Einstellungen
Bei „Lokaler DNS-Server“ trägst du die IP von Pi-Hole ein.

Jetzt müssen wir noch sicherstellen, dass Pi-Hole immer die gleiche IP-Adresse zugewiesen bekommt. Dazu suchen wir „pihole“ in den Netzwerkverbindungen und bearbeiten den Eintrag. Es wird das Häkchen gesetzt, damit dem Gerät immer die gleiche IP zugewiesen wird. Das ganze übernehmen und fertig.

Das würde schon ausreichen, damit Pi-Hole immer die gleiche IP-bekommt. Nun können wir aber auch noch in den Netzwerkeinstellungen des Proxmox Containers diese IP-Adresse eintragen. Ein Doppelklick auf den Netzwerkadapter und der Dialog öffnet sich. IPv4 auf „Static“ stellen und die IP von Pi-Hole und die IP des Gateways, in meinem Fall die Fritz!Box, eintragen. Am besten den Container einmal neu starten.

„Conditional Forwarding“, was ist das?

Bei meinem Anfang mit Pi-Hole habe ich mich an dieser Stelle gefreut, dass jetzt schon Werbeanfragen und Tracking von Pi-Hole geblockt werden. Doch ist mir aufgefallen, dass meine Fritz!Box nicht mehr mit der Adresse „Fritz.Box“ erreichbar ist. Wenn ich http://Fritz.Box aufgerufen habe, ging eine externe Seite auf. Spooky!

Das liegt schlicht und ergreifend daran, dass die Fritz!Box noch der DHCP Server ist und die IP-Adressen und die dazugehörigen Domains verwaltet. Es gibt aber eine einfache Lösung des Problems, das „Conditional Forwarding“ in Pi-Hole.

Ihr navigiert in Pi-Hole zu „Settings > DNS > Conditional Forwarding“, das steht ganz unten. Dort steht sogar, was Sache ist, wenn Pi-Hole nicht der DHCP Server ist, nur finden und wissen muss man es. Ich habe alles andere vermutet und viel Zeit verbraten mit Suchen nach anderen Fehlern.

Aktiviere das Conditional Forwarding und trage die Daten in die freien Felder. Du musst natürlich die IP-Adressen auf dein Netzwerk anpassen. Wenn nun gespeichert wurde, ist die Fritz!Box wieder über „http://Fritz.Box“ erreichbar und auch alle anderen Geräte in deinem Netzwerk mit ihren Hostnamen.

Der Local Domain Name ist das, was die Fritz!Box an die Hostnamen anhängt. Pi-Hole ist zwar über http://pihole/admin aufzurufen. Aber es funktioniert auch http://pihole.fritz.box/admin. Warum erwähne ich das? Ganz einfach, die Adresse http://pihole.fritz.box ist die FQDN (Fully Qualified Domain Name) und wichtig, für die unter euch, die Pi-Hole mit einem eigenen SSL-Zertifikat sichern wollen.

Ich hoffe, dass dir dieser Artikel geholfen hat, mehr über das Installieren von LXC Containern mithilfe der Helper-Scripts zu erfahren. Wenn du Fragen oder Anregungen hast, hinterlasse bitte einen Kommentar. Vielen Dank fürs Lesen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert