DNS client tools
| Fiche express | |
|---|---|
| Type | Outils client DNS (dig) |
| Paquet | bind-utils (RHEL) / dnsutils (Debian)
|
| Voir aussi | Bind · Bind DNS server · Host |
dig (domain internet groper) est l'outil de référence pour interroger et diagnostiquer
un serveur DNS — bien plus complet que nslookup pour du dépannage. Cette page
couvre deux usages courants : tester un transfert de zone et suivre une résolution récursive
complète.
Tester un transfert de zone (AXFR)
Un transfert de zone (AXFR) copie l'intégralité d'une zone depuis le serveur
faisant autorité — utile pour vérifier qu'un secondaire peut bien répliquer, mais aussi une
opération sensible à restreindre : une zone en clair révèle toute la cartographie interne
d'un domaine (voir Bind DNS server pour la restreindre par clé TSIG).
Sans autorisation, la demande est refusée :
dig @192.168.122.183 example.com -t AXFR
; <<>> DiG 9.x <<>> @192.168.122.183 example.com -t AXFR
; (1 server found)
;; global options: printcmd
; Transfer failed.
Avec la clé TSIG autorisée (cf. génération dans Bind DNS server) :
dig @192.168.122.183 example.com -t AXFR -y 'shadow-slave:REMPLACER_PAR_LA_CLE_GENEREE='
example.com. 86400 IN SOA ns1.example.com. root.example.com. 49 10800 900 604800 86400
example.com. 86400 IN A 192.168.122.1
example.com. 86400 IN NS ns1.sub.example.com.
example.com. 86400 IN NS ns1.example.com.
ns1.example.com. 86400 IN A 192.168.122.183
ns2.example.com. 86400 IN A 192.168.122.46
sub.example.com. 86400 IN NS ns1.sub.example.com.
ns1.sub.example.com. 86400 IN A 192.168.122.46
www.example.com. 86400 IN A 192.168.122.100
example.com. 86400 IN SOA ns1.example.com. root.example.com. 49 10800 900 604800 86400
shadow-slave. 0 ANY TSIG hmac-md5.sig-alg.reg.int. ... NOERROR 0
;; Query time: 2 msec
;; SERVER: 192.168.122.183#53(192.168.122.183)
;; XFR size: 10 records (messages 1)
Le dernier enregistrement TSIG dans la réponse confirme que le transfert a bien
été authentifié par la clé, pas seulement autorisé par IP.
Suivre une résolution récursive complète (+trace)
+trace déroule la résolution étape par étape depuis les serveurs racine, en
suivant la délégation de zone en zone — utile pour diagnostiquer un problème de délégation ou
de glue record :
dig +trace -t A example.org
;; global options: printcmd
. 518373 IN NS a.root-servers.net.
. 518373 IN NS b.root-servers.net.
...
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 0 ms
com. 172800 IN NS a.gtld-servers.net.
...
;; Received 501 bytes from 192.33.4.12#53(a.root-servers.net) in 347 ms
example.org. 172800 IN NS ns1.example-hosting.net.
example.org. 172800 IN NS ns2.example-hosting.net.
;; Received 179 bytes from 192.55.83.30#53(a.gtld-servers.net) in 910 ms
example.org. 30 IN A 203.0.113.10
;; Received 163 bytes from 208.78.70.34#53(ns1.example-hosting.net) in 752 ms
Chaque bloc correspond à une étape de la délégation : serveurs racine → serveurs du TLD
(.com, .org…) → serveurs faisant autorité pour le domaine, qui
renvoient finalement l'enregistrement demandé.
Options utiles au quotidien
dig +short exemple.tld A # réponse brute, sans les en-têtes (idéal en script)
dig -x 192.168.1.10 # résolution inverse (PTR)
dig @8.8.8.8 exemple.tld # interroger un serveur DNS précis plutôt que le résolveur local
dig exemple.tld MX # type d'enregistrement spécifique
Voir aussi
- Bind — présentation générale de BIND
- Bind DNS server — mise en place des clés TSIG utilisées ici pour le transfert de zone
- Options bind — description des champs d'un enregistrement DNS et de la zone SOA
- Host — alternative plus simple à
digpour une résolution rapide