Échecs de résolution DNS sous Debian 12 : réparer systemd-resolved

Si Debian 12 affiche « Échec temporaire de la résolution de noms », vérifiez le service de résolution, la /etc/resolv.confliaison et les serveurs DNS listés par resolvectlla commande `db`, dans cet ordre. Un redémarrage du service ne résout le problème que si le service est arrêté ; une liaison rompue ou un serveur en amont inaccessible nécessitent une autre solution.

Ces instructions concernent les systèmes Debian 12 (Bookworm) configurés pour utiliser un résolveur DNS systemd-resolvedexterne. Debian a séparé ce résolveur dans un paquet distinct et ne l'a pas défini comme résolveur par défaut, comme indiqué dans les notes de version de Debian 12. Si votre installation utilise un autre gestionnaire DNS, il est préférable de laisser ce dernier gérer les paramètres plutôt que de lui imposer ces paramètres.

1. Identifier les échecs de la résolution de noms

Commencez par configurer la route réseau et effectuer une recherche de nom d'hôte. Exécutez les commandes localement ou dans un terminal qui restera ouvert en cas de modification du réseau :

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

Une route par défaut et une connexion IP numérique fonctionnelle indiquent que la machine peut accéder au réseau sans passer par un DNS. Un ping infructueux ne prouve pas à lui seul une route défaillante : les réseaux peuvent bloquer les réponses d'écho ICMP. Si l'interface ne possède pas d'adresse ou de route, commencez par corriger la connexion réseau.

resolvectl statusAffiche les serveurs DNS et les domaines attribués globalement ou à des interfaces individuelles. resolvectl queryTeste le résolveur systemd ; getent ahoststeste le chemin de résolution de noms d'hôtes couramment utilisé par les applications Linux. Cette distinction permet d'isoler la panne.

ObservationProchaine vérification
Aucune adresse ni itinéraire par défautCorrigez la configuration de l'interface, de la passerelle ou du DHCP avant celle du DNS.
resolvectlne peut pas se connecter à son serviceVérifiez si le systemd-resolvedlogiciel est installé et en cours d'exécution.
resolvectl queryfonctionne, getentéchoueInspectez /etc/resolv.confla configuration des hôtes NSS.
Les deux recherches échouent malgré un itinéraire fonctionnel.Inspectez les adresses DNS en amont, le routage DNS et l'accès au pare-feu.
Terminal Debian avec les commandes ip route, resolvectl status et getent hosts pour vérifier la connectivité DNS.
Une vue terminale regroupe la route réseau par défaut, l'attribution du serveur DNS et une recherche de nom d'hôte au niveau de l'application pour un diagnostic initial.

2. Assurez-vous que systemd-resolved est installé et actif.

Sur Debian 12, la présence de systemd ne garantit pas l'installation du paquet de résolution DNS. Vérifiez le paquet et l'unité avant de modifier les fichiers DNS.

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

Si le paquet est installé mais que le service est inactif, démarrez-le et activez-le pour les prochains démarrages :

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

La commande finale devrait afficher un résultat active. En cas de défaillance de l'unité, consultez ses messages d'erreur plutôt que de la redémarrer à répétition :

journalctl -u systemd-resolved -b --no-pager -n 60

Si le paquet est manquant, installez-le sudo apt install systemd-resolveduniquement après avoir un accès fonctionnel au dépôt de paquets. Son installation modifie la gestion de ce paquet/etc/resolv.conf ; vérifiez donc au préalable toute configuration de NetworkManager, VPN ou DNS statique. Debian documente cette modification dans ses notes de mise à niveau de Bookworm .

Terminal Debian affichant l'état de systemctl systemd-resolved avec Active: active (running).
L'affichage de l'état du service indique où trouver l'unité chargée, l'état actif et les messages de démarrage.

3. Ne réparez le lien du résolveur que s'il est défectueux.

Le stub standard systemd-resolvedécoute sur 127.0.0.53. Son fichier de compatibilité recommandé est /run/systemd/resolve/stub-resolv.conf, qui peut être lié depuis /etc/resolv.conf. Vérifiez d'abord votre mode actuel :

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

