Un fichier de zone contient les enregistrements de ressources DNS pour tous les noms de domaine associés à la zone. Les fichiers de zone stockent toutes les données servies par un serveur DNS. Cette recette décrit le format de fichier de zone de base sans enregistrement de ressource adapté à tout type de fichier de zone.
Le fichier de zone doit être créé dans le répertoire de travail du serveur DNS. Les noms de fichiers avec fichier de zone ne sont pas obligatoires, mais une norme raisonnable est db.nom de domaine, le nom du domaine précédé de db.
Le format de base du fichier de zone est un champ de durée de vie (TTL) suivi des enregistrements de début de l'autorité (SOA). La durée de vie indique aux serveurs DNS ne faisant pas autorité combien de temps mettre en cache les enregistrements extraits du fichier de zone. Plus cette période est longue, plus il faudra de temps pour propager les modifications dans les fichiers de zone. Plus la durée de vie est courte, plus vos serveurs DNS travailleront fort, car les serveurs non autorisés devront lui poser la même question plus souvent. Les valeurs de quelques heures à une journée sont raisonnables.
Une valeur TTL entière est interprétée en secondes, bien que pour ceux d’entre nous qui ne sommes pas à la calculatrice, ajouter m à la fin signifie minutes, h heures, j jours et w semaines. Un jour serait représenté par l'une des lignes suivantes:
$ TTL 86400
1440 millions de dollars
$ TTL 24h
$ TTL 1d
La section SOA est un bloc de code intimidant pour les non-initiés, mais chaque champ de la SOA a un objectif significatif. Pris un morceau à la fois, c'est simple. La SOA commence par le nom de domaine principal de la zone (nous utiliserons tech-recipes.com dans cette recette.), La classe de la zone (IN), la SOA et les sept champs suivants dans l'ordre:
MNAME Le serveur DNS principal pour la zone (par exemple, ns1.tech-recipes.com.).
RNAME Adresse électronique d'une personne responsable du domaine (le @ remplacé par un.), Telle que nospam.tech-recipes.com.
Numéro de série Cette valeur est peut-être la plus grande source de casse-tête liée au DNS. Pour rendre les choses rapides et efficaces, BIND traite les fichiers de zone dans un autre format. Lorsque BIND charge un fichier de zone au démarrage, il vérifie le numéro de série et ne le traite que si le numéro de série est supérieur à sa version précédemment traitée. Ainsi, si vous modifiez le fichier de zone mais pas le numéro de série, BIND ignorera les modifications.
Un format commun pour le numéro de série contient la date et un numéro de série unique (AAAAMMJJNN) tel que 2004010402 pour la deuxième révision (02) du fichier le 4 janvier 2004. Cela permet d'apporter 100 modifications au fichier par jour. Si d'autres modifications sont nécessaires, je vous recommande de rentrer chez vous pour une bonne nuit de sommeil.
Rafraîchir Les serveurs secondaires ou esclaves peuvent être configurés pour interroger le serveur maître avec cette période afin de vérifier si le numéro de série a changé et, par conséquent, s'il doit mettre à jour le fichier de zone.
Réessayez Si le serveur DNS maître de la zone ne répond pas à la demande de mise à jour d'un serveur esclave, le serveur esclave le demandera souvent. Typiquement une heure ou moins.
Expirer En cas de défaillance du serveur DNS maître, un serveur esclave continuera à utiliser ses données existantes pendant cette période. Une fois le délai expiré écoulé, les données sont considérées comme obsolètes et ne seront plus utilisées. Le domaine ne sera plus résolu. Cette valeur doit être suffisamment longue pour permettre la correction des pannes de serveur maître, de l'ordre de plusieurs semaines.
TTL de mise en cache négatif Les réponses négatives (par exemple, lorsqu'un enregistrement demandé n'existe pas) peuvent également être mises en cache sur des serveurs ne faisant pas autorité. Ce champ agit comme le TTL global mais spécifiquement pour les réponses négatives. Les petites valeurs sont appropriées (15m à 2h).
Les champs peuvent être placés entre parenthèses s'ils s'étendent sur plus d'une ligne. En résumé, voici le fichier de zone (moins tous les enregistrements de ressources) du domaine tech-recipes.com:
$ TTL 1d
tech-recipes.com. EN SOA ns1.tech-recipes.com (
nospam.tech-recipes.com
2004010402
1h
15m
4w
1h)
Le plus gros piège avec les fichiers de zone DNS est l'utilisation appropriée de la syntaxe de nom de domaine pleinement qualifié. Cela signifie qu'un nom de domaine complet se terminera par un point (tech-recipes.com.) - Sans cette période, BIND supposera que vous utilisez un raccourci et ajoutera le nom de domaine par défaut de la zone à la fin du nom (so tech -recipes.com signifierait vraiment tech-recipes.com.tech-recipes.com.).