Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 216 minIntermédiaire

Zones et enregistrements DNS : SOA, A, CNAME, MX, SRV, PTR

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • distinguer un domaine d'une zone et expliquer une délégation ;
  • choisir et écrire le bon enregistrement pour chaque besoin ;
  • lire les champs du SOA et gérer le numéro de série ;
  • construire une zone inverse et ses enregistrements PTR ;
  • écrire un fichier de zone complet sans les erreurs classiques.

4 exercices corrigés

Une zone DNS est la portion de l'arbre des noms dont un serveur a la charge, décrite par une liste d'enregistrements de ressource : A pour une adresse IPv4, CNAME pour un alias, MX pour la messagerie, PTR pour la résolution inverse, et une dizaine d'autres. Ce chapitre explique la différence entre domaine et zone, détaille chaque type d'enregistrement avec la syntaxe d'un fichier de zone, la délégation, les zones inverses et la copie d'une zone d'un serveur à un autre.

Domaine, zone, délégation

Un domaine est une branche de l'arbre : sorbier.example et tout ce qu'il y a dessous. Une zone est la partie de cette branche gérée d'un seul tenant, sur les mêmes serveurs. Tant que Sorbier gère tout sorbier.example au même endroit, domaine et zone se confondent. Mais Sorbier a confié ad.sorbier.example à ses contrôleurs de domaine : le domaine sorbier.example contient alors deux zones.

  • La zone sorbier.example, chez l'hébergeur : www, suivi, mail… (sans délégation pour ad, voir l'encadré ci-dessous).
  • La zone ad.sorbier.example, sur srv-ad et srv-ad2 : les serveurs, les postes, les enregistrements SRV de l'annuaire.

Une délégation est le panneau indicateur qui dit « pour ce sous-domaine, adresse-toi à ces serveurs ». Elle se fait par des enregistrements NS placés dans la zone parente. C'est exactement ce que fait la zone .fr pour service-public.fr, ou la racine pour .fr.

Quand les serveurs délégués portent un nom à l'intérieur de la zone déléguée (ns1.filiale.sorbier.example pour la zone filiale.sorbier.example), la zone parente doit aussi donner leur adresse, sinon personne ne pourrait les joindre : ce sont les enregistrements de colle (glue records), des A placés dans la zone parente.

dns
; Dans la zone sorbier.example : délégation de filiale.sorbier.example
filiale        IN NS   ns1.filiale.sorbier.example.
filiale        IN NS   ns2.filiale.sorbier.example.
; Enregistrements de colle : sans eux, ns1 et ns2 seraient introuvables
ns1.filiale    IN A    198.51.100.10
ns2.filiale    IN A    198.51.100.11

Les types d'enregistrements

Chaque enregistrement a cinq champs : le nom, le TTL (facultatif, sinon celui de la zone), la classe (IN pour Internet, toujours), le type et la donnée.

