Step by Step - Adguard / PiHole & Unbound (Manuell mit Docker)


Recommended Posts

Hallo zusammen,

 

Nachdem ich als Unraid & Docker-Anfänger erst selbst vor dem Thema stand wie man in Unraid PiHole / Adguard & Unbound installieren könnte, hier die Schritte, die bei mir gut funktioniert haben. Vielleicht hilft es dem ein oder anderen bei dem eigenen Setup - Ideen zur Verbesserung, Tipps, Korrekturen usw. sind natürlich immer gerne gesehen :)

 

Grundsätzlich gibt es verschiedene Kombinationsmöglichkeiten, weshalb ich die Beschreibung auf verschiedene Teile aufbreche damit es übersichtlicher wird. So kann man nach eigener Präferenz dann PiHole oder Adguard mit Unbound kombineren. 

 

Übersicht:

  1. Hintergrundsdetails & Vorbereitung & Test- und Erweiterungsmöglichkeiten
  2. Setup von PiHole
  3. Setup von Adguard
  4. Optionen zur Bekanntmachung des PiHole / Adguard Home im LAN
  5. Setup von Unbound
  6. PiHole & Unbound
  7. Adguard & Unbound
  8. Filterlisten hinzufügen
  9. Warnmeldungen im Unbound Log

 

Stand 2024-02-23 läuft es auf: Unraid 6.12.8 / PiHole 2024.02.0 / Adguard 0.107.44 / Unbound 1.19.0

 

Hintergrundsdetails zum Verständnis

  • Was machen eigentlich PiHole & Unbound genau? >Klick<
  • Was ist DOT / DOH / DNSSEC und was bringt es?

    • DNSSEC: Gewährt Authentizität & Integrität der DNS Abfragen >Klick<

    • DOT / DOH: Gewährt Vertraulichkeit durch Verschlüsselung der DNS Abfragen >Klick<

    • Rekursiver DNS: Gewährt Privatsphäre (Data Privacy) durch die rekursive Durchführung der DNS Abfragen >Klick<

 

  • Ich habe mich entschieden PiHole bzw. Adguard und Unbound getrennt laufen zu lassen, da man damit zum einen schneller die jeweils neuste Version erhält und zum anderen, damit man einen Einblick (und damit Kontrolle) über das Setup behält
  • Die Docker-Container laufen mit eigenen IPs auf dem br0 Netzwerk. So kann man bspw. den PiHole einfach gegen Adguard tauschen und braucht die Unbound Installation an sich nicht ändern. Oder man nutzt nur Unbound ohne PiHole oder oder oder..
  • Durch die Nutzung von eigenen IPs pro Docker per br0 hat man keine Probleme mit doppelt belegten Ports
    • in diesem Fall dem Standard-Port 53 für DNS als auch dem Webinterface auf Port 80 von PiHole / Adguard
  • In den Screenshots ist mein lokales Netzwerk, also die 192.168.0.x, abgebildet. PiHole läuft bei mir also auf der 192.168.0.5, Unbound auf der 192.168.0.6, Adguard Home auf der 192.168.0.4 Die IPs müssen entsprechend eurem lokalen Netzwerk angepasst werden
    • Bei einer Fritzbox ist das Standardnetz idR. die 192.168.178.x
  • IPv6 habe ich im lokalen Netz in meinem Router komplett deaktiviert, da die "reverse" Namensauflösung von lokalen Adressen zu Gerätenamen im PiHole (unter "Conditional forwarding") mit ipv6 bei mir nicht funktioniert hat. Die reine Funktion als DNS sollte jedoch auch mit IPv6 funktionieren und kann, wenn benötigt, an verschiedenen Stellen in der Konfiguration aktiviert werden
  • PiHole kann DNSSEC, was wir jedoch nicht benötigen, da die eigentliche DNS Abfragen von Unbound (er sollte automatisch DNSSEC machen) durchgeführt werden. Ebenso braucht man bei Adguard Home DOT & DOH meines Wissens nach nicht aktivieren, da es nur für die Strecke bis zum Unbound aktiv wäre

  • Unbound an sich ist ohne weitere Änderungen so konfiguriert, dass es die DNS Abfragen per DOT an einen Cloudflare DNS Server weiterleitet. In dieser Anleitung geht es jedoch explizit um die Konfiguration als rekursiven DNS Resolver, wodurch eine kleine Änderung an der Konfiguration notwendig wird

    • Als rekursiver DNS Resolver macht Unbound zwar DNSSEC aber DOT/DOH ist aktuell nicht gleichzeitig möglich

  • PiHole & Adguard können Ads auf Youtube aktuell (leider) nicht blockieren, da die Ads von den selben Servern stammen, wie das eigentliche Video. Hierzu empfielt es sich zumindest am Mac/Pc zusätzlich bspw. UBlock als Addon im Browser zu installieren

  • Mit "dig" kann man auf der Unraid-Kommandozeile direkt testen, ob PiHole / Adguard / Unbound funktionieren, bevor die Systeme miteinander verbunden werden und ohne die Änderung an das komplette lokale Netzwerk zu verteilen. Alternativ kann man es auch von einem anderen Computer in eurem LAN testen:

    • Auf Win10/11 über ein "nslookup www.heise.de <IP_von_PiHole/Adguard/Unbound>" auf der Kommandozeile

    • Auf MacOS über ein "dig www.heise.de <IP_von_PiHole/Adguard/Unbound>" auf der Kommandozeile

 

 

Vorbereitung

Als Vorbereitung für die Nutzung der DNS Tests per "dig", ist in den Unraid Einstellungen unter "Settings" -> "Docker" -> "Host access to custom networks" auf "enabled" zu setzten. Das sollte dann so aussehen (mit euren eventuell dort zusätzlich durchgeführen Änderungen & LAN Einstellung für Docker)

 

Unbenannt1.thumb.JPG.e1d39b084867c9f20dd9546c805240c4.JPG

 

