staging.inyokaproject.org

DNS systemweit verschlüsseln

Status: Ungelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

ubuntu--anfaenger

Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

Hallo,

Ich möchte die DNS Anfragen verschlüsseln, und bräuchte etwas Hilfe.

Wenn das geht, würde ich gerne DOH verwenden, wenn es nicht geht dann tls.

Mein Setup:

pattes@pattes-tty:~$ resolvectl status
Global
         Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: stub

Link 2 (enp5s0)
    Current Scopes: DNS
         Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 9.9.9.9
       DNS Servers: 9.9.9.9 149.112.112.112

Link 3 (virbr0)
    Current Scopes: none
         Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
pattes@pattes-tty:~$
pattes@pattes-tty:~$ systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
     Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-07-20 12:05:11 CEST; 31min ago
       Docs: man:systemd-resolved.service(8)
             man:org.freedesktop.resolve1(5)
             https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
             https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
   Main PID: 1081 (systemd-resolve)
     Status: "Processing requests..."
      Tasks: 1 (limit: 76948)
     Memory: 7.4M (peak: 8.1M)
        CPU: 86ms
     CGroup: /system.slice/systemd-resolved.service
             └─1081 /usr/lib/systemd/systemd-resolved

Jul 20 12:05:11 pattes-tty systemd[1]: Starting systemd-resolved.service - Network Name Resolution...
Jul 20 12:05:11 pattes-tty systemd-resolved[1081]: Positive Trust Anchors:
Jul 20 12:05:11 pattes-tty systemd-resolved[1081]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Jul 20 12:05:11 pattes-tty systemd-resolved[1081]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.>
Jul 20 12:05:11 pattes-tty systemd-resolved[1081]: Using system hostname 'pattes-tty'.
Jul 20 12:05:11 pattes-tty systemd[1]: Started systemd-resolved.service - Network Name Resolution.
Jul 20 12:05:15 pattes-tty systemd-resolved[1081]: enp5s0: Bus client set default route setting: yes
Jul 20 12:05:15 pattes-tty systemd-resolved[1081]: enp5s0: Bus client set DNS server list to: 9.9.9.9, 149.112.112.112
pattes@pattes-tty:~$ 

Der NetworkManager ist bei mir aktiv, und steht bei ipv4 settings: Method Automatic(DHCP)addresses only

Als DNS servers: 9.9.9.9,149.112.112.112

die /etc/systemd/resolved.conf

ist bis auf diese Zeile kompl Auskomentiert: [Resolve]

Ipv6 ist über den Grub abgeschaltet.

Der Firefox: DNS over https = Status off(use your default dns resolver)

Kann mir bitte jemand dabei helfen?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Wenn das geht, würde ich gerne DOH verwenden, wenn es nicht geht dann tls.

Ich denke DoH geht (noch) nicht mit systemd-resolved. Versuch mal mit DoT, in der resolved.conf:

[Resolve]
DNS=9.9.9.9#dns9.quad9.net
FallbackDNS=149.112.112.112#dns9.quad9.net
Domains=~.
DNSSEC=yes
DNSOverTLS=yes

EDIT:

BTW:

:~$ kdig +tls +dnssec ulm.de @149.112.112.112
;; TLS session (TLS1.3)-(ECDHE-SECP256R1)-(ECDSA-SECP256R1-SHA256)-(AES-256-GCM)
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 3035
;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:
;; Version: 0; flags: do; UDP size: 512 B; ext-rcode: NOERROR

;; QUESTION SECTION:
;; ulm.de.             		IN	A

;; ANSWER SECTION:
ulm.de.             	43168	IN	A	20.103.215.75

;; Received 51 B
;; Time 2025-07-20 13:12:20 CEST
;; From 149.112.112.112@853(TCP) in 93.3 ms

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Ich denke DoH geht (noch) nicht mit systemd-resolved. Versuch mal mit DoT, in der resolved.conf:

Ja ich glaube das müsste extern über ein Proxy gemacht werden?

Wie geht es denn ab hier weiter:

[Resolve]
DNS=9.9.9.9#dns9.quad9.net
FallbackDNS=149.112.112.112#dns9.quad9.net
Domains=~.
DNSSEC=yes
DNSOverTLS=yes

