• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

wie Pihole in Docker nachrüsten?

Servus, Grüezy und Hallo!
Habe auf einen ThinClient (HP T610) Debian 13 laufen, darauf installiert: Docker, Portainer, Nginx, Stirling-PDF, Dash., Scrutiny, it-tools, PaperlessNGX, ... läuft alles ohne Probleme.
Jetzt will ich Pihole inkl. Unbound nachrüsten und bekomme es einfach nicht hin. Habe so ziemlich alle Docker-Compose-Beispiele im Internet angeschaut und versucht und es will nicht - sobald ich das Gerät in der Fritzbox als lokalen DNS-Server eintrage, ist das Internet nicht mehr erreichbar. Falls jemand eine funktionierende Docker-Compose-Datei hat, in der berücksichtigt wird, dass der Port 80 bereits durch Nginx belegt ist - hier wäre ein dankbarer Abnehmer! :)

Grüße aus Hessen!
 
Keiner da, der einem alten Mann über die Straße helfen könnte? Mit folgender docker-compose.yml läuft das Pihole wie zu erwarten:
YAML:
services:
  pihole:
    container_name: pihole
    hostname: pihole
    image: pihole/pihole:latest
    depends_on:
      - unbound
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8880:80/tcp"
      - "8843:443/tcp"
      #- "123:123/udp"
      #- "67:67/udp" # Uncomment if using Pi-hole as your DHCP server
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'pihole'
      FTLCONF_dns_listeningMode: 'all'
      PIHOLE_DNS_: unbound
    volumes:
      - '/home/chef/pihole/etc:/etc/pihole'
    cap_add:
      - NET_ADMIN
      - SYS_TIME
      - SYS_NICE
    restart: unless-stopped

  unbound:
    image: 'mvance/unbound:latest'
    container_name: unbound
    ports:
      - '5335:53/udp'
      - '5335:53/tcp'
    volumes:
      - '/home/chef/pihole/unbound:/opt/unbound/etc/unbound/'
    restart: unless-stopped
Im Verzeichnis /home/chef/pihole/unbound ist eine "unbound.conf" mit allen Voreinstellungen und folgenden Anpassungen:
Code:
directory: "/home/chef/pihole/unbound"
do-ip4: yes
do-ip6: no
do-tcp: yes
do-udp: yes
edns-buffer-size: 1232
interface: 0.0.0.0@5335
port: 5335
prefer-ip6: no

Docker compose pull und ... up -d läuft unauffällig durch, die Pihole-Oberfläche lässt sich mit IPAdresse:8880 aufrufen, so weit, so gut.

Sobald ich aber in Pihole als DNS-Server statt der voreingestellten Google-Adressen (8.8.8.8 und 8.8.4.4) die Adresse 127.0.0.1#5335 angebe, ist mein Internet tot. Unbound tut's also offenbar nicht.

Wer kann helfen?
 

susejunky

Moderator
Teammitglied
Habe auf einen ThinClient (HP T610) Debian 13 laufen, darauf installiert: Docker, Portainer, Nginx, Stirling-PDF, Dash., Scrutiny, it-tools, PaperlessNGX, ... läuft alles ohne Probleme.
Jetzt will ich Pihole inkl. Unbound nachrüsten ... sobald ich das Gerät in der Fritzbox als lokalen DNS-Server eintrage ...
Damit ich Dein Anliegen auch richtig verstehe, hier ein paar Fragen:
  • Hast Du Pihole und Unbound jeweils in Docker-Containern auf dem HP T610 unter Debian 13 installiert oder auf einem separaten Rechner?
  • Wessen IP-Adresse trägst Du in Deiner Fritz!Box (als DNS-Server) ein?
  • Soweit ich das verstehe kann Pihole als DHCP- und DNS-Server eingesetzt werden. Was ist in Deiner Konfiguration die Aufgabe von unbound?
 
Hallo susejunky,

Ziel ist, dass das alles auf einer Kiste läuft, hier also auf dem T610 (128 GB SSD, 8 GB RAM ist eingebaut, könnte man notfalls auch noch erweitern). Eventuell kommt auch noch ein Homeassistant dazu. Unbound soll ein wenig mehr Privacy rausholen, in dem DNS-Anfragen nicht jedesmal neu, sondern wenn möglich aus dem Cache erledigt werden. Pihole soll erstmal nur Werbung filtern, DHCP-Server bleibt daher die Fritzbox. Der T610 (also dessen IP) wird - wenn's Pihole läuft - als lokaler DNS-Server in der Fritzbox angemeldet. Um das Unbound einzubinden, werden in Pihole alle DNS-Anfragen in das Unbound umgeleitet und dort entweder aus dem Cache beantwortet oder - falls keine brauchbaren Daten im Cache vorhanden - an einen DNS wie beispielsweise den von Google (8.8.8.8) oder andere weitergeleitet.

Schön wäre, wenn alles in Containern auf einer Kiste laufen würde. Plan "B" wäre, Pihole und Unbound im Linux-System zu installieren (sudo apt install undsoweiter), habe ich auch schon probiert - auch erfolglos. Nicht falsch verstehen: "Erfolglos" soll nicht heißen, dass das nicht geht, sondern, dass ich das nicht hinbekommen habe!

Keine Option wäre, Pihole und Unbound auf der separaten Kiste laufen zu lassen. Würde bestimmt funktionieren, wäre aber nicht wünschenswert.
 

susejunky

Moderator
Teammitglied
Der T610 (also dessen IP) wird - wenn's Pihole läuft - als lokaler DNS-Server in der Fritzbox angemeldet.
Dazu muss das Netzwerk des Pihole-Docker-Containers so konfiguriert sein, dass Pihole DNS-Anfragen aus Deinem Netzwerk und auch von lokalen Anwendungen und Containern auf Deinem T610 entgegen nehmen kann.

Da ich keine Container verwende, kann ich Dir diesbezüglich leider nicht weiterhelfen.

Um das Unbound einzubinden, werden in Pihole alle DNS-Anfragen in das Unbound umgeleitet
Das verstehe ich nicht. Wenn alle eingehenden DNS-Anfragen einfach an unbound weitergereicht werden, wozu wird dann Pihole überhaupt benötigt?
 
Pihole filtert die Werbung aus dem Datenverkehr. Aber nicht nur Werbung - Du könntest Dich und alle Teilnehmer in Deinem Wlan besser von Malware, Phishing, Porno , etc. schützen.

Unbound macht was ganz anderes: Unbound sorgt dafür, dass nicht jede einzelne Namensauflösung (also aus "www.irgendwas.de" eine IP-Adresse machen) an einen DNS-Server wie Google & Co gesendet wird (die damit per Profiling genau verfolgen könnten, was Du im Internet machst), sondern nur die, für die noch keine IP im Cache-Speicher vorhanden ist. Du reduzierst damit zum einen die Netzlast (gut für alle anderen) und reduzierst Einblicke in Dein Surfverhalten (gut für Dich). Zugegeben - auch nur ein kleines Mosaik-Steinchen im Schutz der Privatsphäre, aber eben auch eins.
 
Oben