DoT (DNS over TLS) an einer FB 7590 und PiHole harmoniert nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Nach einem c't Artikel habe ich meine FB 7590 so umkonfiguriert dass DOT genutzt wird. Das funktioniert auch soweit ganz gut. In dem Artikel stand auch dass FF DOT unterstuetzt und den habe ich jetzt auch auf meinen Clients aktiviert. Dass es funktioniert sehe ich daran dass mein PiHole die DNS Anfragen der Clients nicht mehr sieht und auch nicht mehr filtert :wallbash: .

    Klar kann ich diese FF EInstellung bei meinen Clients wieder deaktivieren um die Filterfunktion von PiHole wieder in meinem lokalen Netz fuer alle Clients zu bekommen. Aber dann muss ich DOT immer manuell in FF akivieren wenn ich unterwegs in einem fremden Netz bin. Als Alternative sehe ich dass meine Clients wenn sie in anderen Netzen unterwegs sind per VPN über mein HomeVPNServer verbinden und dann den FB DOT Support nutzen. VPN nutze ich eigentlich aber nur wenn ich auf Server in meinem Heimnetz zugreifen will.

    Der Setup ist also nicht sehr nutzerfreundllich wenn man unterwegs ist. Hat jemand vielleicht eine Idee wie man das nutzerfreundlicher loesen kann?

  • DoT (DNS over TLS) an einer FB 7590 und PiHole harmoniert nicht? Schau mal ob du hier fündig wirst!

  • Ich hatte vor laengerer Zeit mal den PiHole mit Cloudflare und cloudflared konfiguriert. Das war aber zu instabil so dass ich das wieder rausnahm. und die Fritte mit DOT konfigurierte. Dann habe ich den Artikel der c't gelesen und FF der Clients auf DOT umgestellt. Dann irgendwann bemerkte ich dass dadurch ja der PiHole nicht mehr greift.

    Demnach ist unbound stabil da Du es empfiehlst. Ich werde das mal ausprobieren.

  • Ich werde das mal ausprobieren.

    unbound ist jetzt auf der PiHole Raspi installiert und im PiHole konfiguriert. Auch ist DOT beim FF wieder deaktiviert. Ich sehe meinen Client wieder im PiHole.

    Ich habe nach einer sicheren Method gesucht wie ich unter Linux verifizieren kann dass DOT genutzt wird. Aber irgendwie bin ich nicht richtig fuendig geworden :(

    llutz Hast Du einen Befehl oder einen Link handy mit dem ich das testen kann?

  • Ich habe nach einer sicheren Method gesucht wie ich unter Linux verifizieren kann dass DOT genutzt wird. Aber irgendwie bin ich nicht richtig fuendig geworden

    Teste mal ob auf den TCP-Port 853 zugegriffen wird:

    Code
    sudo tcpdump -c 100 -vvveni eth0 port 853 

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Aber ich moechte das auch noch exakt verifizieren

    Was genau meinst Du mit "noch exakt verifizieren"?

    EDIT:

    Ich denke, das sniffen der syn-Flag-Anfrage und das rDNS, sollte doch exakt genug sein:

    Code
    21:28:09.602623 dc:a6:32:cf:3f:38 3c:a6:2f:d3:0a:d6 0800 78: 1##.###.###.###.21850 > 185.228.169.9.853: SWE [tcp sum ok] 437301898:437301898(0) win 16384 <mss 1432,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 3820741027 0> (DF) (ttl 54, id 12363, len 64)
    Code
    :~ #dig -x 185.228.169.9 +short
    security-filter-dns2.cleanbrowsing.org.

    Deshalb macht man ja DoT, damit nicht viel gesehen wird. ;)

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (11. August 2022 um 21:41)

  • Hier ist z.B. beschrieben wie man in der Cmdline testen kann ob DNSSEC genutzt wird. Sowas suche ich fuer DOT. So wie ich verstehe waere dig wohl praedestiniert dafuer - aber es kann nicht testen ob DOT genutzt wird.

    Es gibt diese Webseite von Cloudflare die

    liefert. Wenn ich beim FF DOS aktiviere bekomem ich dort ein YES.

  • Sowas suche ich fuer DOT.

    Für DoT gibt es z. B. in der FritzBox, so etwas:

    Zitat

    Es wurde erfolgreich eine Verbindung - samt vollständiger Validierung - zu den verschlüsselten DNS-Servern aufgebaut

    Die Erklärung dazu:

    Zitat

    Diese Meldung ist eine Ereignismeldung aus dem Bereich "Internet".

    Die Meldung informiert Sie darüber, dass erfolgreich eine Verbindung - samt vollständiger Validierung - zu den verschlüsselten DNS-Servern aufgebaut wurde. Sie können verschlüsselte DNS-Server unter "Internet / Zugangsdaten / DNS-Server" im Bereich "DNS over TLS (DoT)" einrichten.

    Quelle: AVM-service

    Wie man so eine Info in der Kommandozeile bekommen kann, weiß ich nicht.

    Ich denke, wenn ich für DoT einen "validating DNS resolver" (z. B. unwind oder gleichwertig) benutze und dieser mit DoT die Namensauflösung erfolgreich liefert/durchführt, dann wird das schon OK sein.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Für DoT gibt es z. B. in der FritzBox, so etwas:

    Das habe ich auch in meiner FB gesehen als ich dort DoT konfiguriert hatte. Es wurde auch genau angezeigt welcher Server gerade fuer DoT genutz wurde. D.h. irgendwie kann man das testen. Die Frage ist ob es ein Linuxtool dafuer gibt oder andere Wege beschreiten muss :conf:

  • Die Frage ist ob es ein Linuxtool dafuer gibt oder andere Wege beschreiten muss

    Man kann z. B. mit tcpdump schauen, zu welchem Server eine TCP-Verbindung via dst.-Port 853, hergestellt wird.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich bekomme regelmäßig

    im unbound log. Failed

    Hast Du in der config für unbound, für den jeweiligen DoT-Server, auch ein "hostname for TLS certificate validation" eintragen müssen? Oder gibt es die Möglichkeit diesen hostname dort einzutragen?

    EDIT:

    Beim unwind (dns resolver für DoT) den ich benutze, könnte ich solche "hostname for TLS certificate validation" eintragen, wenn ich sie kennen würde.

    Wenn ich aber unwind im Vordergrund und verbose mode starte, sehe ich u. a. auch solche Zeilen:

    Code
    [1660250403] libunbound[42774:0] debug: SSL connection authenticated ip4 185.228.168.9 port 853 (len 16)
    [1660250403] libunbound[42774:0] debug: SSL connection authenticated ip4 217.0.43.114 port 853 (len 16)

    für die DoT-Server die ich in der config eingetragen habe. Wenn ich nach dem Start des unwind, dann eine Namensauflösung starte, bekomme ich vom unwind (verbose mode und noch immer im Vordergrund) z. B. solche Ausgaben:

    Ich verstehe das so, dass es sich um eine authentifizierte und verschlüsselte Verbindung zum DoT-Server handelt.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    2 Mal editiert, zuletzt von rpi444 (11. August 2022 um 23:11)

  • Hast Du einen Befehl oder einen Link handy mit dem ich das testen kann?

    Nein, denn wie rpi444 schon sagt:

    Ich denke, das sniffen der syn-Flag-Anfrage und das rDNS, sollte doch exakt genug sein

    Ich sehe im unbound.log, dass Queries an Port 853 geforwarded werden und auch die Namensauflösung funktioniert - also arbeitet unbound-DoT korrekt.

    Mehr muss/will ich nicht wissen, denn Queries ohne TLS würden nicht beantwortet werden.

    error: ssl handshake failed crypto error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

    Dir fehlt für den angemeckerten Server anscheinend das passende root-Zertifikat - nachinstallieren.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    2 Mal editiert, zuletzt von llutz (12. August 2022 um 08:16)

  • Dir fehlt für den angemeckerten Server anscheinend das passende root-Zertifikat - nachinstallieren.

    Ich hatte 2 weitere Server dazugenommen. Nachdem ich die auskommentiert habe ist die Meldung weg

    Code
    #forward-addr: 185.150.99.255@853#dot.ffmuc.net
    #forward-addr: 78.46.244.143@853#dt-de.blahdns.com

    Ich sehe im unbound.log, dass Queries an Port 853 geforwarded werden und auch die Namensauflösung funktioniert - also arbeitet unbound-DoT korrekt.

    Ich auch. D.h. damit ist alles OK :thumbup:

    Ich denke, das sniffen der syn-Flag-Anfrage und das rDNS, sollte doch exakt genug sein:

    Code
    tcpdump -i eth0 ! port 22 and "tcp[tcpflags] & (tcp-syn) != 0"
    10:48:30.776494 IP dns1.digitale-gesellschaft.ch.domain-s > pi.hole.47108: Flags [S.], seq 3504897124, ack 1884118562, win 65160, options [mss 1452,sackOK,TS val 1951537862 ecr 1795547490,nop,wscale 7], length 0
    10:48:30.877169 IP pi.hole.47110 > dns1.digitale-gesellschaft.ch.domain-s: Flags [S], seq 1518079159, win 64240, options [mss 1460,sackOK,TS val 1795547611 ecr 0,nop,wscale 6], length 0

    Reicht das nicht auch? Sieht anders aus als bei Dir da Du eine Ip bekommst und deshalb noch dig zum Lookup machen musst.

  • Nachdem ich die auskommentiert habe ist die Meldung weg

    ffmuc nutzt letsencrypt. Fehlt dir das evtl.? Cloudflare (blahdns nutzt das anscheinend) sollte in ca-certificates enthalten sein.

    echo|openssl s_client -connect dot.ffmuc.net:853 -servername dot.ffmuc.net | openssl x509 -noout -subject -issuer -dates

    Wenn du nichts zu sagen hast, sag einfach nichts.

    2 Mal editiert, zuletzt von llutz (12. August 2022 um 11:06)

  • Reicht das nicht auch?

    Das reicht auch. Wichtig ist der Port 853 oder "domain-s".

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Um es zum Schluss noch mal zusammenzufassen: Wenn bei dem folgenden Befehl

    Code
    sudo tcpdump port 853 and "tcp[tcpflags] & (tcp-syn) != 0"

    Ausgaben zu sehen sind wenn man irgendwelche neuen Webseiten aufruft oder sonstige neue DNS Requests losschickt (z.B. ping) weiss man dass PiHole unbound nutzt und DoT .

    Somit habe ich doch jetzt meinen Befehl zum Testen ob DoT mit PiHole genutzt wird :) Vielen Dank fuer Eure Hilfe den Befehl zu finden :thumbup:

  • ffmuc nutzt letsencrypt. Fehlt dir das evtl.?

    blahdns macht das Problem. ffmuc habe ich jetzt wieder bei mir enabled und keine ssl Fehlermeldung mehr :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!