Worauf muss der NetworkManager zeigen? auf 127.0.0.53

Der NM ignoriert ja die resolved.conf, Ubuntu schreibt das die gar nicht mehr angefasst werden soll stattdessen eine in /etc/systemd/resolved.conf.d/

Das verwirrt dann.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Der NM ignoriert ja die resolved.conf, Ubuntu schreibt das die gar nicht mehr angefasst werden soll stattdessen eine in /etc/systemd/resolved.conf.d/

Die resolved.conf ist für systemd-resolved. Kannst ja mit einer Datei im Verzeichnis /etc/systemd/resolved.conf.d/ probieren und testen ob diese config-Datei von systemd-resolved richtig benutzt wird, mit z. B.:

sudo tcpdump -c 50 -vvveni <output-Interface> host 9.9.9.9 and port 853
host -t a berlin.de 127.0.0.53

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Die resolved.conf ist für systemd-resolved. Kannst ja mit einer Datei im Verzeichnis /etc/systemd/resolved.conf.d/ probieren und testen ob diese config-Datei von systemd-resolved richtig benutzt wird, mit z. B.:

Hm nein, ich glaube dein Vorschlag hat schon funktioniert, sicher bin ich aber noch nicht:

pattes@pattes-tty:~$ host -t a berlin.de 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: 127.0.0.53#53
Aliases: 

berlin.de has address 109.68.230.145
pattes@pattes-tty:~$ 

Aber der wireshark zeigt nun gar keine dns Abfragen mehr wenn ich Filter dns setze, er zeigt nur noch den Filter an: tcp.port == 853 da steht dann irgendwas von tlsv1 aber Application Data.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Aber der wireshark zeigt nun gar keine dns Abfragen mehr wenn ich Filter dns setze, er zeigt nur noch den Filter an: tcp.port == 853 da steht dann irgendwas von tlsv1 aber Application Data.

Ich benutze wireshark nicht und weiß auch nicht was der "Filter dns" macht. Evtl. ist dieser Filter nur für den Port 53 zuständig, was bei DoT aber nicht richtig ist, weil mit DoT der TCP-Port 853 benutzt wird. Welcher Port (es wird 53 sein) lokal für 127.0.0.53 (systemd-resolved) benutzt wird, ist nicht relevant.
Zusätzlich solltest Du (für den Test) darauf achten, dass nicht ein DNS-Cache (oder gleichwertig) benutzt wird, sondern immer eine neue DNS-Anfrage mit DoT gemacht wird.

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Zusätzlich solltest Du (für den Test) darauf achten, dass nicht ein DNS-Cache (oder gleichwertig) benutzt wird, sondern immer eine neue DNS-Anfrage mit DoT gemacht wird.

Ja wie kann ich denn einen Zuverlässigen test machen?

der dns cache ist geleert: resolvectl flush-caches

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Ja wie kann ich denn einen Zuverlässigen test machen?

Mit tcpdump:

sudo tcpdump -c 50 -vvveni <output-Interface> host 9.9.9.9 and port 853

(output-Interface anpassen und ohne spitze Klammern).

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

schrieb:

Mit tcpdump:

Ja das hatte ich auch schon versucht, aber ich werde aus den Ergebnissen einfach nicht schlau draus, ich bekomme so etwa(habe die Werte manuell verändert weil das hier Öffentlich ist):

pattes@pattes-tty:~$ sudo tcpdump -c 50 -vvveni enp5s0 host 9.9.9.9 and port 853
[sudo] password for pattes: 
tcpdump: listening on enp5s0, link-type  (Ethernet), snapshot length  bytes
16:48:57. > , ethertype IPv4 (0x), length : (tos , ttl , id , offset 0, flags [DF], proto TCP (), length )
    192.168.1.19.53050 > 9.9.9.9.853: Flags [S], cksum  (incorrect -> ), seq , win , options [mss ,sackOK,TS val  ecr ,nop,wscale ,tfo  cookie ,nop,nop], length