L'utilisation d'un lien direct /run/systemd/resolve/resolv.confest également possible, mais les programmes qui l'utilisent contactent directement le serveur DNS en amont au lieu du serveur DNS local. Ne considérez pas ce lien comme rompu simplement parce qu'il diffère. Le manuel du service systemd-resolved de Debian explique les modes pris en charge.

Si vous utilisez intentionnellement le stub local, que le service est en cours d'exécution, que l'écouteur du stub est activé et que le lien existant /etc/resolv.confest manquant, orphelin ou pointe vers un résolveur obsolète, rétablissez le lien recommandé. Commencez par sauvegarder un fichier ou un lien existant ; ignorez la copie si aucun fichier n'existe.

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

N’exécutez pas ce remplacement sur un hôte où un autre service gère intentionnellement le DNS /etc/resolv.conf. Une entrée locale nameserver 127.0.0.53nécessite également un écouteur stub fonctionnel ; la simple saisie de cette adresse ne crée pas de service DNS. Sur une machine distante, conservez une autre méthode d’accès avant de modifier les paramètres du résolveur.

Terminal Debian affichant le lien symbolique /etc/resolv.conf pointant vers le fichier stub-resolv.conf de systemd-resolved.
La vérification du lien symbolique affiche la cible attendue lorsque Debian est délibérément configuré pour utiliser le stub local résolu par systemd.

4. Corriger un serveur DNS en amont absent ou inaccessible

Si resolvectl statusaucun serveur DNS en amont approprié n'est détecté, ou si un serveur configuré est inaccessible, corrigez la source de cette attribution. Les paramètres DNS dynamiques peuvent provenir de DHCP, NetworkManager, systemd-networkd ou d'un VPN. Vérifiez quelle interface utilise la route par défaut et quel serveur DNS lui est associé.

Pour un test de diagnostic rapide sur un réseau autorisant le DNS public, attribuez des résolveurs publics connus à cette interface. Remplacez ens33par l'interface réelleip -br address :

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

Ces deux adresses sont répertoriées par Cloudflare comme étant ses adresses de résolution DNS publiques . Cette resolvectl dnsmodification est une configuration temporaire ; un administrateur réseau pourra la rétablir une fois la connexion rétablie. Si la résolution fonctionne désormais, il est préférable de corriger la source DNS permanente plutôt que de se fier à cette commande temporaire.

Avec NetworkManager, examinez la connexion active nmcli connection show --activeet ajustez ses paramètres DNS ou son comportement DHCP. Avec systemd-networkd, configurez le réseau DNS=dans le .networkfichier correspondant, puis redémarrez ou reconfigurez-le ultérieurement. Consultez le manuel de systemd.network et le manuel de configuration de NetworkManager pour Debian . La reconnexion d'une interface gérée peut interrompre une session SSH.

Privilégiez les serveurs DNS de votre organisation ou de votre VPN pour les noms internes. Les résolveurs publics ne répondent pas nécessairement aux zones privées ; forcer toutes les requêtes vers eux peut perturber la répartition DNS ou divulguer des noms d'hôtes internes. DNS=Les entrées globales resolved.confpeuvent fonctionner en parallèle du DNS par lien, sans le remplacer automatiquement ; consultez le manuel du fichier resolved.conf de Bookworm .

5. Videz le cache et vérifiez que les deux chemins de recherche fonctionnent.

Après avoir corrigé le service, le lien du résolveur ou la configuration en amont, effacez les réponses mises en cache et effectuez un nouveau test :

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

La réparation est effective lorsque resolvectl queryles adresses de retour, getent ahostsles enregistrements DNS et les serveurs DNS cibles restent visibles après le rétablissement de la connexion réseau. Les deux commandes testent des interfaces différentes ; par conséquent, la réussite de l’une ne garantit pas la réparation de toutes les applications. Le manuel de resolvectl pour Debian documente les requêtes, l’état et la vidange du cache.

Terminal Debian affichant la requête resolvectl debian.org et la commande getent ahosts debian.org renvoyant des enregistrements d'adresses, suivies de flush-caches.
La vue finale du terminal affiche les deux vérifications qui devraient toutes deux renvoyer des enregistrements d'adresse une fois la configuration DNS réparée.