Nach den Tests kann es wieder deaktiviert werden, wenn ihr es nicht für andere Sachen (Stichwort Erweiterung Wireguard) benötigt. Die Verbindung zu und zwischen PiHole / Adguard & Unbound funktioniert auch ohne dem Host (in dem Fall also Unraid an sich) Zugriff auf das br0 Netzwerk zu geben.

 

 

Testmöglichkeiten

Nach den erfolgreichen Tests mit "dig" und der Verknüpfung von PiHole / Adguard mit Unbound stellt sich die Frage, ob es denn nun funktioniert. Da ja (hoffentlich) alles "einfach" funktioniert, hier ein paar Links, welche bei diesen Tests helfen:

 

  • https://d3ward.github.io/toolz/adblock oder https://fuzzthepiguy.tech/adtest/
    • Testet die Ad-Lists in PiHole / Adguard durch verschiedene bekannte Ad-Seiten. Je nachdem wie umfangreich eure Listen sind, sollte alles geblockt werden. Für einen ersten Eindruck ok aber wichtiger ist, wie gut Werbung auf den von euch besuchten Webseiten - also in eurem Alltagsgebrauch - geblockt wird
  • https://www.ipchicken.com
    • Zeigt die eigene IP an, welche wir bei den nächsten Tests nutzen können
  • https://internet.nl/connection
    • Grundlegende Details zu ipv4 / ipv6 & DNS. Hier taucht die eigene IP als DNS Server auf, da wir Unbound als DNS selbst betreiben. DNSSEC sollte positiv sein
  • https://www.perfect-privacy.com/en/tests/dns-leaktest
    • Zeigt den genutzten DNS Server an. Dies sollte wiederum die eigene IP sein, da wir Unbound als DNS selbst betreiben
  • https://0skar.cz/dns/en/
    • Testet explizit DNSSEC und sollte mit Unbound alles positiv sein
  • https://www.grc.com/dns/Benchmark.htm
    • Interessantes Tools für DNS Benchmarks. Da wir mit Unbind einen eigenen rekursiven Resolver haben, sollten wir beim ersten Durchlauf langsamer sein, als so mancher Public Resolver wie 1.1.1.1 oder 8.8.8.8. Der zweite Durchlauf ist möglicherweise schneller, da die Test-Daten bereits im Cache beim PiHole / Adguard / Unbound liegen. Durch die rekursive Abfragen und die DNSSEC Validierung sowie das Adblocking, wird das eigene Setup jedoch immer etwas länger (im Millisekunden Bereich) für eine DNS Anfrage brauchen, als eine Anfrage direkt an einen Public Resolver. Im Alltag sollte dies jedoch nicht bemerkbar und mit Blick auf die Vorteile akzeptabel sein

 

Erweiterungsmöglichkeiten

Eine Erweiterung des PiHole/Adguard & Unbound durch Unraids Wireguard-VPN bspw. um das Handy unterwegs per VPN anzubinden und über den durch den eigenen, optimierten Internetzugang zu schicken, bietet sich an.

Ich habe hierzu die folgende Anleitung genutzt >Klick<

 

Meiner Erfahrung nach ist hierbei zu beachten:

  • Der IP Bereich eures lokalen LAN sollte nicht den typischen LAN Vorgaben entsprechen und bspw. auf 192.168.0.x umgestellt werden. Damit beugt ihr vor, dass wenn ihr euch mit eurem Handy gerade bspw. im WLAN eurer Freundin/Oma/Kumpel.. befindet und diese die selbe IP Range im (W)LAN haben wie ihr daheim, es zu Routing Problemen mit eurem VPN kommt. Das heisst einmal den DHCP & LAN Settings in eurem Router anpassen
  • In der Konfiguration von Wireguard ist die IP von PiHole/Adguard als DNS einzutragen
  • Der "Host access to custom networks" in den Docker Settings von Unraid muss auf "enabled" stehen, damit Wireguard mit diesen sprechen kann
  • Für den Zugriff eurer Geräte aus dem VPN auf lokale Geräte (PiHole/Adguard Oberfläche..) ist im Router noch eine manuelle Route notwendig, damit der von Wireguard genutzte IP Bereich (10.x.x.x) mit eurem lokalen LAN (192.x.x.x) sprechen kann. Das sollte dann so aussehen:

 

Unbenannt.thumb.JPG.0fabad01e0d6e5dd944a5fed04c757ac.JPG

 

Unbenannt2.thumb.JPG.d9d384b02caf077fd33fe09edfea06f6.JPG

 

 

 

 

 

 

Edited by Jabberwocky
  • Like 3
  • Thanks 2
Link to comment
  • Jabberwocky changed the title to Step by Step - Adguard / PiHole / Unbound (in Arbeit)

Setup von PiHole

Über die Apps nach der offiziellen PiHole-App suchen und diese installieren

 

1.png.ec5f66d8d8ea9e711c0c6c9c43844d2f.png

 

 

In der Konfiguration muss nur angepasst werden:

 

  • "Fixed IP Address (optional)" & "ServerIP"
    • Das ist die IP von Pihole selbst, unter der es in eurem lokalen Netzwerk laufen soll
  • "PIHOLE_DNS_"
    • Das ist die IP des Upstream DNS Servers, der die DNS Abfragen für den PiHole beantworten soll
    • Diese kann man ohne Unbound erstmal auf "8.8.8.8" (Google DNS Server) lassen
    • Wichtig: Nachdem der Unbound erfolgreich installiert und getestet ist, müsst ihr hier die IP vom Unbound eintragen
  • "WEBPASSWORD"
    • Das Admin Password für die PiHole Weboberfläche nach Belieben ändern

 

2.thumb.JPG.62978f8800f8c47d1e32ae473c46d157.JPG

 

3.thumb.JPG.85d295b752c509069c8a1827c11e81ee.JPG

 

4.thumb.JPG.55523c54fa02da27595475a0bf973ccb.JPG

 

 

Nach einem Klick auf "DONE" sollte die Installation starten, erfolgreich durchlaufen und direkt den PiHole starten.

Danach könnt ihr über einen Klick auf das PiHole-Icon die Weboberfläche aufrufen.

 

