|
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)
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)
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)
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)
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)
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)
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)
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:~$
|