Si resolvectl queryla recherche réussit mais getentéchoue à nouveau, vérifiez grep "^hosts:" /etc/nsswitch.confqu'un module NSS approprié dnset installé resolveest bien présent dans le chemin de résolution. Si l'échec persiste, consultez le journal du résolveur et les éventuelles restrictions de pare-feu sur le trafic DNS, puis effectuez un test avec l'adresse DNS réelle de l'entreprise, du routeur ou du fournisseur. Une résolution réussie isolée ne suffit pas : répétez les vérifications après la reconnexion et après le redémarrage pour confirmer la résolution du problème.

Laisser un commentaire

Recevez les alertes SMART Disk d'Ubuntu par e-mail avec smartd

Recevez les alertes SMART Disk d'Ubuntu par e-mail avec smartd

Comparez les options de livraison de courrier, configurez smartd sur Ubuntu et vérifiez que les alertes concernant l'état de votre disque dur arrivent bien dans votre boîte de réception.

Échecs de résolution DNS sous Debian 12 : réparer systemd-resolved

Échecs de résolution DNS sous Debian 12 : réparer systemd-resolved

Rétablissez les requêtes DNS sur Debian 12 en vérifiant systemd-resolved, en réparant resolv.conf si nécessaire et en vérifiant la résolution DNS et applicative en amont.

Ubuntu 24.04 n'affiche pas le son HDMI ? Restaurez la sortie.

Ubuntu 24.04 n'affiche pas le son HDMI ? Restaurez la sortie.

Configurez Ubuntu pour qu'il détecte votre moniteur ou votre téléviseur comme une sortie audio, sélectionnez-le dans les paramètres audio et vérifiez la liste des périphériques de connexion ou PipeWire si le périphérique HDMI est absent.

Corrigez les erreurs de signature APT en réparant la clé du dépôt

Corrigez les erreurs de signature APT en réparant la clé du dépôt

Résolvez les avertissements de signature APT sous Ubuntu en toute sécurité en identifiant la source défaillante, en actualisant sa clé vérifiée et en vérifiant le résultat sans désactiver la sécurité.

Comment convertir la tension triphasée, le courant, les kW, les kVA et le facteur de puissance

Comment convertir la tension triphasée, le courant, les kW, les kVA et le facteur de puissance

Apprenez les formules triphasées équilibrées et convertissez étape par étape la tension de ligne, le courant, le kW, le kVA et le facteur de puissance, avec un exemple concret et des limites à vérifier.

Limiter l'utilisation du processeur et de la mémoire d'une commande avec les cgroups d'Ubuntu

Limiter l'utilisation du processeur et de la mémoire d'une commande avec les cgroups d'Ubuntu

Exécutez une charge de travail dans un périmètre systemd avec CPUQuota et MemoryMax, puis vérifiez les limites via cgroup v2.

Chiffrer le DNS amont de Pi-hole sur un serveur Ubuntu 24.04

Chiffrer le DNS amont de Pi-hole sur un serveur Ubuntu 24.04

Configurez dnscrypt-proxy comme pont DoH local de Pi-hole sur Ubuntu 24.04, avec un écouteur localhost uniquement, une sélection de résolveur et des vérifications avant de changer de DNS.

Faire fonctionner les gestes du pavé tactile sous Ubuntu 24.04 avec Wayland

Faire fonctionner les gestes du pavé tactile sous Ubuntu 24.04 avec Wayland

Vérifiez les paramètres du pavé tactile d'Ubuntu, confirmez la présence de Wayland et testez les balayages intégrés de GNOME avant de procéder au dépannage des applications ou du matériel.

Créer un miroir RAID 1 Debian 12 avec mdadm

Créer un miroir RAID 1 Debian 12 avec mdadm

Créez et vérifiez une grappe de données RAID 1 Debian 12 à deux disques, formatez-la en toute sécurité et configurez-la pour qu'elle s'assemble et se monte après le redémarrage.

Chiffrez le swap Debian 12 avec une nouvelle clé à chaque démarrage.

Chiffrez le swap Debian 12 avec une nouvelle clé à chaque démarrage.

Configurez le chiffrement à clé aléatoire pour une partition swap Debian 12 existante, vérifiez le mappage dm-crypt actif et comprenez le compromis lié à l'hibernation.