5.JPG.2cf5ba2b312963b1f07b137898cd7ecc.JPG

 

 

Nach Eingabe eures Admin Passwords (siehe Konfiguration oben), werden auf eurer PiHole-Oberfläche noch keinerlei Aufrufe und Statistiken zu sehen sein, da eure Geräte im LAN diesen noch nicht nutzen.

 

Bevor ihr euren Geräten im LAN den neuen PiHole als DNS mitgebt, könnt ihr diesen auf der Kommandozeile mit einem "dig" kurz testen. Öffnet dafür die Kommandozeile und gebt den folgenden Befehl ein - die IP ist mit der IP von eurem PiHole zu ersetzten:

 

dig www.heise.de @192.168.0.5

 

Das Ergebnis sollte das folgende sein

 

image.png.f03499f6481ef8e8980af98e78e4ee5e.png

 

Damit ist klar, der PiHole ist erreichbar und löst die DNS Anfrage ohne Probleme auf.  Wenn ihr den Befehl nochmal ausführt, sollte die "Query time" bei 0-1 msec liegen, da die Antwort direkt aus dem Cache des Pihole kommt.

 

Im nächsten Schritt könnt ihr den PiHole in eurem LAN als DNS bekannt machen: >Klick<

 

Edited by Jabberwocky
  • Like 2
Link to comment

Setup von Adguard Home

Über die Apps nach der Adguard-Home-App suchen und diese installieren

 

Unbenannt.thumb.JPG.0c8cd68328a77ca8ba64026d2913a48c.JPG

 

Den Hinweis auf eine eigene IP einfach bestätigen.

 

Unbenannt2.JPG.fc2a3b9328ee8f90af70cddc841c6395.JPG

 

In der nun aufgehenden Konfiguration müsst ihr die IP Adresse eintragen, unter der Adguard-Home laufen soll. In meinem Fall ist das die 192.168.0.4 und muss passend zu eurem Setup geändert werden. Der Rest kann auf den Standardeinstellungen bleiben.

 

Unbenannt3.thumb.JPG.69bb1db799cdfdeb4f97fab783da5390.JPG

 

Die Installation sollte danach ohne Probleme durchlaufen und der neuen Container direkt starten.

 

Unbenannt4.thumb.JPG.85b1bff8dc0f1f7299354397d865b075.JPG

 

Über einen Klick auf das Icon könnt ihr sodann das Webinterface aufrufen

 

Unbenannt5.JPG.7a4142e3439dbd642371f8495f2fcfdc.JPG

 

Bei dem ersten Start von Adguard-Home werden ein paar Einstellungen abgefragt. Bis auf das Admin PW könnt ihr alle Einstellungen so lassen, wie sie sind und euch bis zum Ende durchklicken.

 

Unbenannt6.JPG.1b89a05933c646a74eb1733616fbdf9a.JPG

 

 

Unbenannt7.thumb.JPG.84ba575595fa888ad1cb395c01e69759.JPG

 

 

Unbenannt8.JPG.b7612963c873187a37e419bf55f3b425.JPG

 

Unbenannt9.thumb.JPG.b873148f38c02c6606ebb147eecaf531.JPG

 

Unbenannt10.JPG.fc8cb7b8809613709a3f5be53aa91a1a.JPG

 

Danach landet ihr auf der noch recht leeren Übersichtsseite, da bisher noch keine Geräte den Adguard als DNS nutzen. Die Installation ist damit erstmal abgeschlossen.

 

Bevor ihr nun euren Geräten im LAN den neuen Adguard als DNS mitgebt, könnt ihr diesen auf der Kommandozeile mit einem "dig" kurz testen. Öffnet dafür die Kommandozeile und gebt den folgenden Befehl ein - die IP ist mit der IP von eurem Adguard zu ersetzten:

 

dig www.heise.de @192.168.0.4

 

Das Ergebnis sollte das folgende sein

 

image.png.c1cf1219830c23831a509442848d01f1.png

 

Damit ist klar, der Adguard ist erreichbar und löst die DNS Anfrage ohne Probleme auf.  Wenn ihr den Befehl nochmal ausführt, sollte die "Query time" bei 0-1 msec liegen, da die Antwort direkt aus dem Cache des Adguard kommt.

 

Im nächsten Schritt könnt ihr den Adguard in eurem LAN als DNS bekannt machen: >Klick<

 

Edited by Jabberwocky
  • Like 2
Link to comment

Optionen zur Bekanntmachung des PiHole / Adguard im LAN

Bei der Publikation des PiHole oder des Adguard als lokalen DNS gibt es nun drei Optionen mit verschiedenen Vor- & Nachteilen (wenn euch noch mehr einfällt, sagt Bescheid)

 

  • Option 1) Über den DHCP Server in eurem Router, der alle Adressen in eurem LAN verteilt
    • Vorteil: Alle Geräte, die per DHCP ihre Adresse beziehen, lösen über den PiHole auf und tauchen dort als einzelne Geräte in der Oberfläche auf, was eine einfachere Analyse & Logging der Anfragen ermöglicht
    • Nachteil: Wenn euer PiHole / Unraid (aus welchen Gründen auch immer) aus ist, muss entweder im DHCP ein andere DNS hinterlegt werden (idR. wieder euer Router) oder der PiHole durch einen anderen lokalen DNS (Raspberry mit Adguard, Unbound, PiHole..) ersetzt werden

 

  • Option 2) Als der DNS Server, den euer Router generell nutzt
    • Vorteil: Ihr müsst den DHCP auf eurem Router nicht anpassen und die Änderung betrifft direkt alle Geräte, die bisher euren Router als DNS eingetragen hattenVorteil: Ihr könnt einen zweiten, Public DNS wie bspw. 8.8.8.8 hinterlegen, der einspringt, wenn euer Unraid / PiHole mal nicht verfügbar ist
    • Nachteil: Ihr seht nur euren Router als anfragendes Gerät in der Oberfläche des PiHole

 

  • Option 3) Sowohl Option 1) als auch 2) eintragen - Der Pihole/Adguard als DNS sowohl im DHCP als auch als DNS des Routers inkl. einem zweiten public DNS wie bspw. 8.8.8.8
    • Vorteil: Alle Geräte tauchen nach und nach in der Übersicht des PiHole/Adguard auf und nutzen den PiHole direkt
    • Vorteil: Bis zum Update des DNS per DHCP leitet der Router die DNS Anfragen auf den PiHole/Adguard
    • Vorteil: Der Router und alle manuell gesetzten IPs mit dem Router als DNS kommen auch ohne PiHole / Adguard am Unraid ins Internet
    • Nachteil: "Höchster" Aufwand, um es umzustellen bzw. zurück auf die Default Einträge zu stellen

 

