Linux
Réseau

DNS troubleshooting : dig, DNSSEC et résolution de problèmes

16 janvier 2026

4 min de lecture

Le DNS est un pilier de l'infrastructure réseau. Quand il dysfonctionne, tout s'arrête. Savoir diagnostiquer rapidement avec dig, comprendre les enregistrements et valider DNSSEC fait la différence entre 5 minutes et 2 heures de downtime.

Plan

  • Outils de diagnostic DNS : dig, host, nslookup
  • Analyser les réponses DNS et les codes de retour
  • Timeouts et résolution lente : diagnostic
  • DNSSEC : validation et troubleshooting
  • Split-horizon DNS et vues
  • Conclusion

Outils de diagnostic DNS

dig : l'outil de référence
# Requête basique
dig example.com

# Spécifier le type d'enregistrement
dig example.com A
dig example.com MX
dig example.com TXT
dig example.com NS

# Interroger un serveur DNS spécifique
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com A

# Réponse courte
dig +short example.com
dig +short example.com MX

# Trace complète (récursion)
dig +trace example.com
host : simple et rapide
host example.com
host -t MX example.com
host 93.184.216.34  # Reverse DNS
nslookup : legacy mais présent
nslookup example.com
nslookup example.com 8.8.8.8

Analyser les réponses DNS

Anatomie d'une réponse dig
dig example.com A

; <<>> DiG 9.18.24 <<>> example.com A
;; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            3600    IN      A       93.184.216.34

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jan 14 11:30:00 CET 2026
;; MSG SIZE  rcvd: 56

Sections importantes :

  • QUERY : nombre de questions
  • ANSWER : réponses obtenues
  • AUTHORITY : serveurs autoritaires
  • ADDITIONAL : infos supplémentaires
  • Query time : latence
  • SERVER : serveur DNS utilisé
Codes de retour (RCODE)
# NOERROR (0) : succès
# SERVFAIL (2) : échec serveur DNS
# NXDOMAIN (3) : domaine inexistant
# REFUSED (5) : requête refusée

dig nonexistent.example.com
# status: NXDOMAIN
TTL : Time To Live
dig example.com

# Réponse :
example.com.    3600    IN      A       93.184.216.34
#               ↑ TTL en secondes (1h ici)

Le TTL indique combien de temps la réponse peut être cachée.


Timeouts et résolution lente

Identifier un timeout
dig example.com

# Si timeout :
;; connection timed out; no servers could be reached

Causes fréquentes :

  • Firewall bloquant le port 53 (UDP/TCP)
  • Serveur DNS down ou injoignable
  • Problème réseau
Tester la connectivité DNS
# Ping du serveur DNS
ping 8.8.8.8

# Test port 53 UDP
nc -u -z -v 8.8.8.8 53

# Test port 53 TCP (pour grosses réponses)
nc -z -v 8.8.8.8 53
Mesurer la latence
# Comparer plusieurs serveurs
for dns in 8.8.8.8 1.1.1.1 9.9.9.9; do
    echo "DNS: $dns"
    dig @$dns example.com | grep "Query time"
done
Vérifier /etc/resolv.conf
cat /etc/resolv.conf

# Contenu typique
nameserver 8.8.8.8
nameserver 1.1.1.1
options timeout:2 attempts:3

DNSSEC : validation et troubleshooting

Qu'est-ce que DNSSEC ?

DNSSEC signe cryptographiquement les enregistrements DNS pour garantir leur authenticité et intégrité.

Vérifier DNSSEC
# Vérifier si DNSSEC est actif
dig example.com +dnssec

# Réponse avec flag AD (Authenticated Data)
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2
Valider DNSSEC manuellement
# Obtenir la clé DNSKEY
dig example.com DNSKEY +short

# Valider la chaîne de confiance
dig +dnssec +multiline example.com
Débugger DNSSEC
# Si SERVFAIL avec DNSSEC
dig example.com +dnssec +cd
# +cd = checking disabled (ignore DNSSEC)

# Si ça fonctionne avec +cd, problème DNSSEC

Erreurs courantes :

  • Signature expirée
  • Clés non synchronisées
  • Horloge système incorrecte

Split-horizon DNS

Principe

Retourner des réponses différentes selon la source de la requête (interne vs externe).

Exemple avec BIND
# /etc/bind/named.conf.local
view "internal" {
    match-clients { 192.168.1.0/24; };
    zone "example.com" {
        type master;
        file "/etc/bind/zones/internal/example.com.zone";
    };
};

view "external" {
    match-clients { any; };
    zone "example.com" {
        type master;
        file "/etc/bind/zones/external/example.com.zone";
    };
};
Tester depuis différents réseaux
# Depuis le réseau interne
dig @dns-server.local app.example.com
# Réponse : 192.168.1.10 (IP privée)

# Depuis Internet
dig @dns-server.public app.example.com
# Réponse : 203.0.113.50 (IP publique)

Ressources connexes

Conclusion

Maîtriser dig et les outils de diagnostic DNS permet de résoudre rapidement les problèmes de résolution. Comprendre les TTL, valider DNSSEC et identifier les timeouts sont des compétences essentielles pour tout sysadmin.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets d'infrastructure et d'infogérance.

Contactez-nous

Articles similaires