Unbound Installation - DNS Cloudflare?

Hallo in die Runde!
Ich habe mir nun Unbound auf den Raspberry neben das PiHole installiert. Als Grundlage habe ich diese Anleitung genommen: https://www.heimnetz.de/anleitungen/einplatinencomputer/raspberry-pi/raspberry-pi-unbound-dns-resolver-mit-pi-hole-installieren-und-einrichten/

Das hat auch hervorragend funktioniert, keine Fragen offen.

Bis auf…na ja, bis auf das Ergebnis: Wenn ich auf dnsleaktest gehe, werden zwei Server von Cloudflare angezeigt.

Ich frage mich nun, das tat ich bei der Installation ehrlich gesagt schon, ob in der Unbound Konfig nicht irgendwo meine „Wunsch DNS Server“ eingetragen werden müssten…
Oder wo habe ich den Denkfehler?

Beim Lesen aller anderen Threads zum Thema wurde ich nicht fündig…

Vermutlich ist es eine Kleinigkeit?! Kann mir jemand einen Tip geben?

Eventuell hast du einfach nur DoH im Webbrowser aktiv.
Falls du nicht die ältere ESR Version vom Firefox benutzt, müssten sich die Einstellungen dafür in den Einstellungen unter „Datenschutz & Sicherheit“ befinden.

Nein, leider nicht. Ist ausgeschaltet.

Du hast auch den letzten Abschnitt unter 2. umgesetzt? (Diesen habe Ich z.B. in der Anleitung überlesen, aufgrund der Troubleshooting Abschnitte dazwischen)

In Unbound selbst gibst du nämlich keine DNS Server an, Unbound kontaktiert die zuständigen Server „von alleine“. Dabei würde dir auf den Testseiten die IP-Adresse deines Heimanschlusses angezeigt werden.

Das einzige was mir noch einfallen würde, wenn du den Schritt oben ausgeführt hast, wäre, dass du eventuell noch nicht Pi-Hole in der Fritzbox als DNS Server hinterlegt hast (wobei dies nach einen anderen deiner Beiträge schon umgesetzt sein worden müsste?), oder bereits auf deinem System, auf dem du testest, selbst in den Netzwerkeinstellungen einer eingetragen wurde?

Danke für Deine Mühen!

Doch, doch. Ich habe genau diesen Custom Eintrag gemacht.
In der FB ist das Pihole auch korrekt in den Internet- und Netzwerkeinstellungen als DNS Server hinterlegt.

Könnte es mit diesen Einstellungen in der Konfig Datei zu tun haben?

# Ensure privacy of local IP ranges private-address: 192.168.0.0/16 private-address: 169.254.0.0/16 private-address: 172.16.0.0/12 private-address: 10.0.0.0/8 private-address: fd00::/8 private-address: fe80::/10

Ich habe nutze den IP Kreis von 192.168.x.x

Allerdings müsste es doch 192.168.0.0/24 sein, oder nicht? (In der kopierten Konfig steht ja /16)

Wie kann ich die Konfigurationsdatei auf dem Pi eigentlich editieren? Wie ist der Befehl um sie zu öffnen??

Die Konfigurationsdatei für Unbound kannst du so auf dem Pi mit „Nano“ editieren:
sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf
(Speichern mit Strg + O, schließen mit Strg + X - letzteres bietet das speichern der Datei bei Veränderungen aber auch an)
Dabei aber unbedingt auf die Syntax achten. Hinterher lässt sich die Konfiguration von Unbound per sudo systemctl reload unbound neu einlesen.

Nein, mit der Konfigurationsoption hängt es nicht zusammen. Diese verhindert nur, dass für eine Antwort auf eine DNS-Anfrage eine IP-Adresse aus einen lokalen Adressraum zugelassen wird.
Also dass sich www.evilsite.com nicht zu 192.168.178.1 auflösen lässt. Hierbei bezieht sich das /16 auf die ersten 16 Bit (192.168) der IP-Adresse (192.168.178.0/24 würde sich auf z.B. 192.168.178.XXX beschränken, und das wäre an dieser Stelle, zu diesen Zweck, inkorrekt).
Das ist grundsätzlich meist erwünscht und führt nicht zu deinem jetzigen Problem. Also alles richtig an dieser Stelle.

An irgendeinen Ort in deinen Konfigurationen wird ein DNS Server von Cloudflare hinterlegt oder als „Fallback“ verwendet - oder ein Dritter, der die an Ihn gerichteten Anfragen über Cloudflares DNS Server auflösen lässt.

Mir bekannte Orte sind hier nur:
Firefox (DNS over HTTPS, wird aber gerne vom Firefox selbst eingestellt, und verwendet standardmäßig Cloudflare)
iOS/Android (Android: „Private DNS“ in den Netzwerkeinstellungen auf Android, optional und selbst eingerichtet)
Windows/Linux: in den Netzwerkeinstellungen (normalerweise per DHCP konfiguriert, wenn du dort also nichts umgestellt hast, wird es hier dran eher nicht liegen.)
Fritz Box:

  1. DNS over TLS - siehe z.B. hier https://privacy-handbuch.de/handbuch_93b1.htm
  2. Heimnetzeinstellungen und unter Zugangsdaten (Beide Orte hier unter „Punkt 5-9:“ beschrieben)