Hierzu logt euch auf eurem Router ein (bei einer Fritzbox sollte dies hier sein: http://192.168.178.1 ) zur Konfiguration

 

Option 1) Über den DHCP eures Routers

Navigiert zu den DHCP Einstellungen und tragt dort die IP eures PiHole/Adguard als DNS für die lokalen Geräte ein. Ihr könnt etwas warten, bis alle Geräte in eurem LAN den neuen DNS Server (= euern PiHole / Adguard) per DHCP erhalten oder ihr startet diese kurz neu, damit sie sich erneut beim DHCP auf eurem Router melden und den neuen DNS bekommen.

 

Unbenannt8.thumb.JPG.090a27172eac4bd8d757d86e2d413d78.JPG.a1dde8fdd0e322d372579bf568ee6872.JPG

 

Unbenannt9.thumb.JPG.c39d3c9d47478b10ad4a0ff30ffb6ec4.JPG.dd1cffc0b91ad5dfdb1252f9e8bb2bb3.JPG

 

Unbenannt10.thumb.JPG.0763883d0f56236162298178e1d407b2.JPG.6406c2a13e3e8dd0ba53082a2c43a994.JPG

 

Option 2) Als der DNS Server eures Routers

Navigiert zu den DNS Einstellungen eures Routers und tragt dort euren PiHole/Adguard als DNS ein.

Ich habe hier wie oben beschrieben noch als Backup den 8.8.8.8 eingetragen.

 

Unbenannt.thumb.JPG.8d960b0cb10d4d4ef4694a5436d31614.JPG.0a89b9d0531be5f1eb4a59ad9e045cbf.JPG

 

 

Das sollte es bereits gewesen sein.

Die Übersicht auf eurem PiHole / Adguard sollte sich nun entsprechen mit Geräten und DNS-Abfragen füllen.

 

Im nächsten Schritt kann der PiHole / Adguard nun noch um rekursive Namesauflösung mit Unbound erweitert  werden: >Klick<

 

 

 

Edited by Jabberwocky
  • Like 1
Link to comment

Setup von Unbound

Bei der Konfiguration von Unbound habe ich mich an der Beschreibung auf Docker-Hub & Gibhub orientiert, was in der Konfiguration angepasst werden muss und welche Variablen & Pfade der Container benötigt:

 

 

Wichtig ist hierbei, dass wir für die rekursive DNS Auflösungen in einem festzulegenden Ordner die Standard-Konfigurationsdatei, die unbound.conf, erstellen. Ich habe den Ordner klassisch bei den anderen Konfigurationsdateien angelegt unter /mnt/user/appdata/

 

Öffnet also eine Konsole, erstellt das Verzeichnis und legt dort die Datei unbound.conf an:
 

mkdir /mnt/user/appdata/unbound
nano /mnt/user/appdata/unbound/unbound.conf

 

In die "unbound.conf" kommt die Standard-Konfiguration für rekursive DNS-Auflösung per Copy & Paste von hier:

https://github.com/MatthewVance/unbound-docker/blob/master/unbound.conf

 

 

Nach dem Einfügen, sind die folgenden Einträge ein- bzw. auskommentieren und zu speichern:

 

  • # include: /opt/unbound/etc/unbound/a-records.conf
    • mit einem "#" auskommentiert da ich lokale DNS Einträge entweder am Router oder PiHole eintrage
    • falls ihr den Eintrag aktiviert lasst, müssen die Konfigurationsdatei auch erstellen (Vorlagen hierfür gibt es auch auf der GitHub Seite von dem Container), da sonst der Start von Unbound nicht klappt

 

  • # include: /opt/unbound/etc/unbound/srv-records.conf
    • mit einem "#" auskommentiert, da ich lokale DNS Einträge entweder am Router oder PiHole eintrage
    • falls ihr den Eintrag aktiviert lasst, müssen die Konfigurationsdatei auch erstellen (Vorlagen hierfür gibt es auch auf der GitHub Seite von dem Container), da sonst der Start von Unbound nicht klappt

 

  • # logfile: /dev/null
    • mit einem "#" auskommentiert, da der Container keinen Zugriff auf /dev/null hat und eine Fehlermeldung im Log erzeugt

 

  • logfile: /opt/unbound/etc/unbound/unbound.log
    • hier das "#" entfernen. Damit erstellt Unbound sein Logfile in dem ArbeitsOrdner, in dem auch die Konfiguration liegt (falls ihr dies nicht woanders haben möchtet)

 

Hinweis: Bei mir klappt das Aufrufen der Logs über das Symbol von Unbound in der Docker-Übersicht leider nicht (Schickt gerne Tipps, woran das liegen könnte).

Bei einem zweiten Container zum Testen mit der gleichen Konfiguration funktionierte dies jedoch ohne Probleme (warum auch immer..).

Auf der Konsole kann man jedoch immer einen Blick in das Log werfen mit dem folgenden Befehl:

 

tail /mnt/user/appdata/unbound/unbound.log

 

 

Sobald der Ordner mit der unbound.conf erstellt ist, kann man den Docker Container laden & konfigureren.

Hierfür die Apps nach Unbound suchen und als Quelle "DockerHub" auswählen

 

Unbenannt.thumb.JPG.7ca25c9ea439e565542e338fd588a21c.JPG.da41061a366ed439e2222892a92809c5.JPG

 

 

