12.3. Fichiers de zone

Les Fichiers de zone contiennent des informations sur un espace de nom particulier et sont stockés dans le répertoire de travail named qui est par défaut /var/named/. Chaque fichier de zone est nommé selon les données d'options de file dans la déclaration zone, et ce, généralement d'une manière qui se réfère au domaine en question et identifie le fichier comme contenant des données de zone, telles que example.com.zone.

Chaque fichier de zone peut contenir des directives et enregistrements de ressources. Les directives donnent au serveur de noms l'instruction d'effectuer une certaine tâche ou d'appliquer des paramètres spéciaux à la zone. Les enregistrements de ressources définissent les paramètres de la zone, assignant des identités aux hôtes individuels. Les directives sont facultatives, mais les enregistrements de ressources sont requis pour fournir un service de noms à une zone.

Toutes les directives et enregistrements de ressources doivent se situer sur leur propre ligne.

Des commentaires peuvent être placés dans les fichiers de zone après les caractères points-virgules (;).

12.3.1. Directives de fichiers de zone

Les directives sont identifiées par le symbole dollar ($) suivit du nom de la directive. Elles apparaissent généralement en haut du fichier de zone.

Les directives les plus couramment utilisées sont les suivantes:

12.3.2. Enregistrements de ressources de fichiers de zone

Les enregistrements de ressources représentent le premier composant d'un fichier de zone.

Il existe de nombreux types différents d'enregistrements de ressources de fichiers de zone. Ceux énumérés ci-dessous sont néanmoins les plus fréquemment utilisés:

12.3.3. Exemples de fichiers de zone

Si on les observe individuellement, les directives et enregistrements de ressources peuvent être difficiles à comprendre. Cependant, tout devient beaucoup plus simple lorsqu'on peut les observer ensemble dans un seul fichier commun.

L'exemple suivant illustre un fichier de zone très élémentaire.

$ORIGIN example.com
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

      IN     MX     10     mail.example.com.
      IN     MX     20     mail2.example.com.

             IN     A       10.0.1.5

server1      IN     A       10.0.1.5
server2      IN     A       10.0.1.7
dns1         IN     A       10.0.1.2
dns2         IN     A       10.0.1.3

ftp          IN     CNAME   server1
mail         IN     CNAME   server1
mail2        IN     CNAME   server2
www          IN     CNAME   server2

Dans cet exemple sont utilisées des directives et des valeurs SOA standard. Les serveurs de noms faisant autorité seront dns1.example.com et dns2.example.com, qui ont des enregistrements A les liant respectivement à 10.0.1.2 et 10.0.1.3.

Les serveurs de courrier configurés par les enregistrements MX orientent vers les serveurs server1 et server2 au moyen des enregistrements CNAME Puisque les noms des serveurs server1 et server2 ne finissent pas par un point (.), le domaine $ORIGIN est attaché, rallongeant le nom en server1.example.com et server2.example.com. Grâce aux enregistrements de ressources A associés, leurs adresses IP peuvent être déterminées.

Les services FTP et Web services, disponibles aux noms standard ftp.example.com et www.example.com, sont orientés vers les serveurs appropriés en utilisant les enregistrements CNAME.

12.3.4. Fichiers de résolution de noms inversée

Un fichier de résolution de nom inversée sert à traduire une adresse IP dans un espace de nom particulier en un FQDN. Il ressemble beaucoup à un fichier de zone standard, si ce n'est que les enregistrements de ressources PTR servent à lier les adresses IP au nom d'un domaine pleinement qualifié.

Un enregistrement PTR ressemble à ce qui suit:

<dernier-chiffre-IP>      IN     PTR    <FQDN-du-système>

Le <dernier-chiffre-IP> fait référence au dernier chiffre dans une adresse IP qui doit orienter vers le FQDN d'un système particulier.

Dans l'exemple suivant, les adresses IP allant de 10.0.1.20 à 10.0.1.25 orientent vers les FQDN correspondants.

$ORIGIN 1.0.10.in-addr.arpa
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

20    IN     PTR    alice.example.com.
21    IN     PTR    betty.example.com.
22    IN     PTR    charlie.example.com.
23    IN     PTR    doug.example.com.
24    IN     PTR    ernest.example.com.
25    IN     PTR    fanny.example.com.

Ce fichier de zone serait mis en service avec une déclaration zone dans le fichier named.conf similaire à l'extrait qui suit:

zone "1.0.10.in-addr.arpa" IN {
  type master;
  file "example.com.rr.zone";
  allow-update { none; };
};

Il existe peu de différences entre cet exemple et une déclaration zone standard, si ce n'est dans la manière de nommer l'hôte. Notez qu'une zone de résolution de noms inversée nécessite que les trois premiers blocs de l'adresse IP soient inversés, puis suivis de l'entité .in-addr.arpa. Ceci permet d'associer correctement à cette zone le bloc unique de nombres IP utilisé dans le fichier de zone de résolution de nom inversée.