Abseits davon wüsste Ich nicht, worüber sonst deine DNS Anfragen abgewickelt werden sollten.
Dann müsstest du auf jemand anderes Antwort warten.
Einzig wenn du noch ein VPN verwendest, wird für gewöhnlich dessen DNS Server verwendet, und nicht die von dir selbst konfigurierten (mit wenigen Ausnahmen).

Ich hoffe, irgendetwas hilft.

Vielen Dank für Deine Geduld, @D299 !
Ich habe es zur Sicherheit kontrolliert, war aber alles so eingestellt: In der Fritte kein DOH/DOT auch kein Fallback "Falls nicht…dann Provider DNS), im Browser steht DNS auf Aus und ansonsten habe ich nichts :frowning: Und VPN wird auch nicht genutzt.

Jetzt habe ich im Pihole erst mal wieder umgestellt auf OpenDNS und Quad9 …und DNS Leaktest zeigt immer noch Cloudflare! :crazy_face:

Jetzt verstehe ich gar nichts mehr :man_facepalming:

1 „Gefällt mir“

Dann versuche mal Folgendes…so habe ich es bei mir gemacht und es funktioniert.

  • Die gewünschten DNS Server müssen sehr wohl in Unbound festgelegt werde. Um dies zu erreichen wechselst Du in das Verzeichnis /etc/unbound/unbound.conf.d

  • Mit z.B Nano legst Du hier eine Datei an deren Endung auf jeden Fall mit .conf endet. Unbound liest nämlich alle Dateien in diesem Verzeichnis ein die auf .conf enden. Deiner Fantasie sind hier keine Grenzen gesetzt. Meine Datei heisst z.B. meinname-dnsconfig.conf

Meine meinname-dnsconfig.conf Datei hat folgenden Inhalt:

server:
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt

forward-zone:
name: „.“
forward-tls-upstream: yes

#Digitalcourage e.V.
forward-addr: 5.9.164.112@853#dns3.digitalcourage.de

#Digitale Gesellschaft (CH) DNS Server
forward-addr: 185.95.218.43@853#dns.digitale-gesellschaft.ch

Danach Unbound neu starten. Dann solltest Du beim Leaktest auch die eingestellten DNS Server angezeigt bekommen.

Super Tip, @anon92514140
Habe ich genauso umgesetzt und auch keinen Fehler bekommen.

Beim Test nun, bekomme ich als einzigen DNS Server Versatel angezeigt.

Versatel ist der DNS Server Deiner Wahl ?

Öhm…halbgare Antwort von mir.
Nein, auf keinen Fall.
Digitalcourage und Mullvad habe ich eingetragen.

Wo könnte denn nur der DNS gestört/umgeleitet werden…??? grübel
Ich schlaf mal eine Nacht drüber…

Nimm bitte mal Mullvad raus aus der .conf und teste erneut.

Wenn ich die geänderte Datei speichern will, kommt die Fehlermeldung „Permission denied“. Den Unbound Dienst habe ich vorher gestoppt.

Etwas merkwürdig…
Starte Unbound erneut und frage den Unbound Status mit „sudo systemctl status unbound.service“
ab. Alles auf „grün“ ?
Wenn „Ja“, dann lasse Unbound einfach laufen und wechsle noch einmal zu /etc/unbound/unbound.conf.d und versuche noch einmal die Datei mit sudo zu editieren um Mullvad auszukommentieren. Wenn es diesmal klappt dann musst Du die geänderte .conf noch mit „sudo systemctl reload unbound“ neu einlesen.

Anschliessend Unbound mit „dig mailbox.org @127.0.0.1 -p 5353“ testen

Ja, sehr merkwürdig.

Wenn ich den Status aufrufe, ist „Status“ in grün aber dann steht „Lines 1-15/15 (END)“ und dann komme ich aus diesem Status aber auch nicht mehr heraus.

Ich mache für heute erstmal Schluß, sonst vermackel ich noch mehr für den Abend.

Übrigens, „dig mailbox.org…“ ist nicht erreichbar.

Nachtrag: Ich habe übrigens das Phänomen im Pihole (Weboberfläche), daß ich keine Custom DNS wie Digitalcourage o.ä. ans laufen bekomme, ich kann nur welche von den vorgegebenen anhaken.

Wenn ich es mir beim Schreiben recht überlege…könnte das PiHole das Problem sein.
Digitalcourage als Custom DNS nimmt er nicht, warum sollte er dann 127.0.0.1… nehmen?

Wie kann es sein, daß die Felder blockiert sind?