Auf DockerHub habe ich mich für das Packet von MVANCE entschieden (falls es bessere / gepflegtere / offiziellere Pakete gibt, gebt Bescheid).

Klickt bei diesem auf "Install"

 

Unbenannt2.thumb.JPG.93e5bc8079c939446fef80686845ff1f.JPG.f99400d43feabb6b1e28539fafaa6a8b.JPG

 

 

In der folgenden Abfrage, ob die Konfiguration des Containers automatisch erkannt werden soll, klickt auf "ja"

 

image.webp.f4fbea0ecc268b1f01e859c791d8b8d7.webp

 

Nach einigem Nachdenken bekommt ihr sodann von Unraid die Konfiguration des Containers präsentiert.

Diese müssen wir nun noch etwas anpassen, da die Konfigurations-Erkennung nicht ganz geklappt hat.

 

Unbenannt3.thumb.JPG.31e18529fd6fd5d0fd5cafe8f8a0852f.JPG.5f241a52705e7ee74be72f3e19c70ee3.JPG

 

Die markierten Werte müssen wir also für den Betrieb anpassen.

Die überflüssigen Variablen könnt ihr einfach entfernen und die neuen Variablen / Pfad einfach über "Add another Path.." hinzufügen.

 

Unbenannt6.JPG.550931da71842e702f24ae679cb9db1c.JPG.ad2563f2045b2403ac2a09042e7a306f.JPG

 

Unbenannt7.JPG.93620b8b07b3ceabf9eca4a9b667e85d.JPG.49d54f3e4890123e51ec59d27ff8bc24.JPG

 

Unbenannt2.JPG.a2d101c1ce7a21762ee12b8ca4401801.JPG.781664f7c6e41505c3c81396818870aa.JPG

 

Der Netzwerk Typ muss noch auf br0 angepasst, womit ihr eine eigene IP (passend zur der IP in eurer unbound.conf) vergeben könnt.

Da der PiHole bei mir bereits auf der x.x.x.5 läuft, habe ich die x.x.x.6 vergeben.

 

Letztlich wird wird die Konfiguration zu:

 

Unbenannt4.thumb.JPG.dfcc451fd9528e583d2b34842f953a8f.JPG.f4a1771cd6d193c60bc133b5fbe21d1a.JPG


Danach auf "Apply" klicken und der Container wird heruntergeladen und direkt gestartet.

In dem erstellten Ordner für die Konfiguration werden automatisch weitere Datein erstellt, also nicht wundern, wenn da auf einmal mehr drin ist.

 

In der Docker Übersicht solltet ihr, je nach euren Anpassungen, das hier sehen:

 

image.webp.677785ca5adc8015c5923d26d62ed481.webp

 

 

Bevor ihr nun euren PiHole oder Adgurade den Unbound als DNS Resolver mitgebt, könnt ihr diesen auf der Kommandozeile mit einem "dig" testen. Öffnet dafür die Kommandozeile und gebt den folgenden Befehl ein - die IP ist mit der IP von eurem Unbound zu ersetzten:

 

dig www.heise.de @192.168.0.6

 

Das Ergebnis sollte das folgende sein

 

image.png.b13be529fe3f0c9b44de8b9c4999862f.png

 

Damit ist klar, der Unbound ist erreichbar und löst die DNS Anfrage ohne Probleme auf.  Wenn ihr den Befehl nochmal ausführt, sollte die "Query time" bei 0-1 msec liegen, da die Antwort direkt aus dem Cache des Unbound kommt.

 

Im nächsten Schritt könnt ihr den Unbound in eurem PiHole >Klick< / Adguard >Klick< als DNS Resolver einstellen. 

 

Edited by Jabberwocky
  • Like 2
Link to comment

PiHole & Unbound

Nach dem erfolgreichen Test von Unbound und PiHole per dig, könnt ihr in eurer PiHole-Installation den neuen Unbound als DNS Resolver eintragen.

 

Hierzu einfach nochmal die Konfiguration des PiHole-Containers aufrufen und dort die IP von Unbound im Punkt "PIHOLE_DNS_" eintragen.

 

Wichtig: Ein Änderung des Upstream DNS über die Weboberfläche vom PiHole, wird beim nächsten Update des Containers mit der Konfiguration des Docker-Containers überschrieben, weshalb die Änderung in der Container-Konfiguration an sich erfolgen muss

 

Unbenannt11.thumb.JPG.26fcc2b8b4b3cf13ff72d35d9c293565.JPG.c37a942af3fa131ab50e4ec4398fb6e5.JPG

 

 

Auf der Weboberfläche vom PiHole könnt ihr nun zum einen den neuen Unbound als DNS Server sehen und zum anderen taucht er in der Übersicht der "Upstream Server" auf, die sich mit der Zeit entsprechend anpassen wird

 

Unbenannt12.thumb.JPG.e8678eab1ee43197f408e0e7cfc8624d.JPG.51fc9ee238cba3055ddfabb5a70df411.JPG

 

Unbenannt13.thumb.JPG.c8d0c4611344318f1e1fe693e0aa56be.JPG.93ee3a9696b2170cfb7a25685ff5c07c.JPG

 

Das sollte es schon sein :)

 

Bei Bedarf könnt ihr nun noch weitere Filterlisten für noch weniger Werbung u.ä. hinzufügen: >Klick<

 

Edited by Jabberwocky
  • Like 2
Link to comment

Adguard Home & Unbound

Nach dem erfolgreichen Test von Unbound und Adguard per dig, könnt ihr in eurer Adguard-Installation den neuen Unbound als DNS Resolver eintragen.

 

Öffnet hierzu nochmal das Webinterface von Adguard und tragt dort die IP von Unbound unter "Settings" - "DNS Settings" als Upstream DNS Server ein. Danach kann unten auf der Seite der DNS gespeichert und über "Test upstream" getestet werden.

 

Unbenannt.thumb.JPG.aa8cb1b6674017279896287d0426aa71.JPG

 

Unbenannt14.thumb.JPG.fe267ca50cb987b957255e2c1bbd65d0.JPG

 

