DNS : BIND 9 et DNS Windows
Comprendre comment un nom devient une adresse IP, monter une zone sur un serveur BIND 9 (Debian 13) et sur un DNS Windows Server 2025, interroger et dépanner la résolution de noms.
L'essentiel
- Le DNS transforme un nom en adresse IP (et inversement), sur le port 53.
- Un nom se lit de droite à gauche : racine, TLD, domaine, hôte ; le FQDN finit par un point.
- Le poste fait une requête récursive ; le résolveur suit des renvois itératifs : racine, TLD, autorité.
- Une réponse est gardée en cache pendant son TTL ; un changement n'est visible qu'après expiration.
- Trois rôles : serveur faisant autorité (détient la zone), récursif (résout et met en cache), redirecteur (transmet).
- Une zone directe (A, AAAA, CNAME) et une zone inverse par réseau (PTR,
50.16.172.in-addr.arpa). - Enregistrements : SOA et NS (la zone), A/AAAA, CNAME (alias), MX, PTR, TXT, SRV (services de l'AD).
- BIND :
named.conf.options,named.conf.local, fichiers de zone ; série +1,named-checkconf,named-checkzone,rndc reload. - Windows : zone intégrée à l'AD, mises à jour dynamiques sécurisées, redirecteurs ; les postes du domaine n'utilisent que le DNS de l'AD.
- Dépannage : IP d'abord, puis DNS du poste, puis le serveur interrogé directement (
nslookup,dig), puis le cache.
Récursif ou itératif ?
Le poste envoie une requête récursive : « débrouille-toi et rends-moi la réponse finale ». Le résolveur (SRV-01) envoie des requêtes itératives : chaque serveur répond soit par la réponse, soit par un renvoi vers un autre serveur, et c'est le résolveur qui suit les renvois un par un.
Le changement qui n'arrive pas
Tu changes l'adresse de intranet dans la zone, mais certains postes tombent encore sur l'ancienne machine pendant des heures : leur cache garde l'ancienne valeur jusqu'à la fin du TTL. Pour une migration, baisse le TTL à 300 s la veille, fais le changement, puis remonte le TTL. En dépannage, vide les caches (partie 10).
Le numéro de série oublié
Tu modifies un enregistrement, tu recharges, et le serveur secondaire continue de répondre l'ancienne valeur : tu as oublié d'augmenter le numéro de série. Le secondaire compare les deux numéros de série, les trouve égaux et ne copie rien. Ajoute 1 au nn (ou passe à la date du jour) à chaque changement.
La question qui fait gagner du temps
« Ça marche avec l'adresse IP mais pas avec le nom » : c'est le DNS. Si ça ne marche pas non plus avec l'adresse IP, c'est le réseau (fiches précédentes), pas le DNS. Pour la suite, interroge toujours le serveur directement pour savoir s'il se trompe ou si c'est le poste.
Commandes clés
| Pour… | Commandes |
|---|---|
| Interroger un nom | nslookup nom [serveur] · dig @serveur nom +short · Resolve-DnsName nom -Server … |
| Un type précis, l'inverse | dig MX domaine · nslookup -type=MX domaine · dig -x 172.16.50.20 |
| Vider un cache | ipconfig /flushdns · resolvectl flush-caches · Clear-DnsServerCache |
| Contrôler et recharger BIND | named-checkconf · named-checkzone zone fichier · rndc reload |
| Gérer une zone Windows | Add-DnsServerResourceRecordA · Get-DnsServerResourceRecord -ZoneName |
| Voir le numéro de série | dig @serveur zone SOA +short |
| Cisco IOS / Packet Tracer | ip name-server 172.16.50.10 · ip domain-lookup · nslookup nom (poste) |