DNS / BIND: créer un fichier de zone de base

Un fichier de zone contient les enregistrements de ressources DNS pour tous les noms de domaine associés à la zone. Les données de zone stockent toutes les données fournies par un serveur DNS. Cette recette décrit le format de fichier de zone de base sans enregistrements de ressources qui convient à 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 des fichiers de zone ne sont pas requis, mais une norme raisonnable est db. domain.name , le nom du domaine qui précède db.
Le format de base du fichier de zone est un champ de durée de vie (champ TTL), suivi du début de l'enregistrement d'autorisation (enregistrement SOA). Le TTL indique aux serveurs DNS non autorisés la durée de conservation des enregistrements qui ont été extraits du fichier de zone. Plus cette période est longue, plus il faut de temps pour que les modifications se propagent aux fichiers de zone. Plus le TTL est court, plus il sera difficile pour vos serveurs DNS de fonctionner car les serveurs sans autorité doivent poser plus souvent la même question. Des valeurs de quelques heures à un jour sont appropriées.
Une valeur TTL entière est interprétée comme des secondes, pour ceux d'entre nous qui ne sont pas des calculatrices, ajouter m à la fin signifie minutes, heures, jours et semaines. Une balise serait représentée par l'une des lignes suivantes:
$TTL 86400
$TTL 1440m
$TTL 24h
$TTL 1d
La section SOA est une section de code intimidante, mais pour les non-initiés, chaque champ de la SOA a un objectif significatif. Enregistré petit à petit, c'est facile. La SOA commence par le nom de domaine principal de la zone (coment-tuto.com est utilisé dans cette recette), la classe de la zone (IN), la SOA et les sept champs suivants dans l'ordre indiqué:
MNAME Le serveur maître DNS pour la zone (par exemple ns1.coment-tuto.com).
RNAME Une adresse e-mail pour une personne responsable du domaine (où @ est remplacé par a.) B. nospam.coment-tuto.com.
Numéro de séquence Cette valeur est probablement la plus grande source de grattage de tête lié au DNS. BIND traite les fichiers de zone dans un format différent pour rendre le travail rapide et efficace. Lorsque BIND charge un fichier de zone au démarrage, il vérifie le numéro de série et ne traite le fichier de zone que si le numéro de série est supérieur à la version précédemment traitée. Donc, si vous modifiez le fichier de zone mais pas le numéro de série, BIND ignore les modifications.
Un format commun pour le numéro de série comprend la date et un numéro de série unique (YYYYMMDDNN), par ex. B. 2004010402 pour la deuxième révision (02) du fichier le 4 janvier 2004. De cette façon, 100 modifications peuvent être apportées au fichier en une journée. Si d'autres changements sont nécessaires, je recommande de rentrer à la maison pour bien dormir.
Mise à jour Les serveurs secondaires ou esclaves peuvent être configurés pour interroger le serveur maître pendant cette période pour vérifier si le numéro de série a changé et que le fichier de zone doit donc être mis à jour.
Réessayer 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 demande fréquemment. Habituellement une heure ou moins.
Expiration En cas de défaillance du serveur DNS maître, un serveur esclave continue d'utiliser ses données existantes pendant cette période. Une fois le délai expiré, les données sont considérées comme obsolètes et ne sont plus utilisées. À ce stade, le domaine ne sera plus résolu. Cette valeur doit être suffisamment longue pour résoudre les défaillances du serveur maître dans l'ordre des semaines.
Mise en cache négative TTL Les réponses négatives (par exemple, si un enregistrement de données demandé n'existe pas) peuvent également être mises en mémoire tampon sur des serveurs sans autorité. Ce champ se comporte comme l'ensemble du TTL, mais spécifiquement pour les réponses négatives. De petites valeurs sont appropriées (15 m à 2 h).
Les champs peuvent être mis entre parenthèses s'ils s'étendent sur plusieurs lignes. En résumé, il s'agit du fichier de zone (moins toutes les entrées de ressources) pour le domaine coment-tuto.com:
$TTL 1d
coment-tuto.com. IN SOA ns1.coment-tuto.com (
nospam.coment-tuto.com
2004010402
1h
15m
4w
1h )
Le plus gros problème avec les fichiers de zone DNS est l'utilisation correcte de la syntaxe de nom de domaine complet. Cela signifie qu'un nom de domaine complet se termine par un point (coment-tuto.com.) - Sans ce point, BIND suppose que vous utilisez un formulaire court et ajoute le nom de domaine par défaut de la zone à la fin du nom ajouté (donc coment-tuto.com signifierait vraiment coment-tuto.com.coment-tuto.com.).