Auf der Weboberfläche vom Adguard könnt ihr nun zum einen den neuen Unbound als DNS Server unter "Top Upstreams" und zum anderen in der Übersicht der "Average upstram response time" auf.

 

Unbenannt15.thumb.JPG.c3446bea5fefbf3397301589458ab5e8.JPG

 

Das sollte es schon sein :)

 

Bei Bedarf könnt ihr nun noch weitere Filterlisten für noch weniger Werbung u.ä. hinzufügen >Klick<

 

Hinweis:

  • Ich habe Adguard noch nicht wirklich getestet und kann nicht sagen, ob die Änderung ein Update vom Container übersteht
  • Weitere Tipps für Adguard schreibt gerne und ich füge sie hier dann hinzu

 

Edited by Jabberwocky
  • Like 2
Link to comment

Filterlisten hinzufügen

Sowohl bei PiHole als auch bei Adguard können weitere Filterlisten hinzugefügt werden, damit noch mehr Werbung usw. geblockt bzw. nicht aufgelöst wird.

Ich habe auf dem PiHole bisher gute Erfahrungen mit den Filterlisten von Firebog gemacht, auf welche ihr über https://firebog.net/ zugreifen könnt.

 

Adlists in PiHole

Öffnet die Weboberfläche des PiHole und geht in der Navigation auf den Punkt "Adlists".

Hier könnt ihr die von Firebog kopierten Links auf die einzelnen txt files als neue Liste einfügen.

Um es einfacher zu machen, markiert die Listen Blockweise und fügt diese in dem Feld ein - man muss also nicht alle Listen einzeln hinzufügen.

 

Unbenannt5.thumb.JPG.41b8002ccf00e9848212bc072462c7b2.JPG.9136e67562029cc6e1ff0bc830142293.JPG

 

 

Nach dem erfolgreichen Hinzufügen ist noch die "Gravity" vom PiHole zu aktualisieren, damit alle neuen Adlists geladen werden.

 

Unbenannt6.thumb.JPG.0026ddfd032913d90bce715ac39f8579.JPG.c75c0a278745939afa486df39a9b86e8.JPG

 

Zum Abschluss seht ihr auf der Übersicht, dass die Anzahl der "Domains on Adlists" nun (je nach Liste) um einiges höher ist und damit weniger Werbung usw. bei euch landet.

Wenn ihr hier mit der Maus auf "Domains on Adlists" geht, zeigt er euch deren letztes Update an.

Das wird automatisch einmal die Woche vom PiHole durchgeführt und neue Einträge in den Listen landen automatisch auf eurem System und in dessen "Gravity".

 

 

Unbenannt7.thumb.JPG.5fed42c79d661743a16722f677663f84.JPG.e1f1f5bdc99aa99192e70620b4e2d13a.JPG

 

 

Adlists in Adguard

In Adguard ruft über die Navigation "Filters" -> "DNS Blocklists" auf.

 

Unbenannt.thumb.JPG.5294f5b2efeafce687314185dadc8c47.JPG

 

 

Über "Add Blocklist" könnt ihr sodann auswählen, ob ihr eine bestehende Liste ("choose from the list") oder eine eigene Liste ("Add a custom list") hinzufügen wollt.

 

Unbenannt3.thumb.JPG.68a770b479d66702dfff8d49d5cfe5fa.JPG

 

Über "Add a custom list" können beispielsweise die Listen von Firebog genutzt werden. Leider können diese jedoch immer nur einzeln hinzugefügt werden. Über "Choose from the list" kann man bequemer verschiedene Listen auswählen, welchen direkt geladen werden.

In der Übersicht sieht man sodann, wie viele Einträge auf den Blocklisten jeweils geladen wurden und in Zukunft geblockt werden.

 

image.thumb.png.a7bb387d0514947c4c49b9ca7009ec23.png

 

 

 

 

Edited by Jabberwocky
  • Like 2
Link to comment
  • Jabberwocky changed the title to Step by Step - Adguard / PiHole & Unbound

Ich habe eine ganz komische Situation.

 

Adguard und Unbound sind installiert. Es schient so, als würde es funtkionieren. Aber ich bin mir ziemlich sicher, dass es nicht funktioniert.

 

Der dig command funktioniert nicht. Bekomme ich folgende Fehlermeldung.

 

705524955_Screenshot2024-02-21233535.png.5e8dadb79e39a6d7484c4367d008ba75.png

 

Auch interessant ist der Adguard Log.

 

741873772_Screenshot2024-02-21233757.thumb.png.a6c68fde031913ea57da23eeef20b0c6.png

 

Hat irgendjemand eine Idee was hier sein könnte?

Link to comment
8 hours ago, Ulairi said:

Ich habe eine ganz komische Situation.

 

Adguard und Unbound sind installiert. Es schient so, als würde es funtkionieren. Aber ich bin mir ziemlich sicher, dass es nicht funktioniert.

 

Der dig command funktioniert nicht. Bekomme ich folgende Fehlermeldung.

 

705524955_Screenshot2024-02-21233535.png.5e8dadb79e39a6d7484c4367d008ba75.png

 

Auch interessant ist der Adguard Log.

 

741873772_Screenshot2024-02-21233757.thumb.png.a6c68fde031913ea57da23eeef20b0c6.png

 

Hat irgendjemand eine Idee was hier sein könnte?

 

Ich vermute, der Adguard läuft bei dir auf der x.x.x.121 und der Unbound auf der x.x.x.120 ?

Funktioniert der Adguard, wenn du als Upstream Resolver bspw. 8.8.8.8 statt dem lokalen Unbound eingibst? Klappt dann zumindest ein "dig" gegen den Adguard?

 

  • Like 1
Link to comment

Adguard 120 und Unbound 121.

 

Adguard funktioniert ohne Probleme, wenn ich andere Upstream Server eintrage. Verwende ich seit Jahren so. Dig Command habe ich noch nicht ausprobiert.

 

