Ce tutoriel est la suite du celui sur l’installation et la configuration de BIND. Il explique comment installer et configurer un serveur esclave BIND 9.8.4 sous Debian 7.7.0.

Un serveur esclave est utilisé pour assister le serveur maître, en exploitant la ou les zones configurées sur le serveur maître. Les serveurs secondaires sont recommandés sur des gros réseaux. Ils assurent la disponibilité de la zone DNS, même si le serveur maître est hors ligne (nous somme donc en train de mettre en place un système de continuité de service).

Nous reprendrons du FQDN ns.exemple.com du tutoriel précédent.

Toutes les manipulations à venir seront à effectuer en tant que super-utilisateur de la machine.


Installation de BIND

Mettre à jour la distribution

Exécutez la commande suivante :

apt-get update -y && apt-get upgrade -y

Cette commande permet de mettre à jour la liste des paquets de Debian et de mettre à jour les paquets installés sur votre système Debian.

Installer BIND

Exécutez la commande suivante :

apt-get install bind9 dnsutils bind9-doc

Cette commande installe BIND (bind9), le client permettant de le tester (dnsutils) et des documentations sur BIND (bind9-doc)

Configurer les zones du serveur maître

N’oubliez pas de changer le numéro de série des fichiers de descriptions de vos zones quand vous les modifiez pour que votre serveur esclave prenne en compte les modifications.

Cette partie se fera sur le serveur maître.

Pour que le serveur esclave puisse accéder serveur maître, celui-ci doit d’abord y être autorisé. Pour chaque zone renseignée (ou seulement celles que vous souhaitez) dans le fichier named.conf.local, vous pouvez autoriser le transfert de données vers le serveur esclave.

Pour rappel, le fichier named.conf.local contient la configuration locale du serveur DNS : on y déclare les zones associées au domaine. Il est situé dans le répertoire /etc/bind/.

Éditez le fichier named.conf.local :

nano /etc/bind/named.conf.local

Ajoutez les lignes suivantes à chaque zone pour lesquelles vous autorisez le transfert de données :

allow-transfer { 
     IPServeurEsclave1;
     IPServeurEsclave2; 
};

Si vous possédez plusieurs serveurs esclaves, il vous suffit de renseigner les une en dessous des autres les adresses IP de chacun ;

Dans le cas de l’exemple, vous avez au moins une zone  :

zone "exemple.com" {
     type master;
     file "/etc/bind/exemple.com";
     allow-transfer { IPServeurEsclave; };
};

Enregistrez les modifications ;

Redémarrez le service bind9 :

service bind9 restart

Configurer les zones du serveur esclave

Le reste du tutoriel se fera sur le serveur esclave.

Le serveur esclave doit avoir dans son fichier named.conf.local les mêmes zones que le serveur maître mais, il devra aller rechercher sur le serveur maître leur description.

Éditez le fichier named.conf.local du serveur esclave :

nano /etc/bind/named.conf.local

Chaque zone doit être renseignée de la manière suivante :

zone "NomZone" IN {
     type slave;
     file "/var/cache/bind/FichierDescription";
     masters { IPServeurMaître; };
};

L’option type a la valeur slave, ce que indique que cette zone est esclave et l’option masters permet de spécifier le l’adresse IP du serveur maître.

Dans le cas de l’exemple, vous devez renseigner la zone principale que vous avez créé sur le serveur maître de la manière suivante :

zone "exemple.com" IN {
     type slave;
     file "/var/cache/bind/exemple.com";
     masters { IPServeurMaître; };
};

Enregistrez les modifications ;

Redémarrez le service bind9 :

service bind9 restart

Testez la résolution de nom :

 dig @127.0.0.1 ns.exemple.com

Le serveur esclave doit vous retourner l’adresse IP du serveur maître :

;; QUESTION SECTION:
;ns.exemple.com.                        IN      A

;; ANSWER SECTION:
ns.exemple.com.         604800  IN      A       192.168.1.254

;; AUTHORITY SECTION:
exemple.com.            604800  IN      NS      ns.exemple.com.


Ce tutoriel est terminé. Vous pouvez continuer la configuration de votre serveur BIND en configurant une zone reverse ou bien en créant une sous-zone.

Si vous avez des problèmes, où que vous trouvez que certains points sont mal expliqués (ou faux), n’hésitez pas à m’avertir.