Commandes Linux pour interroger, déboguer et configurer la résolution DNS.

Sujets associés : DNS, Enregistrements DNS, DNS — Vue d’ensemble (types de records)


dig — outil de référence pour interroger le DNS

dig (Domain Information Groper) est l’outil principal pour les requêtes DNS.

# Requête A basique (IPv4)
dig google.com
 
# Requête type spécifique
dig google.com A            # adresse IPv4
dig google.com AAAA         # adresse IPv6
dig google.com MX           # serveurs mail
dig google.com NS           # serveurs de noms
dig google.com TXT          # enregistrements texte (SPF, DKIM…)
dig google.com CNAME        # alias
dig google.com SOA          # Start of Authority
dig google.com CAA          # Certification Authority Authorization
 
# Interroger un serveur DNS spécifique (@ = serveur cible)
dig @8.8.8.8 google.com     # interroger Google DNS
dig @1.1.1.1 google.com     # interroger Cloudflare DNS
dig @192.168.1.1 google.com # interroger le DNS local
 
# Résolution inverse (PTR) : IP → nom de domaine
dig -x 142.250.74.238
dig -x 8.8.8.8
 
# Sortie courte (seulement la réponse)
dig +short google.com
dig +short google.com MX
 
# Trace complète de la résolution (root → TLD → domaine)
dig +trace google.com
 
# Désactiver la récursion (interroger directement le serveur)
dig +norec @ns1.google.com google.com
 
# Afficher toutes les sections de la réponse
dig +all google.com
 
# Désactiver la section question (sortie plus propre)
dig +noall +answer google.com
 
# DNSSEC
dig +dnssec google.com

Lecture d’une réponse dig :

;; QUESTION SECTION:
;google.com.                    IN      A     ← ce qu'on demande

;; ANSWER SECTION:
google.com.             207     IN      A       142.250.74.238
│           │                           │       │
nom         TTL (secondes)              type    valeur

;; Query time: 12 msec
;; SERVER: 8.8.8.8#53            ← serveur qui a répondu
;; WHEN: Sun Apr 05 2026
;; MSG SIZE  rcvd: 55

Flags de réponse :

;; flags: qr rd ra ;
         │  │  │
         │  │  └─ Recursion Available : le serveur supporte la récursion
         │  └─── Recursion Desired   : on a demandé la récursion
         └─────── Query Response     : c'est une réponse (pas une requête)

nslookup — alternative interactive

# Requête simple
nslookup google.com
nslookup google.com 8.8.8.8   # avec serveur spécifique
 
# Mode interactif
nslookup
> set type=MX
> google.com
> server 1.1.1.1
> exit
 
# Résolution inverse
nslookup 8.8.8.8

host — outil simple et lisible

# Résolution IPv4
host google.com
 
# Résolution IPv6
host -t AAAA google.com
 
# Tous les enregistrements
host -a google.com
 
# Résolution inverse
host 8.8.8.8
 
# Via un serveur DNS spécifique
host google.com 8.8.8.8

resolvectl — résolution DNS systemd

# Statut global de la résolution DNS
resolvectl status
 
# Résoudre un nom
resolvectl query google.com
 
# Résolution inverse
resolvectl query 8.8.8.8
 
# Voir les serveurs DNS configurés par interface
resolvectl dns
 
# Voir le cache DNS
resolvectl statistics
 
# Vider le cache DNS
sudo resolvectl flush-caches
 
# Voir le domaine de recherche
resolvectl domain
 
# Tester la résolution DNSSEC
resolvectl query --type=RRSIG google.com

Fichiers de configuration DNS

# Fichier résolveur (serveurs DNS utilisés)
cat /etc/resolv.conf
# Contenu typique :
# nameserver 8.8.8.8
# nameserver 1.1.1.1
# search exemple.local     ← suffixe de recherche
# options ndots:5          ← nb de points avant de consulter le serveur
 
# Fichier hosts (résolution locale, prioritaire sur DNS)
cat /etc/hosts
# 127.0.0.1   localhost
# 192.168.1.10 mon-serveur.local mon-serveur
 
# Modifier /etc/hosts pour tester (sans DNS)
echo "192.168.1.50 dev.exemple.com" | sudo tee -a /etc/hosts
 
# Ordre de résolution (hosts → DNS → mDNS…)
cat /etc/nsswitch.conf | grep hosts
# hosts: files mdns4_minimal [NOTFOUND=return] dns

Cas d’usage courants

# Déboguer un problème de résolution
dig +trace exemple.com          # tracer depuis les root servers
dig @8.8.8.8 exemple.com        # contourner le DNS local
dig @192.168.1.1 exemple.com    # tester le DNS interne
 
# Vérifier SPF d'un domaine (anti-spam)
dig +short google.com TXT | grep spf
 
# Vérifier DKIM
dig +short google._domainkey.gmail.com TXT
 
# Vérifier les NS d'un domaine
dig +short NS exemple.com
 
# Vérifier qu'un certificat CAA est en place
dig exemple.com CAA
 
# Trouver le SOA (et le serial de zone)
dig +short SOA exemple.com
 
# Tester la propagation DNS (comparer plusieurs serveurs)
dig @8.8.8.8 exemple.com A +short
dig @1.1.1.1 exemple.com A +short
dig @9.9.9.9 exemple.com A +short
 
# Résolution inverse en masse
for ip in 8.8.8.8 1.1.1.1 9.9.9.9; do
    echo -n "$ip → "; dig +short -x $ip
done

En relation avec