Was bei meinem Setup total komisch ist, wenn ich Unbound verwende, es funktioniert alles, ich bekomme im Adguard Log jedoch diese Fehler. Und ganz komisch ist, wenn ich einen DNS Leak Test mache, dann sehe ich, dass auf einmal mein ISP dort aufscheint. Obwohl ich überall die IP von Adguard eingetragen habe.

 

Stoppe ich Unbound wieder, dann scheint beim DNS Leak Test wieder die Upstream Server von Adguard auf.

  • Like 1
Link to comment

Neue Idee: Kannst du mal in deinen Unraid Settings unter Docker den "Host access to custom networks" aktivieren?

Funktionert es dann?

 

Sollte dann so aussehen (mit deinem IP Bereich & eventuell durchgeführten Anpassungen natürlich)(oben im Guide neu hinzugefügt):

 

Unbenannt1.thumb.JPG.20d3618874c2a43b82b41b0d13aa33ba.JPG

 

Hast du im Adguard möglicherweise noch einen Backup DNS eingetragen? Das würde erklären, dass er, obwohl er auf einen Timeout läuft, dennoch funktioniert.

 

Falls es mit dem Custom Network noch nicht gelöst ist - Kannst du deine unbound.conf mal posten / hier anhängen und einen Screenshot von der Konfiguration des Unbound Containers machen?

Edited by Jabberwocky
  • Like 1
Link to comment

Ich hatte genau das gleiche Problem das der Dig auf Unbound nicht funktionierte.

 

"Host access to custom networks" auf enable hat das Problem gelöst.

 

Danke für die Anleitung übrigens!

 

Gruss,

Joerg

 

PS: An die anderen die das einsetzen. Ihr könnt ob der Arbeit das zu dokumentieren gerne mal ein paar Likes/Thanks verteilen

Edited by MPC561
  • Like 1
Link to comment

MIt "Host access to custom networks" enabled funktioniert der dig command bei mir jetzt auch.

 

Aber trotzdem bin ich mir noch nicht sicher, ob alles funktioniert.

 

Im Log von Unbound habe ich noch folgenden Fehler:

 

1987439311_Screenshot2024-02-22230749.thumb.png.5e4b063ec6aa7e6bf9c2f8469daec6b0.png

 

Mache ich einen DNS Leak Test sieht der wie folgt aus:

 

929503412_Screenshot2024-02-22230737.thumb.png.99e565461c027ca6e41f4042f641c1ed.png

 

Sollte hier mein ISP stehen? Ich nehme an nicht?

 

Ich poste auch noch meine ganzen Einstellungen:

 

278521839_Screenshot2024-02-22231029.thumb.png.aee699046fa826c9803e988ccdf18bbf.png1171746562_Screenshot2024-02-22231041.thumb.png.f0b6b26b9441d35b51af89cc6ae9f7a7.png1934865408_Screenshot2024-02-22231056.thumb.png.2dccb619071ba85c3fae80ec2dde62e1.png2023816115_Screenshot2024-02-22231120.thumb.png.8f8c93853f6d9bfd386dfa46d31e24cc.png

1284169135_Screenshot2024-02-22231130.thumb.png.fb2de9ee4ca1f1fdf46bbbb4fa98a05e.png

 

Link to comment
18 hours ago, MPC561 said:

Ich hatte genau das gleiche Problem das der Dig auf Unbound nicht funktionierte.

 

"Host access to custom networks" auf enable hat das Problem gelöst.

 

Danke für die Anleitung übrigens!

 

Gruss,

Joerg

 

PS: An die anderen die das einsetzen. Ihr könnt ob der Arbeit das zu dokumentieren gerne mal ein paar Likes/Thanks verteilen

 

Klasse & gerne - freut mich, wenn es funktioniert und jemandem weiterhilft. Hatte schon befürchtet, dass ich irgendeinen Schritt übersehen habe :)

 

Der "Host access to custom networks" sollte nur für die Tests per dig notwendig sein und nicht für die eigentliche Verbindung zwischen PiHole /  Adguard & Unbound. Macht es aber einfacher zum testen finde ich. Ich habe es oben mal als Vorbereitung aufgenommen und entsprechend kommentiert.

 

Kann man eigentlich Posts nachträglich einfügen? Dann tippe ich mal noch Wiregurad & Adguard / PiHole als typischen UseCase zusammen und verlinke es. Hatte da eine etwas veraltete Anleitung aber hat nach etwas anpassen dann noch geklappt.

Edited by Jabberwocky
Link to comment
  • Jabberwocky changed the title to Step by Step - Adguard / PiHole & Unbound (Docker)
16 hours ago, Ulairi said:

MIt "Host access to custom networks" enabled funktioniert der dig command bei mir jetzt auch.

 

Aber trotzdem bin ich mir noch nicht sicher, ob alles funktioniert.

 

Im Log von Unbound habe ich noch folgenden Fehler:

 

1987439311_Screenshot2024-02-22230749.thumb.png.5e4b063ec6aa7e6bf9c2f8469daec6b0.png

 

Mache ich einen DNS Leak Test sieht der wie folgt aus:

 

929503412_Screenshot2024-02-22230737.thumb.png.99e565461c027ca6e41f4042f641c1ed.png

 

Sollte hier mein ISP stehen? Ich nehme an nicht?

 

Ich poste auch noch meine ganzen Einstellungen:

 

278521839_Screenshot2024-02-22231029.thumb.png.aee699046fa826c9803e988ccdf18bbf.png1171746562_Screenshot2024-02-22231041.thumb.png.f0b6b26b9441d35b51af89cc6ae9f7a7.png1934865408_Screenshot2024-02-22231056.thumb.png.2dccb619071ba85c3fae80ec2dde62e1.png2023816115_Screenshot2024-02-22231120.thumb.png.8f8c93853f6d9bfd386dfa46d31e24cc.png

1284169135_Screenshot2024-02-22231130.thumb.png.fb2de9ee4ca1f1fdf46bbbb4fa98a05e.png

 

 

Prima!

Dann funktioniert also ein dig gegen Adguard ohne Unbound und ein dig gegen Unbound jeweils ohne Probleme nehme ich an?

