DNS et résolution de noms
La résolution de noms traduit debian.org en adresse IP. Sur Debian avec systemd-networkd activé, la chaîne passe par systemd-resolved, qui consulte /etc/hosts en premier, puis les serveurs DNS configurés. Sans systemd-resolved, /etc/resolv.conf est un fichier statique pointant directement vers les DNS de l'hébergeur ou du réseau.
Si systemd-resolved a été activé en suivant le chapitre Configuration réseau, le symlink est déjà en place. Vérifier :
ls -la /etc/resolv.conf
# doit pointer vers /run/systemd/resolve/stub-resolv.conf
systemctl status systemd-resolvedRésolution locale : /etc/hosts
/etc/hosts est consulté avant tout serveur DNS. C'est le premier point de résolution sur toute machine Linux.
cat /etc/hosts
# 127.0.0.1 localhost
# 127.0.1.1 monserveur.local monserveur
# ::1 localhost ip6-localhostUtile pour forcer la résolution d'un nom en local (tests, overrides temporaires), définir un hostname court pour la machine, ou bloquer un domaine en le redirigeant vers 127.0.0.1. Les modifications sont prises en compte immédiatement, sans redémarrage de service.
Serveurs DNS : /etc/resolv.conf
Avec systemd-resolved actif, /etc/resolv.conf pointe sur le stub resolver local 127.0.0.53. Ce resolver interroge en coulisses les DNS configurés dans les fichiers .network de systemd-networkd.
resolvectl status # DNS effectivement utilisés par interfaceSans systemd-resolved (install par défaut sans migration), /etc/resolv.conf est un fichier statique :
cat /etc/resolv.conf
# nameserver 192.168.1.1
# nameserver 9.9.9.9Pour configurer des serveurs DNS statiques dans le cas systemd-networkd :
[Network]
DNS=9.9.9.9 149.112.112.112Interroger le DNS : dig
dig (paquet dnsutils) est l'outil de référence pour interroger les serveurs DNS.
apt install dnsutils
dig debian.org # requête A (IPv4) par défaut
dig AAAA debian.org # requête IPv6
dig MX debian.org # enregistrements mail
dig TXT debian.org # enregistrements TXT (SPF, DKIM...)
dig NS debian.org # serveurs de noms autoritaires
dig @9.9.9.9 debian.org # interroger un DNS spécifique
dig +short debian.org # réponse courte (IP uniquement)Types d'enregistrements courants
- A : nom vers IPv4
- AAAA : nom vers IPv6
- CNAME : alias vers un autre nom
- MX : serveur de messagerie
- TXT : données texte libres (SPF, DKIM, vérification de domaine)
- PTR : IP vers nom (DNS inverse)
- NS : serveurs de noms autoritaires du domaine
En pratique
Quand un nom ne résout pas, dig +short nom.domaine confirme si le problème est DNS ou réseau. Si dig @9.9.9.9 nom.domaine répond mais pas dig nom.domaine, le resolver local est le problème. Avec systemd-resolved, vérifier resolvectl status et l'état du service. Sans, vérifier le contenu de /etc/resolv.conf. Si aucun des deux ne répond, le domaine n'existe pas ou la connectivité UDP/53 est bloquée par un firewall.