Das aber nur, wenn man Unbound als DoT „proxy“ verwenden will…
Falls man das tun will, würde Ich eher zu stubby greifen, aber gut, geht auch mit Unbound.

MichaIng im Pi-Hole Forum hat dazu auch einen netten Text (hier mit Deepl übersetzt)

Am Ende hast du keinen wirklichen Vorteil durch Unbound hier. Nur, wenn du dir sorgen machst, dass der Netzwerkverkehr von deinen Heimanschluss zum gewünschten DNS Server manipuliert wird, würde diese Konfiguration unter realistischen, aktuellen Umständen irgendetwas bringen… wenn du dem DNS Anbieter traust. (Stichwort „HTTPS SNI“, also keine Datenschutzvorteile)
Unbound ohne „forwarding“ ist die weit bessere Variante meiner Ansicht nach, und das eigentliche, ursprüngliche Ziel?

Da durch diese Änderung aber die IP bei der Auflösung geändert ist…
Bist du dir sicher, @WilliWinzig, dass die IP-Adresse des DNS Servers, der eventuell fälschlicherweise als Cloudflare DNS gekennzeichnet wird, nicht eben jener entspricht, die du selbst nutzt?
Also die „IP Address“ hier der entsprichst, die unten als DNS Server angeben ist?

Beim editieren der Datei… sudo nano, damit Nano als Root ausgeführt wird. Normale Nutzer dürfen an diesen Ort für gewöhnlich keine Dateien verändern.
Beim Start von Unbound?
sudo chown root:unbound /etc/unbound/unbound.conf.d/Dateiname oder sudo chmod o+r /etc/... auf die Datei (macht die Datei lesbar für Nutzer, die nicht dem Besitzer oder der Gruppe der Datei angehören… da sie keine geheimen Daten beinhaltet, wäre das auch ok).

Ich bin mir nicht sicher ob ich das richtig verstanden habe.
Wie konfiguriert man denn Unbound „auf die übliche Weise“ im Zusammenspiel mit Pi-hole? Ich vermute mal man wählt in Pi-hole einen der angebotenen Upstrem DNS Server, also z.B. openDNS und trägt den Unbound mit seiner IP als Custom DNS ein. Dann lösche ich meine „meinname-dnsconfig.conf“ aus dem Verzeichnis /etc/unbound/unbound.conf.d und starte Unbound neu ?

Habe ich so richtig verstanden ?

Minimum:
Unbound installieren
Eine Konfigurationsdatei in /etc/unbound/unbound.conf.d/ anlegen, z.B. server.conf mit mindestens diesen Inhalt:

server:
 port: 5335

Es gibt noch weitere empfehlenswerte Einstellungen, so z.B. die verschiedenen Optionen aus der weiter oben verlinkten Anleitung, oder die „hyperlocal“ Variante, aus Tschaeggers Tutorial.

Das Forwarding ist meiner Meinung nach unsinnig, außer man möchte eine dritte Partei darin haben - die auch zusätzliche Probleme bereiten kann. Also würdest du deine Konfigurationsdatei mit den Forwarding-Optionen entfernen, wenn du Unbound mit dessen eigentlichen Anwendungszweck verwenden möchtest, ja.

Danach startet man einfach unbound neu - sudo systemctl restart unbound
Jetzt sollte Unbound ohne Probleme starten, und Domains auflösbar sein: dig kuketz-blog.de @127.0.0.1 -p 5335

Daraufhin nur noch in Pi-Hole alle DNS Server abwählen, und nur den Haken bei Custom setzen, und dort 127.0.0.1#5335 eintragen (wenn man bei der Einrichtung Custom wählt, werden gleich zwei Felder verwendet, würde Ich also vorsichtshalber genauso machen):

Daraufhin auf selbiger Seite, ganz unten, natürlich auch den „Save“ Button anklicken.

Dann sollte im Query Log von Pi-Hole auch unter Status, bei den einzelnen Anfragen, OK (answered by localhost#5335) angezeigt, und kein DNS Resolver von Dritten verwendet werden.

Kurz: Ansich liegst du bis auf einen Punkt, denke Ich, korrekt. Wenn du als Upstream DNS auch openDNS anwählst, wird wohl nicht nur Unbound verwendet, sondern ggf. eben auch jener.

2 „Gefällt mir“

Zunächst einmal vielen Dank für Deine Hilfe und die ausführliche Erklärung.
Deiner Empfehlung folgend habe ich meine „meinname-dnsconfig.conf“ mal auf .alt umbenannt und den Unbound neu gestartet. Ohne in Pi-hole einen DNS-Dienst auszuwählen dann das Ganze getestet.
Der Leaktest zeigt jetzt nur noch meinen Internet Provider als DNS-Dienst an. Wähle ich dann zusätzlich noch openDNS aus, tauchen im Leaktest, wie schon von Dir geschrieben, beide DNS-Dienste auf.

Hat also alles geklappt. Danke nochmals.

2 „Gefällt mir“

Oder man möchte seinen Fingerprint verkleinern.