Dann sollte die Zusammenarbeit von beiden wie du geschrieben hast passen. Die Konfiguration von Adguard sollte auch passen - hier ist mMn. erstmal nur wichtig, dass dein Unbound als Upstream DNS eingetragen ist.

 

Die zwei "Warnings" im Log sind kein Problem und nur als Hinweis von Unbound zu verstehen >Klick< (Hatte bzw. habe ich auch im Log)

 

Zu dem DNS Leak Test: Das sollte so passen.

Wenn du hier deine eigene IP siehst (kannst du nochmal prüfen bspw. mit www.ipchicken.com & What-is-my-dns-server) heisst es ja nur, dass du selbst der DNS Server bist bzw. der Besitzer von diesem bist - was mit Unbound ja gewollt ist >Klick<

 

Auch passend die Erklärung auf der Seite "The owners of the servers above have the ability to associate your personal IP address with the names of all the sites you connect to and store this data indefinitely."

 

Ich füge oben noch ein paar Links zu Testmöglichkeiten für PiHole / Adguard & Unbound und dem erwarteten Erebnis hinzu

 

Edited by Jabberwocky
Link to comment

 

 

 

19 hours ago, Jabberwocky said:

 

Prima!

Dann funktioniert also ein dig gegen Adguard ohne Unbound und ein dig gegen Unbound jeweils ohne Probleme nehme ich an?

Dann sollte die Zusammenarbeit von beiden wie du geschrieben hast passen. Die Konfiguration von Adguard sollte auch passen - hier ist mMn. erstmal nur wichtig, dass dein Unbound als Upstream DNS eingetragen ist.

 

Ja genau funktioniert jetzt beides. Vielen Dank nochmal.

 

Was mir jetzt noch so im Kopf herumschwirrt...bei den jetzigen Einstellungen macht Adguard Home einen DNS Cache und Unbound einen Cache oder? Ist das sinnvoll? Sollte ich den Cache in Adguard nicht deaktivieren? Hat damit schon jemand Erfahrung? Wie läuft das in Pihole?

Link to comment
44 minutes ago, Ulairi said:

 

 

 

 

Ja genau funktioniert jetzt beides. Vielen Dank nochmal.

 

Was mir jetzt noch so im Kopf herumschwirrt...bei den jetzigen Einstellungen macht Adguard Home einen DNS Cache und Unbound einen Cache oder? Ist das sinnvoll? Sollte ich den Cache in Adguard nicht deaktivieren? Hat damit schon jemand Erfahrung? Wie läuft das in Pihole?

 

Ich würde es so lassen, wie es ist (also sowohl Cache im Adguard als auch im Unbound) - der erste in der Abfragekette, der die Antwort auf eine DNS Anfrage im Cache hat, wird sie dann zurück geben.

Dazu auch >Klick<

 

Du kannst im Adguard noch DNSSEC und DOT / DOH deaktivieren, falls du es noch aktiv hast.

Die eigentliche Abfrage wird ja durch Unbound durchgeführt und muss nicht doppelt verfiziert werden (DNSSEC) bzw. Unbound macht kein DOT / DOH.

 

Edited by Jabberwocky
Link to comment

Hallo,

habe die Anleitung für unbound umgesetzt wie oben beschrieben, mittlerweile zum zweitenmal, da ich einen Tippfehler auschließen wollte. Trotzdem bekomme ich, wenn der dig für unbound absetzt wird, keine "answer":

; <<>> DiG 9.16.42 <<>> www.heide.de @192.168.178.208
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 26848
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.heide.de.                  IN      A

;; Query time: 573 msec
;; SERVER: 192.168.178.208#53(192.168.178.208)
;; WHEN: Sat Feb 24 11:55:00 CET 2024
;; MSG SIZE  rcvd: 41

Im Log steht folgendes:

root@Beppo:~# tail /mnt/user/appdata/unbound/unbound.log
[1708771955] unbound[1:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
[1708771955] unbound[1:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
[1708771955] unbound[1:0] info: start of service (unbound 1.19.0).
[1708772086] unbound[1:0] info: service stopped (unbound 1.19.0).

Wo ist mein Fehler? Um eine Idee wo ich ansetzten kann, wäre ich dankbar.

 

Übrigens, beim schon länger installierten Pihole bekomme ich eine "answer".

Edited by Bigbrother
Link to comment

Ja, richtig unbound läuft auf .208. Leider hat es nicht an dem Tippfehler gelegen:

 

root@Beppo:~# dig www.heise.de @192.168.178.208

; <<>> DiG 9.16.42 <<>> www.heise.de @192.168.178.208
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27394
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.heise.de.                  IN      A

;; Query time: 82 msec
;; SERVER: 192.168.178.208#53(192.168.178.208)
;; WHEN: Sat Feb 24 12:43:39 CET 2024
;; MSG SIZE  rcvd: 41

 

Link to comment

Hmm interessant, laufen tut er also aber er löst nicht auf, was man an dem SERVFAIL sieht. Mit anderen Adressen wie google usw. bekommst du vermutlich den selben Fehler zurück?

 

PiHole läuft bei dir bereits ohne Probleme meintest du oder? VLAN / Firewall Einstellungen oder so hast du vermutlich nicht am laufen, was die x.x.x.208 blockieren könnte?

Kannst du mal deine unbound.conf zum durchsehen anhängen oder posten?

Link to comment

Also war davor "Pihole-DoT-DoH" und Unbound und die dig Abfrage direkt an Unbound schlug fehl.

Und jetzt "Pihole" und Unbound und die dig Abfrage direkt an Unbound hat geklappt.

 

Komisch, das sollte sich ja eigentlich nicht beeinflussen.

Aber gut zu hören, dass es jetzt funktioniert!

 

PS. Deine Unbound.conf sieht auf den ersten Blick auch i.o. aus

Edited by Jabberwocky
Link to comment
  • Jabberwocky changed the title to Step by Step - Adguard / PiHole & Unbound (Manuell mit Docker)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.