Tuto DNS Sommaire 1) Introduction... 2 2) Installation de bind9 et bind9-doc... 2 3) Création des zones et des bases de données... 2 4) Test... 5 5) Créer un DNS secondaire... 5 6) Test... 7
1) Introduction L'objectif est de pouvoir créer un serveur DNS en interne capable de répondre aux exigences demandés par une entreprise. Pour cela, nous nous servirions d une machine virtuelle tournant sur Debian 7 sans interface graphique pour économiser la place requise ainsi que la mémoire. Nous aurons besoin d installer : - Le paquet bind9 - Le paquet bind9-doc - Des paquets dnsutils Nous aurons besoin de modifier les fichiers : - /etc/bind/named.conf.local - /var/cache/bind/nomdufichier que l on pourra aussi placer dans /etc/bind/nomdufichier - /etc/resolv.conf 2) Installation de bind9 et bind9-doc Pour faire cette installation, nous aurons besoin des droits d'administrateur, utilisez la commande "su" pour passer en mode root ou sudo qui devra être noter avant chacune des commandes. Nous installerons bind9 ainsi que bind9-doc qui est la documentation du service à l aide de la commande aptitude install bind9 bind9-doc. Si le paquet est introuvable, faite un aptitude update/upgrade. 3) Création des zones et des bases de données Pour continuer, nous allons modifier le fichier /etc/bind/named.conf.local. C est dans ce fichier que nous allons créer nos zones et indiquer ou se situe leur base de données. Pour modifier un fichier, on utilise un éditeur de texte tel que vim ou nano. La zone sera définie de cette manière: La première ligne contiendra le type, celui-ci peut-être master (maître) ou slave (esclave) La seconde contiendra l'endroit ou se trouve le fichier de la base de données
Nous allons ensuite créer les fichiers de base de données. Afin de nous faciliter la tache, vous pouvez copier le fichier db.127 présent dans le répertoire "/etc/bind/". Pour créer les zones directes, par convention, on commence leur nom par «db.» suivi du nom de la zone (ex :db.menuimetal.fr). Ce fichier sera modifié de la sorte. En partant du fichier db.127, nous modifierons la 5e ligne pour indiquer le nom de domaine, le nom de la zone ou sera délégué la responsabilité (SOA) ainsi que l'adresse de celui si. Ensuite, seront indiqués: le numéro de série(serial), le temps avant rafraichissement (Refresh), le temps avant de recontacter (Retry), le temps avant expiration (Expire) et le cache TTL. Tous ces temps sont exprimés en secondes. Enfin nous rajouterons les lignes NS (Name Server), A pour lier l'adresse à un nom et CNAME (Canonical Name).
Par la suite, nous allons créer la base de données pour la zone inverse. Par convention, on commence leur nom par «rev.» suivi de l adresse IP à l envers (ex.rev.12.168.192). Les modifications a y effectuer sont à peu près identique au premier fichier, sauf qu'on remplace les A par PTR (même signification cependant). Enfin, il faut modifier le fichier /etc/resolv.conf de la sorte. Sur l'image suivante sont indiqué l'image du serveur dns primaire, celui du secondaire ainsi que l'adresse du serveur DNS du lycée ainsi que le que le domaine du contexte et celui du lycée. Pour terminer, il faut redémarrer le service bind9 avec une commande tel que «service bind9 restart».
4) Test Pour effectuer les tests, nous pouvons nous servir soit de nslookup, soit de dig. S ils ne sont pas disponibles sur la machine, veuillez installer le paquet dnsutils. Ensuite taper nslookup et rentrer l adresse ip ou le nom canonique du domaine. Vous devriez avoir des messages tels que celui-ci. 5) Créer un DNS secondaire Pour cela, nous allons utiliser une seconde machine virtuelle. Sur celle-ci nous installerons bind9 ainsi que bind9-doc. Ensuite nous créerons des zones dans le fichier /etc/bind/named.conf.local. Ces zones ne doivent être identiques à celle sur le serveur primaire mais le type lui sera différent. On y ajoutera la ligne «masters» afin d indiquer ou se situent le serveur primaire.
Ensuite, nous allons modifier le fichier named.conf.local du serveur primaire afin de lui indiquer qu'un serveur secondaire existe il qu'il doit envoyer les données vers ceux-ci. La ligne "allow-transfer" sert à indiquer l'adresse du serveur secondaire. La ligne "allow-query" demande si le serveur dns de qui le serveur doit accepter les rêquetes ce qu'on a répondu par "any" qui signifie "tout le monde". Enfin la ligne "notify" permet la notification des serveurs secondaire en cas de modification du dns primaire. Par la suite, nous devons modifier la zone direct de notre serveur DNS principal en rajoutant en ligne NS ainsi qu une ligne A avec l adresse ip du serveur secondaire.
Après ceci, il reste à modifier le fichier /etc/resolv.conf du serveur secondaire. Enfin, redémarrer le service bind du premier serveur DNS puis celui du deuxième serveur DNS. Pour vérifier que tout a fonctionné, allez dans le répertoire ou doit être placé les données des zones que vous avez renseigné dans le /etc/bind/named.conf.local (pour nous /var/cache/bind/slave). Si cela a fonctionné, vous trouverez les fichiers avec les noms que vous avez renseignés. 6) Test Pour tester le fonctionnement du DNS secondaire, nous allons commencer par éteindre le premier DNS. Ensuite sur le serveur secondaire nous allons utiliser nslookup et chercher à résoudre les noms de domaine du DNS primaire. Si cela fonctionne vous aurez un écran comme celui-ci.