16:48:57.  > , ethertype IPv4 (), length : (tos , ttl , id 0, offset 0, flags [DF], proto TCP (), length )
    9.9.9.9.853 > 192.168.1.19.53050: Flags [S.], cksum  (correct), seq , ack , win , options [mss ,sackOK,TS val  ecr ,nop,wscale ,tfo  cookie ,nop,nop], length 0

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Ja das hatte ich auch schon versucht, aber ich werde aus den Ergebnissen einfach nicht schlau draus, ich bekomme so etwa(habe die Werte manuell verändert weil das hier Öffentlich ist):

pattes@pattes-tty:~$ sudo tcpdump -c 50 -vvveni enp5s0 host 9.9.9.9 and port 853
[sudo] password for pattes: 
tcpdump: listening on enp5s0, link-type  (Ethernet), snapshot length  bytes
16:48:57. > , ethertype IPv4 (0x), length : (tos , ttl , id , offset 0, flags [DF], proto TCP (), length )
    192.168.1.19.53050 > 9.9.9.9.853: Flags [S], cksum  (incorrect -> ), seq , win , options [mss ,sackOK,TS val  ecr ,nop,wscale ,tfo  cookie ,nop,nop], length
16:48:57.  > , ethertype IPv4 (), length : (tos , ttl , id 0, offset 0, flags [DF], proto TCP (), length )
    9.9.9.9.853 > 192.168.1.19.53050: Flags [S.], cksum  (correct), seq , ack , win , options [mss ,sackOK,TS val  ecr ,nop,wscale ,tfo  cookie ,nop,nop], length 0

Die letzte Zeile (in der Ausgabe von tcpdump) sollte für ein Datenpaket mit dem R-Flag sein. Z. B.:

192.168.1.19.53050 > 9.9.9.9.853: Flags [R], cksum 0x2469 (correct), seq 3962399110, win 0, length 0

Ist das bei dir in der Ausgabe von tcpdump so?

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Die letzte Zeile (in der Ausgabe von tcpdump) sollte für ein Datenpaket mit dem R-Flag sein. Z. B.:

Nein ist bei mir nicht so.

Bei mir steht da: Entweder:[P.], oder [.] oder [S.]

192.168.1.19.53050 > 9.9.9.9.853: Flags [P.],
9.9.9.9.853 > 192.168.1.19.53050: Flags [.],
9.9.9.9.853 > 192.168.1.19.53050: Flags [S.],

Wenn ich die komplette dump hier poste, wird der Admin von ubuntuusers den Beitrag sperren.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

Wenn ich die komplette dump hier poste, wird der Admin von ubuntuusers den Beitrag sperren.

Dann benutze diesen Filter:

sudo tcpdump -c 50 -vvveni enp5s0 port 853 and 'tcp[tcpflags] & (tcp-rst|tcp-fin) != 0'

EDIT:

BTW: Wenn Du via systemd-resolved keine Ausgabe bekommst, dann teste mal auch mit z. B.:

kdig +tls +dnssec whitehouse.gov @9.9.9.9

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Dann benutze diesen Filter:

Das ändert nichts, ich bekomme jetzt nur F Flag: 192.168.1.19.56096 > 9.9.9.9.853: Flags [F.],

dig:

pattes@pattes-tty:~$ dig +tls +dnssec whitehouse.gov @9.9.9.9

; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> +tls +dnssec whitehouse.gov @9.9.9.9
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20826
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;whitehouse.gov.			IN	A

;; ANSWER SECTION:
whitehouse.gov.		101	IN	A	192.0.66.51
whitehouse.gov.		101	IN	RRSIG	xxxx==

;; Query time: 37 msec
;; SERVER: 9.9.9.9#853(9.9.9.9) (TLS)
;; WHEN: Sun Jul 20 17:50:55 CEST 2025
;; MSG SIZE  rcvd: 169

pattes@pattes-tty:~$ 

Was ist diese IP: whitehouse.gov. 101 IN A 192.0.66.51?

lg,

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14402

ubuntu--anfaenger schrieb:

pattes@pattes-tty:~$ dig +tls +dnssec whitehouse.gov @9.9.9.9

Versuch mal mit kdig (statt dig):

sudo apt install knot-host
sudo tcpdump -c 50 -vvveni enp5s0 port 853 and 'tcp[tcpflags] & (tcp-rst|tcp-fin) != 0'
kdig +tls +dnssec bund.de @9.9.9.9

EDIT:

BTW: Versuch mal auch den extented dns-leak-test, ohne und mit nicht persistentem:

sudo iptables -I OUTPUT 1 -o enp5s0 -p tcp --dport 53 -j REJECT
sudo iptables -I OUTPUT 2 -o enp5s0 -p udp --dport 53 -j REJECT

, mit Hilfe von: https://dnsleaktest.com/

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1243

lubux schrieb:

Versuch mal auch den extented dns-leak-test, ohne und mit nicht persistentem:

Mit Sperrung port 53:

pattes@pattes-tty:~$ sudo iptables -I OUTPUT 1 -o enp5s0 -p tcp --dport 53 -j REJECT
pattes@pattes-tty:~$ sudo iptables -I OUTPUT 2 -o enp5s0 -p udp --dport 53 -j REJECT
pattes@pattes-tty:~$ resolvectl flush-caches 
pattes@pattes-tty:~$ sudo iptables -L OUTPUT --line-numbers
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     tcp  --  anywhere             anywhere             tcp dpt:domain reject-with icmp-port-unreachable
2    REJECT     udp  --  anywhere             anywhere             udp dpt:domain reject-with icmp-port-unreachable
3    LIBVIRT_OUT  all  --  anywhere             anywhere            

Die Ausgaben von dns leak:

Test complete

Query round	Progress...	Servers found
1			......		4
2			......		6
3			......		4
4			......		4
5			......		4
6			......		5

IP	Hostname	ISP	Country
74.63.24.212	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.213	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.221	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.222	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.236	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.239	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.240	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.246	res500.fra.rrdns.pch...	WoodyNet	Frankfurt am Main, Germany 

und ohne Sperren port 53:

pattes@pattes-tty:~$ sudo iptables -D OUTPUT 2
pattes@pattes-tty:~$ sudo iptables -D OUTPUT 1
pattes@pattes-tty:~$ sudo iptables -L OUTPUT --line-numbers
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    LIBVIRT_OUT  all  --  anywhere             anywhere            
Query round	Progress...	Servers found
1			......		5
2			......		5
3			......		5
4			......		4
5			......		4
6			......		5

IP	Hostname	ISP	Country
74.63.24.212	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.213	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.216	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.220	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.221	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.222	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.236	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.237	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.239	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.240	None	WoodyNet	Frankfurt am Main, Germany
74.63.24.246	res500.fra.rrdns.pch...	WoodyNet	Frankfurt am Main, Germany 

tcpdump zeigt nun auch ein R Flag:

Die Ausgabe habe ich die Werte entfernt!

    192.168.1.23.45234 > 9.9.9.9.853: Flags [F.], cksum  (incorrect -> 0x), seq 2, ack , win , options [nop,nop,TS val  ecr , length 0
13:53:39. > , ethertype IPv4 (0x), length: (tos 0x0, ttl 57, id , offset 0, flags [DF], proto TCP (6), length 2)
    9.9.9.9.853 > 192.168.1.23.: Flags [F.],  (correct), seq 1, ack , win 2, options [nop,nop,TS val ecr ], length 0
13:53:39.937447  > , ethertype IPv4 (0x), length 0: (tos 0x0, ttl , id 0, offset 0, flags [DF], proto TCP (), length )
    9.9.9.9.853 > 192.168.1.23.: Flags [R], cksum 0 (correct), seq , win 0, length 0

Der wireshark wenn ich nach dns Filtere gibt der keine Ausgabe mehr, wenn ich dann nach der port Nr filtere für dot[port.tcp == 853] bekomme ich nur noch TLSv1.. Ausgaben was dann so ja dann korrekt wäre.

Ich werde da überhaupt nichtmehr schlau draus, ich weiss auch nicht ob die Ausgabe von dnsleak überhaupt Aussagekräftig ist, die prüft ja nur den Firefox, aber der Firefox fragt ja hier: 127.0.0.53

dig/kdig sagt udp.. ich versteh es nun gar nicht mehr 😕

pattes@pattes-tty:~$ dig google.com

; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32916
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		214	IN	A	142.250.185.206

;; Query time: 68 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Mon Jul 21 14:04:38 CEST 2025
;; MSG SIZE  rcvd: 55

pattes@pattes-tty:~$ 
Antworten |