Deux types de fichiers de zones sont nécessaires. Le premier sert à associer l'adresse IP au nom de l'ordinateur. L'autre fonctionne en sens inverse et fournit un nom d'hôte pour une adresse IP donnée.
![]() | Point (.) dans les fichiers de zones |
|---|---|
Le | |
Considérons, tout d'abord, le fichier de zone
monde.zone, responsable du domaine
monde.entier, montré dans l'Exemple 40.6, « Fichier /var/lib/named/monde.zone ».
Exemple 40.6. Fichier /var/lib/named/monde.zone
$TTL 2D
monde.entier. IN SOA gateway root.monde.entier. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway
IN MX 10 soleil
gateway IN A 192.168.0.1
IN A 192.168.1.1
soleil IN A 192.168.0.2
lune IN A 192.168.0.3
terre IN A 192.168.1.2
mars IN A 192.168.1.3
www IN CNAME lune
$TTL définit la durée de vie par défaut (en
anglais, Time To Live), c'est-à-dire la durée de vie valable de toutes les
directives de ce fichier : 2 jours (2D = 2 days).
C'est ici que commence l'enregistrement de contrôle
SOA (SOA = Start of Authority) :
En première position, on trouve le nom du domaine à gérer
monde.entier, ce dernier se terminant par un
. car sinon la zone serait à nouveau ajoutée.
Sinon, on peut aussi écrire ici un @ pour que la
zone de la directive correspondante soit extraite du fichier
/etc/named.conf.
Après IN SOA, on trouve le nom du
serveur de noms qui sert de maître pour cette zone. Dans ce cas, le nom
gateway est complété pour
devenir gateway.monde.entier car il ne se
termine pas par un ..
Vient ensuite l'adresse électronique de la personne
responsable du serveur de noms. Comme le signe @ a
déjà une signification particulière, il faut simplement écrire un
. à la place. Ainsi, pour
root@monde.entier, on écrit
root.monde.entier.. N'oubliez pas le
. à la fin, sans quoi la zone serait à nouveau
ajoutée.
Vient enfin une parenthèse ( qui permet
d'englober les lignes qui suivent jusqu'à la parenthèse
) dans l'enregistrement SOA.
Le numéro de série est un nombre arbitraire
qui doit être incrémenté à chaque modification de ce fichier. Il sert à
informer les serveurs de noms secondaires (serveurs esclaves) des
modifications entreprises. On a donc introduit pour ce faire un nombre à
10 chiffres composé de la date et d'un numéro d'ordre de la forme
AAAAMMJJNN.
La fréquence d'actualisation indique à quels
intervalles le serveur de noms secondaire vérifie le numéro de
série de la zone. Dans cet exemple, on a pris 1 jour (1D
= 1 day).
La fréquence des tentatives indique l'écart
de temps qui s'écoule avant qu'un serveur de noms secondaire, en cas
d'erreur, n'essaie de contacter à nouveau le serveur principal. Dans le
cas présent, on a 2 heures (2H = 2 hours).
La durée d'expiration indique la durée au
bout de laquelle un serveur de noms secondaire jette les données mises en
cache s'il n'a plus réussi à contacter le serveur principal. Dans le cas
présent, il s'agit d'une semaine (1W = 1 week).
La dernière ligne du SOA est la durée de vie de
mise en cache des échecs. Elle indique combien de temps les
résultats des requêtes DNS des autres serveurs qui n'ont pu être résolues
peuvent être conservées en mémoire cache.
IN NS indique le serveur de noms
responsable de ce domaine. Ici aussi, le nom
gateway est complété pour devenir
gateway.monde.entier car il ne se termine pas
par un .. On peut utiliser plusieurs lignes de ce
type, une pour le serveur principal et une pour chaque serveur de noms
secondaire. Si notify dans le fichier
/etc/named.conf ne vaut pas no,
tous les serveurs de noms indiqués ici sont informés des modifications
des données de la zone.
L'enregistrement MX indique le serveur de messagerie qui prend
en charge, modifie et redirige les messages pour le domaine monde.entier. Dans cet exemple, il
s'agit de l'ordinateur soleil.monde.entier. Le chiffre qui
précède le nom de l'ordinateur est la valeur de préférence. Ainsi, s'il
existe plusieurs déclarations MX, c'est le serveur de messagerie dont la
valeur de préférence est la plus petite qui est pris, et si la remise de
courrier à ce serveur échoue, on essaie celui ayant la valeur plus élevée
suivante.
Il s'agit là des véritables enregistrements d'adresses (en
anglais, address records), dans lesquels on attribue une ou plusieurs
adresses IP à un nom d'ordinateur. Les noms figurent ici sans
. final, car ils sont indiqués sans domaine à leur
suite et sont donc tous complétés par monde.entier. Deux adresses IP sont
attribuées à l'ordinateur gateway car il est
équipé de deux cartes réseau. Le A indique une adresse
de machine traditionnelle ; on utilise A6 pour
les adresses IPv6 (AAAA est un format dépassé
pour les adresses IPv6).
On peut utiliser l'alias www pour désigner lune (CNAME =
canonical name, nom canonique).
Pour la résolution inverse (en anglais, reverse lookup) des
adresses IP en noms de machines, on utilise le pseudo-domaine
in-addr.arpa. Ce dernier est ajouté à l'adresse réseau
écrite dans l'ordre inverse. 192.168.1 devient donc
1.168.192.in-addr.arpa. Reportez-vous à l'Exemple 40.7, « Résolution inverse ».
Exemple 40.7. Résolution inverse
$TTL 2D 1.168.192.in-addr.arpa. IN SOA gateway.monde.entier. root.monde.entier. ( 2003072441 ; serial 1D ; refresh 2H ; retry 1W ; expiry 2D ) ; minimum IN NS gateway.monde.entier. 1 IN PTR gateway.monde.entier. 2 IN PTR terre.monde.entier. 3 IN PTR mars.monde.entier.
$TTL définit la durée de vie par défaut valable ici pour toutes les directives.
Ce fichier permet en principe la résolution inverse pour le réseau
192.168.1.0. Comme la zone
s'appelle ici 1.168.192.in-addr.arpa, on ne
souhaite bien entendu pas l'ajouter au nom d'hôte. C'est pourquoi on
saisit ce dernier en entier—avec le domaine et le
. final. Le reste correspond à ce qui a déjà été
décrit dans l'exemple précédent pour la zone
monde.entier.
Voir l'exemple précédent pour monde.entier.
Cette ligne indique ici aussi à nouveau le serveur de noms
responsable de cette zone, mais cette fois-ci, le nom est indiqué en
entier, avec le domaine et le . final.
Il s'agit d'enregistrements pointeurs (pointer records) qui, pour
une adresse IP pointent vers le nom d'ordinateur correspondant. On
trouve au début de cette ligne uniquement le dernier chiffre de
l'adresse IP, sans . final. Si l'on y ajoute la
zone et que l'on fait abstraction de
.in-addr.arpa, on obtient bien l'adresse IP
complète en ordre inversé.
Les transferts de zones entre différentes versions de BIND ne doivent, normalement, pas poser de problème.