PiHole-Docker zusätzlich auf RPi3

second.name

Lieutenant
Registriert
Sep. 2009
Beiträge
691
Hallo Forum,
bei mir läuft hier ein Raspberry Pi 3 (b+) als Webradio mit Volumio (ganz tolle Sache).
Was mich interessiert (da 24/7 Betrieb) ist, ob man noch einen Docker-Container mit PiHole installieren kann? Mit Containern kenne ich mich aber nicht aus...
  • Z.B. benutzen Volumio und auch PiHole TCP-Port 80 für das Interface. Ist das ein Problem oder bekommt der neue Container eine eigene IP?
  • Außerdem ist der RPi mit WLAN verbunden --> Kann man den gleichen Adapter ebenfalls für PiHole verwenden?

Kann mich jemand beraten?
 
Gibt verschiedene Möglichkeiten, aber machbar ist es definitiv. Das wichtigste für PiHole ist ja der DNS Port also 53. Das Webinterface vom PiHole kannst du dann auch auf einen anderen Port umleiten. Meins läuft z.B. auf 8181.

Auch das mit dem WLan Adapter funktioniert, Docker erstellt ein eigenes Subnetz mit eigenem IP Adressraum und nutzt dann einfach für den Traffik den WLan Adapter.

Wie sieht das aus mit deinem Router? Hast du einen bei dem du manuell den DNS Eintrag ändern kannst bzw. vom DHCP Server den DNS Eintrag festlegen kannst. Das geht nicht bei allen und ohne, dass der DHCP Server an jeden Client den PiHole als DNS Server verteilt müsstest du an jedem Client manuell den DNS Eintrag setzen...

Mit Containern kennst du dich nicht aus heißt du weißt nicht wie man mit Docker generell umgeht oder nur mit eigen konfigurierten Containern?

Ansonsten bietet sich an, dass du dir neben Docker direkt noch Docker-Compose installierst (am einfachsten über die "Alternative Install Options" - dafür wird nur Python benötigt) da es auf der PIHole Docker Seite direkt ein Compose Beispiel gibt mit Beispiel Konfig.

Wie sieht es bei dir mit IPv6 aus. Wenn du das ebenfalls aktiv einbinden willst wird es etwas kniffliger aber für den Anfang reicht es auch erstmal, wenn PiHole nur IPv4 Ads Blocken kann.
 
Gibt es einen bestimmten Grund, es in einen Docker-Container zu verfrachten? Was spricht gegen die direkte Installation?
 
Grundsätzlich kann pihole problemlos im Docker-Container betrieben werden. Allerdings braucht pihole neben dem obligatorischen DNS-Port auch den für http und https, da pihole nur die DNS-Auflösung umbiegt, beim Port aber nichts tun kann. Insbesondere https-ads würden zu langen timeouts führen, wenn man pihole tcp 443 wegnimmt. Bei Port 80 kann es passieren, dass statt Werbung plötzlich die Seite des anderen Webservers eingeblendet wird.
Pihole kann zwar auch im Blackhole-Modus arbeiten, aber https-ads mögen das nicht.

Wenn man unbedingt pihole und einen Webserver auf einem Gerät betreiben möchte, hat man 2 Möglichkeiten :

1) Die Ports des anderen Webservers ändern (8080 und 8443 zB)
2) Der Netzwerkschnittstelle eine zweite IP verpassen und pihole bzw den Webserver explizit an jeweils eine IP binden.
 
  • Gefällt mir
Reaktionen: LieberNetterFlo und DeusoftheWired
Chef 17.02 schrieb:
Auch das mit dem WLan Adapter funktioniert, Docker erstellt ein eigenes Subnetz mit eigenem IP Adressraum und nutzt dann einfach für den Traffik den WLan Adapter.

Und wie kommunizieren die Clients mit dem Pi-Hole, wenn der in nem anderen Subnetz hängt?
 
ich bin für @Raijin Lösung mit der zweiten IP Adresse. Dann kannst du dein piHole ganz normal betreiben :)

es gibt auch ne Methode mit der deine Docker Container direkt IPs von deinem Router bekommen können ... du du machst mit LXC/LXD ne mini-VM, die kann auch ihre IP von deinem Router bekommen.
 
@gaym0r Das Subnetz wird gebridged, nach außen wird dann nur Port 53 weitergeleitet (ein NAT).

@Raijin Pihole hat mit HTTPS überhaupt nichts am Hut, das agiert nur als DNS Server. HTTP brauch der Pihole für sein Webinterface, sonst macht es genau nichts darüber. HTTPS Ads werden genauso über DNS geblockt.

Einfach dem Pihole Container den Port 8443 geben und darüber aufrufen. Ggf. auch einfach nen Reverse Proxy davor setzen, dann kann man sich die Ports ganz sparen.
 
@Yuuri: na, piHole macht auf Port80 und Port443 schon mit Absicht einen Webserver auf -> der leitet die Anfragen per DNS auf sich selbst um und gibt dann leere Antworten. Wenn er sie auf sich selbst umleitet, aber keiner Antwortet, dann kommt es zwar auch zu keiner Werbung, aber je nach Browser zu sehr langen Wartezeiten, da der Browser auf den Timeout wartet.
 
  • Gefällt mir
Reaktionen: Madman1209
So sieht es aus. Pihole hat zwar verschiedene Blockmodi, zB blackhole (DNS gibt dann immer 0.0.0.0 zurück) oder redirect (DNS zeigt dann immer auf den PI selbst), aber insbesondere Werbung über https mag es gar nicht, ins leere zu laufen (blackhole). Die Folge wäre ein unangenehmer Timeout des Werbebanners, der Browser zeigt dann ewig das Ladesymbol an. Wenn pihole stattdessen auf sich selbst umleitet, wird die umgeleitete https-ad einfach aktiv denied und der Browser lädt die Seite fertig.

Pihole braucht zwar nicht zwingend TCP 80/443, aber wenn dem nicht so ist, muss man mit gewissen Einschränkungen leben. Mit pihole's Webinterface hat das im übrigen nichts zu tun. Das kann man auf einem beliebigen anderen Port laufen lassen. Es geht ausschließlich um den redirect auf den pihole selbst, der nun mal vom Browser stets mit http bzw https ankommt - TCP 80+443 eben.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Madman1209
Hallo @Raijin, wie kann ich bei PiHole ports 80+443 so umbiegen das ich sie auch für Traefik bzw. Bitwarden nutzen kann.
 
Zuletzt bearbeitet:
Was spricht dagegen den DNS (also Pi-Hole) einfach NXDOMAIN zurückgeben zu lassen?
Da spart man sich die Web-Ports dafür und es funktioniert meiner Erfahrung nach gut.
 
@Teuti Wenn du ein @ zusammen mit einem Benutzernamen (ohne Leerzeichen zwischen beiden!) verwendest, bekommt der Nutzer einen Hinweis über das Glockensymbol oben rechts, daß ihn jemand erwähnt hat. Probier’s mal aus und ruf Meister Raijin damit. :) Wird vom Forum beim Tippen sogar autovervollständigt:

computerbaseautovervolständigungerwähnungbenutzername.png
 
Zurück
Oben