TypeRôleExemple dans un fichier de zone
SOADébut d'autorité : un seul par zone, en tête, avec les paramètres de la zoneVoir plus bas
NSServeurs qui font autorité pour la zone (ou pour un sous-domaine délégué)@ IN NS ns1.sorbier.example.
ANom vers adresse IPv4www IN A 203.0.113.17
AAAANom vers adresse IPv6www IN AAAA 2001:db8:17::80
CNAMEAlias : ce nom est un autre nomextranet IN CNAME suivi.sorbier.example.
MXServeur de messagerie du domaine, avec une préférence (le plus petit nombre d'abord)@ IN MX 10 mail.sorbier.example.
TXTTexte libre : SPF, DKIM, DMARC, preuves de propriété d'un domaine@ IN TXT "v=spf1 mx -all"
SRVService : priorité, poids, port et serveur qui le rend_ldap._tcp IN SRV 0 100 389 srv-ad.ad.sorbier.example.
PTRAdresse vers nom, dans une zone inverse178 IN PTR srv-fichiers.ad.sorbier.example.
CAAAutorités de certification autorisées à émettre des certificats pour le domaine@ IN CAA 0 issue "letsencrypt.org"
DNSKEY, DS, RRSIGClés et signatures DNSSECCréés par le serveur qui signe (chapitre 5)

Le symbole @ désigne le nom de la zone elle-même (l'« apex ») : dans la zone sorbier.example, @ IN MX 10 mail.sorbier.example. veut dire « le serveur de messagerie de sorbier.example est mail.sorbier.example ».

Le piège du point final

Dans un fichier de zone, un nom sans point final est relatif : le serveur lui ajoute le nom de la zone. Un nom avec point final est absolu.

Écrit dans la zone sorbier.exampleCompris comme
wwwwww.sorbier.example.
mail.sorbier.example.mail.sorbier.example.
mail.sorbier.example (point oublié)mail.sorbier.example.sorbier.example.

CNAME : trois règles à connaître

Un CNAME dit « ce nom est un alias de cet autre nom » : le résolveur reprend alors la résolution avec le nom cible. C'est pratique pour donner un nom de service (intranet) à une machine (srv-intranet) : si le service change de machine, tu modifies une seule ligne.

  1. Un nom qui porte un CNAME ne porte rien d'autre. Pas de MX, pas de TXT, pas de A à côté (RFC 1034). Conséquence : l'apex d'une zone (sorbier.example lui-même) ne peut jamais être un CNAME, puisqu'il porte déjà le SOA et les NS.
  2. Un MX ou un NS ne pointe jamais vers un CNAME (RFC 2181) : il doit désigner un nom qui a directement un A ou un AAAA.
  3. Évite les chaînes d'alias : chaque CNAME ajoute une étape à la résolution.

MX : la préférence et le repli

Un domaine peut avoir plusieurs MX. Le serveur qui envoie un courriel essaie d'abord celui de plus petite préférence, puis les suivants s'il ne répond pas. À préférence égale, il en choisit un au hasard, ce qui répartit la charge.

dns
@       IN MX 10 mail.sorbier.example.
@       IN MX 20 mail-secours.messagerie.example.

Le chiffre n'a pas d'autre sens que l'ordre : 10 et 20, ou 0 et 5, donnent le même résultat. Le chapitre 10 explique le trajet complet d'un courriel.

SRV : trouver un service

Un enregistrement SRV permet à un client de trouver quel serveur, sur quel port, rend un service. Son nom suit la forme _service._protocole.domaine, et sa donnée contient quatre champs : priorité (le plus petit d'abord), poids (répartition entre serveurs de même priorité), port et cible.

dns
_ldap._tcp.dc._msdcs  IN SRV 0 100 389 srv-ad.ad.sorbier.example.
_ldap._tcp.dc._msdcs  IN SRV 0 100 389 srv-ad2.ad.sorbier.example.
_kerberos._tcp        IN SRV 0 100 88  srv-ad.ad.sorbier.example.

Active Directory repose entièrement sur les SRV : c'est ainsi qu'un poste trouve un contrôleur de domaine pour ouvrir une session. Ils sont créés automatiquement par le service Netlogon de chaque contrôleur ; tu ne les écris jamais à la main (cours Windows Server). D'autres services s'en servent : SIP pour la téléphonie (_sip._udp), la configuration automatique des clients de messagerie (_imaps._tcp, _submission._tcp).

Le SOA, champ par champ

Le SOA (Start Of Authority) ouvre chaque zone. Il dit quel serveur est le primaire, qui contacter, et comment les serveurs secondaires doivent se synchroniser.

dns
@  IN SOA ns1.sorbier.example. hostmaster.sorbier.example. (
        2026110301 ; numéro de série
        7200       ; refresh : 2 h
        3600       ; retry : 1 h
        1209600    ; expire : 14 jours
        3600 )     ; TTL négatif : 1 h
ChampExempleRôle
MNAMEns1.sorbier.example.Serveur primaire de la zone
RNAMEhostmaster.sorbier.example.Adresse du responsable, avec un point à la place du @ : ici hostmaster@sorbier.example
Serial2026110301Numéro de version de la zone. Le format conseillé est AAAAMMJJnn : la date, puis un compteur de 01 à 99 pour les modifications du jour
Refresh7200Toutes les 2 heures, le secondaire vérifie si le serial du primaire a augmenté
Retry3600Si le primaire ne répond pas, le secondaire réessaie toutes les heures
Expire1209600Sans nouvelles du primaire pendant 14 jours, le secondaire cesse de répondre pour la zone : mieux vaut aucune réponse qu'une réponse périmée
Minimum3600Aujourd'hui, la durée de cache des réponses négatives (NXDOMAIN)

Zones inverses et enregistrements PTR

La résolution inverse répond à « quel nom porte l'adresse 192.168.10.178 ? ». Elle sert aux journaux (qui affichent des noms), à la supervision, au dépannage (tracert qui affiche des noms) et à la messagerie : beaucoup de serveurs de courriel refusent un expéditeur dont l'adresse publique n'a pas de PTR cohérent.

Les adresses sont rangées dans le domaine spécial in-addr.arpa (IPv4) et ip6.arpa (IPv6), octets à l'envers, parce que le DNS lit de droite à gauche du plus général au plus précis, alors qu'une adresse IP se lit dans l'autre sens.

AdresseZone inverse (réseau en /24)Nom de l'enregistrement PTR
192.168.10.17810.168.192.in-addr.arpa178 (soit 178.10.168.192.in-addr.arpa.)
192.168.10.22510.168.192.in-addr.arpa225
10.30.1.161 (agence de Marseille, en /16)30.10.in-addr.arpa161.1 (soit 161.1.30.10.in-addr.arpa.)

Les zones inverses se découpent sur les frontières d'octet : /8, /16 ou /24. Chez Sorbier, tous les VLAN sont découpés dans 192.168.10.0/24 : une seule zone, 10.168.192.in-addr.arpa, couvre les postes (/26), les serveurs (/28), l'entrepôt (/27) et la DMZ (/28).

Serveurs primaires et secondaires : le transfert de zone

Une zone doit être servie par au moins deux serveurs, de préférence sur des réseaux différents, pour qu'une panne ne rende pas tout le domaine introuvable. Hors Active Directory, un seul serveur détient la version modifiable :

  • le serveur primaire (primary, anciennement « maître ») porte le fichier de zone que l'administrateur modifie ;
  • les serveurs secondaires (secondary, anciennement « esclaves ») en obtiennent une copie en lecture seule par transfert de zone.
MécanismeCe qu'il fait
NOTIFYLe primaire prévient ses secondaires dès qu'une zone change, sans attendre le délai refresh
AXFRTransfert complet de la zone, en TCP 53
IXFRTransfert incrémental : seulement les modifications depuis le serial que possède le secondaire
TSIGSignature des transferts par une clé partagée : le primaire ne transfère qu'aux serveurs qui la connaissent

Les zones intégrées à Active Directory n'ont pas de primaire unique : la zone est stockée dans l'annuaire, chaque contrôleur DNS peut la modifier, et la copie se fait par la réplication de l'annuaire, sans transfert de zone. C'est un fonctionnement multimaître.

Une zone complète

Voici la zone publique de Sorbier telle qu'elle est publiée par son serveur primaire. Toutes les adresses publiques sont celles de la documentation.

dns
$TTL 3600
$ORIGIN sorbier.example.
@         IN SOA  ns1.sorbier.example. hostmaster.sorbier.example. (
                  2026110301 7200 3600 1209600 3600 )
          IN NS   ns1.sorbier.example.
          IN NS   dns2.hebergeur.example.
          IN MX   10 mail.sorbier.example.
          IN A    203.0.113.17
          IN TXT  "v=spf1 mx -all"
          IN CAA  0 issue "letsencrypt.org"
ns1       IN A    203.0.113.17
www       IN A    203.0.113.17
suivi     IN A    203.0.113.17
mail      IN A    198.51.100.25
_dmarc    IN TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@sorbier.example"

Lis-la ligne par ligne :

  • $TTL 3600 fixe le TTL par défaut, $ORIGIN le nom ajouté aux noms relatifs ;
  • les lignes qui commencent par un espace ou une tabulation reprennent le nom de la ligne précédente : les NS, le MX, le A et le TXT concernent tous @ ;
  • ns1, www et suivi pointent vers l'adresse publique du pare-feu, qui publie les services de la DMZ (chapitre 9) ;
  • mail est le serveur de messagerie, hébergé chez un prestataire à l'adresse 198.51.100.25 ;
  • dns2.hebergeur.example est un serveur secondaire chez l'hébergeur : il copie la zone depuis ns1.

Exercices

Exercice 1 sur 4 Choisir l'enregistrement Réussi À revoir

Quel type d'enregistrement crées-tu, et dans quelle zone, pour que :

  1. intranet.ad.sorbier.example mène à srv-intranet.ad.sorbier.example, quelle que soit son adresse ?
  2. les courriels adressés à @sorbier.example arrivent sur mail.sorbier.example ?
  3. l'adresse 192.168.10.180 s'affiche srv-journaux.ad.sorbier.example dans les journaux ?
  4. seule l'autorité Let's Encrypt puisse émettre un certificat pour sorbier.example ?
  5. les clients VoIP trouvent le serveur SIP en UDP 5060 ?
Voir la réponseMasquer la réponse de l'exercice 1
  1. Un CNAME dans la zone ad.sorbier.example : intranet IN CNAME srv-intranet.ad.sorbier.example.
  2. Un MX à l'apex de la zone sorbier.example : @ IN MX 10 mail.sorbier.example., avec un A pour mail (pas un CNAME).
  3. Un PTR dans la zone inverse 10.168.192.in-addr.arpa : 180 IN PTR srv-journaux.ad.sorbier.example.
  4. Un CAA à l'apex de sorbier.example : @ IN CAA 0 issue "letsencrypt.org".
  5. Un SRV : _sip._udp IN SRV 10 100 5060 <nom du serveur SIP>. dans la zone du domaine des téléphones.

Tu avais trouvé ?

Exercice 2 sur 4 Trouver les erreurs Réussi À revoir

Un stagiaire a écrit cette zone. Trouve les quatre erreurs et corrige-les.

dns
$TTL 3600
$ORIGIN sorbier.example.
@     IN SOA ns1.sorbier.example. hostmaster@sorbier.example. (
             2026110301 7200 3600 1209600 3600 )
      IN NS  ns1.sorbier.example.
      IN MX  10 courrier
courrier IN CNAME mail.sorbier.example.
mail  IN A   198.51.100.25
www   IN CNAME sorbier.example
@     IN CNAME suivi.sorbier.example.
Voir la réponseMasquer la réponse de l'exercice 2
  1. RNAME : hostmaster@sorbier.example. contient un @. Le champ s'écrit hostmaster.sorbier.example.
  2. MX vers un CNAME : courrier est un alias, interdit comme cible d'un MX. Écris IN MX 10 mail.sorbier.example. et supprime l'alias s'il ne sert à rien d'autre.
  3. Point final oublié : www IN CNAME sorbier.example devient sorbier.example.sorbier.example. Écris sorbier.example.
  4. CNAME à l'apex : @ porte déjà le SOA, les NS et le MX, il ne peut pas être un alias. Mets un A : @ IN A 203.0.113.17.

Il manque aussi un second NS sur un autre serveur, et le A de ns1 : sans lui, le serveur primaire annoncé est introuvable.

Tu avais trouvé ?

Exercice 3 sur 4 Les zones inverses Réussi À revoir

Donne la zone inverse et le nom du PTR pour chaque adresse :

  1. 192.168.10.225 (srv-web, DMZ), sachant que tout le site est dans 192.168.10.0/24.
  2. 10.40.0.12, au dépôt de Saint-Priest (10.40.0.0/24).
  3. 10.30.1.161, à l'agence de Marseille, dont la zone inverse couvre 10.30.0.0/16.
Voir la réponseMasquer la réponse de l'exercice 3
  1. Zone 10.168.192.in-addr.arpa, PTR 225.
  2. Zone 0.40.10.in-addr.arpa, PTR 12.
  3. Zone 30.10.in-addr.arpa, PTR 161.1 (nom complet : 161.1.30.10.in-addr.arpa.).

La méthode : retourne les octets du réseau pour la zone, ceux de l'hôte pour le nom de l'enregistrement.

Tu avais trouvé ?

Exercice 4 sur 4 Le serial Réussi À revoir

Lundi 2 novembre 2026, la zone a le serial 2026110201. Tu fais trois modifications le mardi 3 novembre.

  1. Quels serials successifs écris-tu ?
  2. Le secondaire a refresh = 7200. Sans NOTIFY, combien de temps au plus avant qu'il voie ta première modification ?
  3. Le primaire tombe le 3 novembre à 10 h, et expire = 1209600. Jusqu'à quand le secondaire répond-il pour la zone ?
Voir la réponseMasquer la réponse de l'exercice 4
  1. 2026110301, 2026110302, 2026110303. Le serial doit seulement augmenter ; le format date + compteur le rend lisible.
  2. 2 heures au plus (le délai refresh), plus le temps du transfert. Avec NOTIFY, c'est quasi immédiat.
  3. 1 209 600 s = 14 jours, à compter de la dernière synchronisation réussie. Si elle date du 3 novembre à 10 h, il répond jusqu'au 17 novembre vers 10 h, puis cesse de répondre pour la zone.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : DNS interne et externe : split DNS et DNS d'Active DirectoryRevoir le sommaire du cours