Configuration et dépannage du DNS
Comprenez comment les serveurs Linux traduisent les noms d’hôte en adresses IP : configurez les résolveurs, modifiez /etc/hosts et utilisez dig, nslookup et host pour diagnostiquer les problèmes de DNS qui interrompent la connectivité même lorsque le réseau fonctionne.
Configuration et dépannage du DNS est une leçon Linux Server Deployment & SSH Mastery gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Server Deployment & SSH Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Pourquoi le DNS est important sur un serveur
Votre serveur peut avoir une configuration réseau et un pare-feu parfaits tout en étant incapable d’atteindre le monde extérieur s’il ne peut pas résoudre les noms. Le DNS traduit les noms d’hôte faciles à retenir comme example.com en adresses IP.
Comprendre le fonctionnement de la résolution — et savoir la diagnostiquer — est indispensable pour maîtriser les réseaux.
Le chemin de résolution
Lorsqu’un programme a besoin de l’adresse IP correspondant à un nom, Linux vérifie généralement les sources dans l’ordre suivant :
- Le fichier local
/etc/hosts - Les serveurs DNS configurés (résolveurs)
L’ordre est défini par /etc/nsswitch.conf, sur la ligne hosts:.
grep hosts /etc/nsswitch.conf
# hosts: files dnsLe fichier /etc/hosts
/etc/hosts associe localement des noms à des adresses IP, sans passer par le DNS. Il est idéal pour les tests, les noms d’hôte internes ou l’association d’un domaine à une adresse IP précise.
Chaque ligne contient une adresse IP suivie d’un ou plusieurs noms.
127.0.0.1 localhost
192.168.1.50 db.internal dbOù les résolveurs sont configurés
Le fichier classique est /etc/resolv.conf, qui répertorie les serveurs de noms. Sur les systèmes modernes, il est souvent géré par systemd-resolved ou NetworkManager : le modifier directement peut donc ne pas fonctionner durablement.
Vérifiez ce qui est réellement utilisé avant de changer quoi que ce soit.
cat /etc/resolv.conf
resolvectl statusDéfinir un serveur DNS
Sur un système utilisant systemd-resolved, définissez le DNS pour chaque interface plutôt que de modifier resolv.conf. Sur les serveurs fondés sur Netplan, définissez-le dans la configuration YAML.
Cet exemple définit des résolveurs publics pour une interface.
sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0Rechercher des enregistrements avec dig
dig est l’outil d’interrogation DNS le plus puissant. Il affiche la réponse ainsi que les métadonnées de la requête.
L’option +short réduit la sortie à la seule réponse — ce qui est idéal pour les scripts.
dig example.com
dig +short example.comInterroger des types d’enregistrements précis
Le DNS stocke de nombreux types d’enregistrements. Précisez-en un pour consulter les courriels, les serveurs de noms ou les alias.
A— adresse IPv4AAAA— adresse IPv6MX— serveurs de courrielNS— serveurs de nomsCNAME— alias
dig example.com MX +short
dig example.com NS +shortnslookup et host
nslookup et host sont des alternatives plus simples à dig. Ils sont pratiques pour les vérifications rapides et la recherche inversée (de l’adresse IP vers le nom).
Les recherches inversées interrogent l’enregistrement PTR correspondant à une adresse.
host example.com
nslookup example.com
dig -x 8.8.8.8 +shortInterroger un serveur précis
Pour vérifier si un résolveur est à l’origine du problème, dirigez une requête vers un serveur précis avec la syntaxe @. Si un résolveur public fonctionne alors que le vôtre ne fonctionne pas, le problème vient de votre configuration DNS.
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +shortUne méthode de diagnostic
Lorsqu’un nom ne peut pas être résolu, examinez les différentes couches :
- Pouvez-vous envoyer une requête ping directement à une adresse IP ? (exclut le réseau)
dig @1.1.1.1 namefonctionne-t-il ? (exclut le nom lui-même)dig namefonctionne-t-il avec votre résolveur par défaut ? (isole la configuration du résolveur)- Une entrée obsolète dans
/etc/hostsla remplace-t-elle ?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +shortBonnes pratiques
Maintenez une résolution des noms fiable :
- Utilisez au moins deux résolveurs pour assurer la redondance
- Ne modifiez pas manuellement
resolv.confs’il est géré automatiquement - Utilisez
/etc/hostspour les tests, mais supprimez les entrées obsolètes - Préférez
dig +shortdans les scripts pour obtenir une sortie claire
Vérification rapide
Testez vos connaissances en matière de diagnostic DNS.
Récapitulatif
Vous pouvez désormais configurer et diagnostiquer le DNS sur un serveur :
- Ordre de résolution via
/etc/nsswitch.confet/etc/hosts - Résolveurs dans
resolv.conf/systemd-resolved - Interrogation avec
dig,hostetnslookup, y compris des types d’enregistrements et des serveurs précis - Méthode de diagnostic par couches
Vous complétez ainsi vos compétences en réseau et en pare-feu par la couche de nommage.
Questions Fréquemment Posées
La leçon « Configuration et dépannage du DNS » est-elle gratuite ?
Oui — le texte complet de « Configuration et dépannage du DNS » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Server Deployment & SSH Mastery, passe à CoddyKit PRO. Le cours Linux Server Deployment & SSH Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Configuration et dépannage du DNS » ?
Comprenez comment les serveurs Linux traduisent les noms d’hôte en adresses IP : configurez les résolveurs, modifiez /etc/hosts et utilisez dig, nslookup et host pour diagnostiquer les problèmes de D… Tu pratiques Linux Server Deployment & SSH Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Linux Server Deployment & SSH Mastery ?
Aucune expérience préalable n'est requise. Linux Server Deployment & SSH Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Configuration et dépannage du DNS » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Linux Server Deployment & SSH Mastery ?
Oui. Chaque leçon Linux Server Deployment & SSH Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Configuration réseau de base
- Comprendre les pare-feu (UFW/firewalld)
- Gestion et sécurité des ports
- Configuration et dépannage du DNS