~Rami ₪ MANUALS

רמי

SUBJECT: Resolvectl (Systemd): System-wide настройка защищенного верифицированного соединения (DNSOverTLS, DNSSEC, ECH: Encrypted Client Hello) с корневыми DNS-серверами и обеспечение кеширования DNS-запросов без установки стороннего ПО

AUTHOR: Rami Rosenfeld

DATE: 07/02/24

TIME: 00.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm, ostree, flatpak, siverblue, dns, dnsovertls, dnssec, ech

Resolvectl (Systemd): System-wide настройка защищенного верифицированного соединения (DNSOverTLS, DNSSEC, ECH: Encrypted Client Hello) с корневыми DNS-серверами и обеспечение кеширования DNS-запросов без установки стороннего ПО

INTRO

Моя любимая systemd, рожденная безумным гением Леннартом Поттерингом, не перестает удивлять и радовать своей простотой, удобством и логичностью построения. Обратите особое внимание: всего несколько правок в конфигурационном файле - и мы активируем DNSOverTLS, DNSSEC и Encrypted Client Hello для всей операционной системы (а также кэширование DNS-запросов)!

ВАЖНО! Encrypted Client Hello будет обеспечено только(!) для тех прикладных приложений, которые его поддерживают! Подробнее см.:

=> Firefox: Настройка Encrypted Client Hello (Quad9)

NOTE

nano /etc/systemd/resolved.conf

DNS=9.9.9.11 149.112.112.11 2620:fe::11 2620:fe::fe:11
FallbackDNS=1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003
#Domains=
DNSSEC=yes
DNSOverTLS=yes
#MulticastDNS=no
#LLMNR=resolve
Cache=no-negative
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no
StaleRetentionSec=86400

ОПЦИИ:

ВАЖНО! Изменения в сетевых настройках ОС произойдут только после перезагрузки NM или всего компьютера (для чистоты эксперимента - настоятельно рекомендую последнее).

systemd-analyze cat-config systemd/resolved.conf

resolvectl status

Global
Protocols: LLMNR=resolve -mDNS +DNSOverTLS DNSSEC=yes/supported
resolv.conf mode: stub
Current DNS Server: 9.9.9.11
DNS Servers: 9.9.9.11 149.112.112.11 2620:fe::11 2620:fe::fe:11
Fallback DNS Servers: 1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003

Link 2 (enp3s0)
Current Scopes: none
Protocols: -DefaultRoute LLMNR=resolve -mDNS +DNSOverTLS DNSSEC=yes/supported

Link 3 (wlp2s0)
Current Scopes: DNS LLMNR/IPv4
Protocols: +DefaultRoute LLMNR=resolve -mDNS +DNSOverTLS DNSSEC=yes/supported
Current DNS Server: 192.168.nnn.nnn
DNS Servers: 192.168.nnn.nnn

$ resolvectl query go.dnscheck.tools

go.dnscheck.tools: 
2604:a880:400:d0::256e:b001 -- link: wlp2s0
142.93.10.179               -- link: wlp2s0

-- Information acquired via protocol DNS in 1.4529s.
-- Data is authenticated: yes; 
-- Data was acquired via local or encrypted transport: yes
-- Data from: network

resolvectl reset-statistics

resolvectl statistics

DNSSEC supported by current servers: yes

Transactions            
Current Transactions:  0
Total Transactions:  0
                        
Cache                   
Current Cache Size: 61
Cache Hits:  0
Cache Misses:  0
                        
DNSSEC Verdicts         
Secure:  0
Insecure:  0
Bogus:  0
Indeterminate:  0

resolvectl show-cache

(...)
Scope protocol=dns
org IN DS 26974 8 2 4fede294c53f438a158c (...)
. IN DNSKEY 257 3 RSASHA256 AwEAAaz/tAm8y (...)
        -- Key tag: 30903
fedoraproject.org IN A 34.221.3.152
fedoraproject.org IN A 67.219.144.68
(...)

resolvectl flush-caches

resolvectl monitor

→ Q: detectportal.firefox.com IN A
← S: success
← A: detectportal.firefox.com IN CNAME detectportal.prod.mozaws.net

→ Q: dns11.quad9.net IN A
← S: success
← A: dns11.quad9.net IN A 149.112.112.11
← A: dns11.quad9.net IN A 9.9.9.11

$ delv site.name @9.9.9.11

fully validated
site.name.		28800	IN	A	81.125.249.17
site.name.		28800	IN	RRSIG	A 8 2 86400 2024

Синтаксис команды:

delv domain-name-here – The domain name to be looked up.

delv @dns-server-name domain-name-here – The name or IP address of the name server to query.

delv @dns-server-name domain-name-here type – State what type of DNS query is required. For example, A, AAAA, MX, TXT and so on.

Если при исполнении "короткой" команды "delv site.name" возникает ошибка:

;; broken trust chain resolving 'site.name/A/IN': 127.0.0.53#53
;; resolution failed: broken trust chain

резолвер 127.0.0.53:53 не сконфигурирован правильно для валидации DNSSEC. Поэтому используйте полную версию команды (с указанием конкретного DNS-сервера), например:

delv site.name @1.1.1.3

delv site.name @9.9.9.11

=> DNSSEC Resolver Test | Quad9 | Cloudflare Security Check

Дополнительно см.:

=> Quad9: Сетевые настройки DNS | Firefox: Настройка Encrypted Client Hello (Quad9)

=> ₪ Back to home ₪

🄯 Rami Rosenfeld, 2024. GNU FDL 1.3.

Proxy Information
Original URL
gemini://tilde.team/~rami/redhat_resolved.gmi
Status Code
Success (20)
Meta
text/gemini; lang=en
Capsule Response Time
444.956176 milliseconds
Gemini-to-HTML Time
3.100883 milliseconds

This content has been proxied by September (ba2dc).