itstrue
Goto Top

Frage zu Adguard DNS Server Einstellungen

Hallo,

ich habe hinter der Fritzbox eine PI mit Adguard laufen. Der Adguard ist der DNS Server. Dort habe ich div. Upstream-DNS-Server eingestellt:
tls:dns3.digitalcourage.de
tls:
one.one.one.one
tls:1dot1dot1dot1.cloudflare-dns.com

Ich dachte, durch "tls:
...." wird DNS over TLS verwendet. Wenn ich aber in das Anfragenprotokoll des Adguard schaue, steht da nur "normales DNS". DNSSEC ist auch aktiviert, davon taucht auch nirgendwo was auf.

Ist das so korrekt?

Danke

Content-Key: 63699124439

Url: https://administrator.de/contentid/63699124439

Printed on: April 29, 2024 at 06:04 o'clock

Member: michi1983
michi1983 Mar 30, 2024 at 05:02:02 (UTC)
Goto Top
Hallo,

was steht denn unter encryption?
Hast du ein Zertifikat installiert?

Gruß
Member: aqui
aqui Mar 30, 2024 updated at 06:49:17 (UTC)
Goto Top
Einfach mal ein apt install tcpdump machen auf dem Pi und checken mit tcpdump -i eth0 port 853 ob dort DoT Traffic an die Upstram DNS Server geht. 😉
Das schafft dann Gewissheit.
https://blog.daniel.wydler.eu/2021/02/21/adguard-home-im-netzwerk-implem ...
Member: Dani
Dani Mar 30, 2024 updated at 14:16:26 (UTC)
Goto Top
Moin,
tls:dns3.digitalcourage.de
tls:one.one.one.one
tls:1dot1dot1dot1.cloudflare-dns.com
meiner Meinung nach fehlen die beiden Slashes nach dem Protokoll (z.B. tls://). Siehe auch hier.

Ist das so korrekt?
Was sagt den der "Test upstreams"?


Gruß,
Dani
Member: itstrue
itstrue Mar 30, 2024 updated at 19:05:31 (UTC)
Goto Top
Ja, die "//" fehlen. Tippfehler...
Test upstream, alles ok.

Zur Ergänzung:
Ich hatte zum Testen einen Adguard nach der Anleitung von Daniel Wydler auf einem vserver installiert, das hat auch wunderbar geklappt.

Dann hab ich den Adguard in mein Heimnetzwerk auf einen Raspi verlagert. Allerdings auf Docker! Mein Fehler, an das Zertifikat hab ich gar nicht mehr gedacht, dachte das würde im Container automatisch eingerichtet.

Es schaut also jetzt so aus:

adguard

portainer

Und jetzt die Frage:
Wie bekomme ich Zertifikate in den Docker Container bzw. bringe Docker dazu welcher zu erstellen und auch im Updatefall wieder mit einzubinden?
In der Lösung auf dem vserver war ja eine Domain im Spiel.
Member: Dani
Dani Mar 30, 2024 updated at 19:47:27 (UTC)
Goto Top
Moin,
Mein Fehler, an das Zertifikat hab ich gar nicht mehr gedacht, dachte das würde im Container automatisch eingerichtet.
Nein, wird es nicht.

Wie bekomme ich Zertifikate in den Docker Container bzw. bringe Docker dazu welcher zu erstellen und auch im Updatefall wieder mit einzubinden? In der Lösung auf dem vserver war ja eine Domain im Spiel.
du brauchst im LAN ebenfalls eine Domain, auf die dein AdGuard reagiert. Dabei ist zu beachten, dass es sich um eine Domain mit einer öffentliche TLD handelt. Sprich kein .local, .loc, .i, etc. Anderenfalls kannst du dafür nämlich kein Zertifikat bei den öffentlichen CAs abrufen.

Wenn die Voraussetzungen stimmen, kannst du das SSL-Zertifikat mit Hilfe von certbot (in Form eines Containers) abrufen. Ich würde hierbei auf ACME via dns-01 Challenge setzen. Somit muss nämlich nicht der Port 80 aus dem Internet erreichbar sein. Dies wäre nämlich erforderlich wenn du ACME via http-01 Challenge nutzen möchtest.


Gruß,
Dani
Member: itstrue
itstrue Mar 30, 2024 at 19:57:53 (UTC)
Goto Top
Domains habe ich viele rumliegen.
Muss ich beim Domainanbieter was in DNS Einstellungen ändern? Die Domain sollte von Außen nicht aufgelöst werden könnnen.

Wäre das dann z.B. das hier:
https://www.willianantunes.com/blog/2022/08/create-a-certificate-using-c ...
Member: Dani
Dani Mar 31, 2024 at 07:44:32 (UTC)
Goto Top
Moin,
Wäre das dann z.B. das hier:
wenn du das alle 90 Tage manuell tun möchtest, kann das funktionieren. Alternativ und klassisch in Verbindung mit ACME. Somit fällt die manuelle Tätigkeit weg. Setzt natürlich voraus, dass dein DNS Hoster in der Liste der unterstützten Anbieter von ACME auftaucht.

Muss ich beim Domainanbieter was in DNS Einstellungen ändern?
In der Regel nicht. Wir wissen aber auch nicht, was du für Einstellungen getätigt hast.

Die Domain sollte von Außen nicht aufgelöst werden können.
Erst einmal nicht. Wichtig ist, dass auf den FQDN Dein AdGuard angesprochen werden kann.


Gruß,
Dani
Member: michi1983
michi1983 Mar 31, 2024 at 09:19:30 (UTC)
Goto Top
Quote from @Dani:
wenn du das alle 90 Tage manuell tun möchtest, kann das funktionieren.

Dafür gibt es cronjob 😉

Frohe Ostern allen!
Member: itstrue
itstrue Mar 31, 2024 at 10:15:08 (UTC)
Goto Top
Danke.
Dachte auch das mit Cronjob zu lösen. Aber ein Schritt nach dem anderen. Erst mal einrichten ich lerne ja noch.

Bin auch für andere Lösungen offen. Muss ja nicht Docker sein, Hauptsache kein Port deswegen offen. Domain liegt bei Netcup
Member: aqui
aqui Mar 31, 2024 updated at 10:57:41 (UTC)
Goto Top
Lässt man tcpdump auf port 853 laufen sieht man sofort das der Adguard problemlos auch die konfigurierten Upstream DoT DNS Server fragt! Auch ganz ohne Zertifikatsgenerierung...
Mitglied: 12168552861
12168552861 Mar 31, 2024 updated at 10:40:26 (UTC)
Goto Top
Zertifikate brauchst du für den Adguard nur wenn du daheim per SSL auf die Weboberfläche zugreifen willst ansonsten sind die für DNSoTLS nicht nötig.

Brauchst du auch für andere Maschinen Certs kannst du folgendes machen.

Bei https://desec.io (non-profit organization based in Berlin) einen kostenlosen Account erstellen. Bei Netcup für die entsprechende Domain dann die Nameserver auf die bei https://desec.io zeigen lassen und dort deine Records hinterlegen. Abschließend noch einen API-Key generieren lassen. Dann kannst du daheim Let's Encrypt mit DNS-Challenge-Verifizierung nutzen denn die API von desec.io ist in den gängigen Implementierungen wie Certbot oder acme.sh schon enthalten.
Somit hast du dann auch die Möglichkeit Wildcard-Zertifikate via Let's Encrypt erstellen zu können, was mit der http Challenge dagegen nicht möglich ist. Eingehende Ports müssen dafür nicht geöffnet werden da die Validierung ja durch einen DNS-Record-Abfrage bei desec.io durchgeführt wird.


Gruß pp.
Member: itstrue
itstrue Mar 31, 2024 at 17:08:40 (UTC)
Goto Top
Erstmal danke für die Antworten:

@aqui:
Deinen letzten Post verstehe ich nicht. Ist das eine Feststellung, eine Frage?


@puderpader: klingt interessant:
Ich erklär nochmal kurz warum ich das mit den Zertifkaten im Kopf hatte.
1. Adguard zeigt im Anfrageprotokoll normales DNS an, ich möchte natürlich DNS oder TLS nutzen
2. Für die anderen Docker Container wollte ich mit dem NPM umstellen, dass sie nicht mehr auf IP, sondern auf subdomain erreichbar sind.

Daher war die Idee ein Wildcard Zertifikat zu erstellen und das sowohl für den Adguard als auch für den NPM zu nehmen. Wenn ich Deine Ausführungen richtig verstanden habe, sollte das aber mit Deinem Vorschlag gehen, richtig?
Member: Dani
Dani Mar 31, 2024 at 17:35:47 (UTC)
Goto Top
@michi1983
Dafür gibt es cronjob 😉
Bitte vollständig zitieren und den Link anschauen. dort wird DNS-01 verwendet und manuell den notwendigen TXT Eintrag gesetzt. Drauf habe ich meine Antwort bezogen.

@puderpader
Zertifikate brauchst du für den Adguard nur wenn du daheim per SSL auf die Weboberfläche zugreifen willst ansonsten sind die für DNSoTLS nicht nötig.
Es werden Zertifikate benötigt, wenn AdGuard für deine Clients DoH und DoT anbieten soll. Darauf habe ich bezogen. Für Upstream ist das nicht relevant. Hier ist nur wichtig, dass die Zertifikate der CAs, welche die Zertifikate ausgestellt haben, hinterlegt sind. Was bei meinem aktuellen Linux meistens der Fall ist.

@itstrue
1. Adguard zeigt im Anfrageprotokoll normales DNS an, ich möchte natürlich DNS oder TLS nutzen
Geht es dir um die Verbindung zwischen Client <-> Dein Adguard oder AdGuard -> Upstream Server?


Gruß,
Dani


Gruß,
Dani
Member: itstrue
itstrue Mar 31, 2024 at 17:54:17 (UTC)
Goto Top
@Dani:
Sowohl als auch. Die Verbindung vom AdGuard zum TLS DNS und dann die internen Verbindungen zu den Containern
Member: michi1983
michi1983 Mar 31, 2024 at 22:08:49 (UTC)
Goto Top
Quote from @Dani:

@michi1983
Dafür gibt es cronjob 😉
Bitte vollständig zitieren und den Link anschauen. dort wird DNS-01 verwendet und manuell den notwendigen TXT Eintrag gesetzt. Drauf habe ich meine Antwort bezogen.

Bin mir nicht sicher ob wir aneinander vorbei reden. Den txt Eintrag setzt du nur einmalig, danach kannst du cronjob alle x Tage das Cert erneuern lassen. Wo genau ist an meiner Antwort jetzt was „falsch“?
Mitglied: 12168552861
12168552861 Apr 01, 2024 updated at 08:03:54 (UTC)
Goto Top
Zitat von @michi1983:
Bin mir nicht sicher ob wir aneinander vorbei reden. Den txt Eintrag setzt du nur einmalig, danach kannst du cronjob alle x Tage das Cert erneuern lassen. Wo genau ist an meiner Antwort jetzt was „falsch“?
Nein, die hinterlegte Challenge im TXT Record ist für jede Anforderung eines Zertifikates anders, ein einmaliges Setzen funktioniert also nicht.
Member: michi1983
michi1983 Apr 01, 2024 at 08:03:51 (UTC)
Goto Top
Quote from @puderpader:

Zitat von @michi1983:
Bin mir nicht sicher ob wir aneinander vorbei reden. Den txt Eintrag setzt du nur einmalig, danach kannst du cronjob alle x Tage das Cert erneuern lassen. Wo genau ist an meiner Antwort jetzt was „falsch“?
Nein, di3 Challenge im TXT Record ist für jede Anforderung eines Zertifikates anders, ein einmaliges Setzen funktioniert also nicht.

Okay dann nehme ich meine Aussage zurück, wusste ich tatsächlich nicht.
Member: aqui
aqui Apr 01, 2024 updated at 10:28:11 (UTC)
Goto Top
Ist das eine Feststellung, eine Frage?
Es ist eine Feststellung und bestätigt den Kommentar vom Kollegen @puderpader das keine Zertifikate für die Upstream DNS Server erforderlich sind.
Würdest du bei dir einen tcpdump machen auf TCP 853 Pakete würdest du es selber bestätigt bekommen! face-wink
Lokal lässt man den Adguard ja in der Regel immer klassisch mit DNS UDP/TCP 53 laufen.
Member: itstrue
itstrue Apr 01, 2024 at 10:40:26 (UTC)
Goto Top
@aqui:
Ich hatte bisher keine Zugriff um einen tcpdump zu machen. Hab das mal laufen lassen:
42 packets captured
42 packets received by filter
0 packets dropped by kernel

Da da nix von errors etc. steht, scheint es durchzugehen. Wie der Adgaurd läuft zeigen ja die Screenhots oben. Warum zeigt dann aber Adguard im Anfrageprotokoll immer "Standard DNS" an und nicht DNS over TLS"?

@puderpader: Kannst Du noch was dazu sagen, ob meine Annahmen zu Deinem Vorschlag so korrekt sind?
Member: aqui
aqui Apr 01, 2024 at 11:00:07 (UTC)
Goto Top
Works as designed without any certificate! 👍
root@adguard:/home/pi# tcpdump -i eth0 port 853
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:53:24.560351 IP 192.168.1.252.45686 > dns3.digitalcourage.de.domain-s: Flags [S], seq 1228397514, win 64240, options [mss 1460,sackOK,TS val 323945953 ecr 0,nop,wscale 6], length 0
12:53:24.580266 IP dns3.digitalcourage.de.domain-s > 192.168.1.252.45686: Flags [S.], seq 4232776691, ack 1228397515, win 65160, options [mss 1448,sackOK,TS val 401423916 ecr 323945953,nop,wscale 7], length 0
12:53:24.580447 IP 192.168.1.252.45686 > dns3.digitalcourage.de.domain-s: Flags [.], ack 1, win 1004, options [nop,nop,TS val 323945973 ecr 401423916], length 0
12:53:24.608806 IP 192.168.1.252.45686 > dns3.digitalcourage.de.domain-s: Flags [P.], seq 1:556, ack 1, win 1004, options [nop,nop,TS val 323946002 ecr 401423916], length 555
12:53:24.628418 IP dns3.digitalcourage.de.domain-s > 192.168.1.252.45686: Flags [.], ack 556, win 505, options [nop,nop,TS val 401423965 ecr 323946002], length 0
12:53:24.629260 IP dns3.digitalcourage.de.domain-s > 192.168.1.252.45686: Flags [P.], seq 1:242, ack 556, win 505, options [nop,nop,TS val 401423965 ecr 323946002], length 241 
Member: itstrue
itstrue Apr 01, 2024 at 11:01:25 (UTC)
Goto Top
Ja genau, so schauts bei mir auch aus. Dennoch die Frage: Warum zeigt dann aber Adguard im Anfrageprotokoll immer "Standard DNS" an und nicht DNS over TLS"?
Member: aqui
aqui Apr 01, 2024 updated at 11:03:43 (UTC)
Goto Top
Damit ist sehr wahrscheinlich das lokale Abfrageprotokoll gemeint und nicht das der Upstream DNS Server. Sprich deine lokalen Clients fragen ja üblicherweise mit "Standard DNS" also TCP/UDP 53 den Adguard.
Member: itstrue
itstrue Apr 01, 2024 at 11:10:42 (UTC)
Goto Top
Wäre möglich. Scheinen die Anfragen an den Adguard zu sein von den Clients. Was der Adguard damit macht, sieht man ja nicht. UNd im Zweifel ist es ja der Adguard, der dann etwas blockt oder nicht und nicht der Upstream DNS.
Dann haben wir zumindest das geklärtface-smile
Mitglied: 12168552861
12168552861 Apr 01, 2024 at 13:37:59 (UTC)
Goto Top
Zitat von @itstrue:
Daher war die Idee ein Wildcard Zertifikat zu erstellen und das sowohl für den Adguard als auch für den NPM zu nehmen. Wenn ich Deine Ausführungen richtig verstanden habe, sollte das aber mit Deinem Vorschlag gehen, richtig?
Klar.
Member: itstrue
itstrue Apr 02, 2024 at 06:30:09 (UTC)
Goto Top
OK danke. Ich werde das in nächster Zeit mal angehen, wenn es etwas ruhiger ist und ich ein Backup gemacht habeface-smile
Member: aqui
aqui Apr 02, 2024 at 08:56:30 (UTC)
Goto Top
Member: Dani
Dani Apr 03, 2024 at 09:54:33 (UTC)
Goto Top
Moin,
Ja genau, so schauts bei mir auch aus. Dennoch die Frage: Warum zeigt dann aber Adguard im Anfrageprotokoll immer "Standard DNS" an und nicht DNS over TLS"?
poste doch einen Screenshot vom Query Log. Damit wir alle vom Gleichen sprechen.

Da da nix von errors etc. steht, scheint es durchzugehen.
Siehst du Pakete in der Ausgabe wie im aqui's Kommentar?


Gruß,
Dani
Member: itstrue
itstrue Apr 03, 2024 at 10:14:08 (UTC)
Goto Top
Ja ich sehe genau die gleiche Ausgabe wie aqui.

Hier der Screenshot:
screenshot 2024-04-03 121227
Member: Dani
Dani Apr 03, 2024 at 10:36:06 (UTC)
Goto Top
Bitte noch Screenshots von den DNS settings. face-smile
Member: itstrue
itstrue Apr 03, 2024 at 11:41:25 (UTC)
Goto Top
dns

verschlüsselung
Mitglied: 12168552861
12168552861 Apr 03, 2024 updated at 11:47:58 (UTC)
Goto Top
Jepp so ist DNSoTLS für interne Anfragen an den Adguard deaktiviert nur für die externen Abfragen des Adguard wird DNSoTLS genutzt. Willst du die Anfragen intern auch verschlüsseln dann musst du das Häkchen im zweiten Screenshot aktivieren und ein entsprechendes Zertifikat eintragen. An den Clients muss Secure-DNS natürlich auch aktiviert sein damit diese es nutzen.
Member: itstrue
itstrue Apr 03, 2024 at 11:49:06 (UTC)
Goto Top
Alles klar, danke. Primär ist extern wichtiger, und das geht ja. Mit den Zertifikaten für den internen Gebrauch, muss ich in den nächsten Tagen mal rumspielen.
Mitglied: 12168552861
12168552861 Apr 03, 2024 updated at 11:56:21 (UTC)
Goto Top
Du solltest dir auch im klaren darüber sein das das ganze auch Ressourcen- und Geschwindigkeitseinbußen bei DNS-Abfragen bedeuten kann. Schnelles DNS ist ja auch ein nicht zu unterschätzender Faktor bei der "Schwupdizität" der Internet-Verbindung. Eine Risiko-Nutzen-Abwägung wäre da also angebracht.
Member: Dani
Dani Apr 03, 2024 at 15:34:08 (UTC)
Goto Top
Danke, für die Screenshots. Jetzt komm ich auch mit. face-wink Das kommt davon, wenn man neben der Arbeit her, hier mitschreibt. face-sad

Das Log Query enthält ja nur die Anfragen von deinen Clients an den AdGuard Server. Die Anfragen an den Upstream-Server werden dort nicht geloggt.

Gruß,
Dani