Table des matières

TP Mise en oeuvre de bind sous Linux Debian

Version 1.2.8 - Mis à jour le le 2023-02-03

Philippe Sevre

Objectifs

Les concepts

Prérequis

Schéma

Installation

Paquetages à installer

On installera les paquetages suivants : bind9, bind9-doc, dnsutils (pour les clients)

Paramétrage du serveur maître

Les fichier de configuration sont situés dans /etc/bind

le fichier /etc/bind/named.conf

Il contient des includes vers les autres fichiers de configuration.

le fichier /etc/bind/named.conf.local

Il doit comprendre les déclarations de zone : ici la zone maitre directe domaine.lan et la zone inverse arpa 1.168.192-in-addr.arpa.

	// zone directe
        zone "domaine.lan" {
             type master;
             file "/etc/bind/db.domaine.lan";
        };

	// zone inverse 
	zone "1.168.192.in-addr.arpa" {
	     type master;
             notify no;
             file "/etc/bind/db.domaine.lan.rev";
	};

le fichier de zone directe db.domaine.lan

On pourra se servir du fichier db.local comme base de travail en le copiant. Il devra comporter au minimum un enregistrement SOA, un NS et un A correspondant au NS.

On créera également d'autres enregistrements A et des Alias (CNAME). :

le fichier de zone inverse db.domaine.lan.rev

On pourra se servir du fichier db.local comme base. Il devra comporter au minimum

On créera également d'autres enregistrements PTR.

Remarque générale à propos des test

Il est très intéressant d'ouvrir une console (avec Alt-Fx) qui servira à observer les logs de bind9 au moyen de la commande suivante :

tail -f /var/log/syslog

Il peut être intéressant en cas de problème de syntaxe sur les fichiers de zone, de tester ceux-ci avec la commande zonecheck

Il faudra également prendre garde aux point terminaux obligatoires dans les FQDN.

le fichier /etc/resolv.conf

doit contient les élements suivants :

search domaine.lan
nameserver 127.0.0.1

Tests locaux

host srv1.domaine.lan    : résultat ?

host poste1.domaine.lan  : résultat ?

host srv1     : resultat ?

host poste1   : résultat ? 

host 192.168.1.1   : resultat ?

host 192.168.1.100   : résultat ?

host -l domaine.lan : résultat ?

host -t soa domaine.lan : résultat ?

host google.com : resultat ?

Tests hors zone d'autorité

Il est nécessaire de spécifier un ou plusieurs serveurs (forwarder) pour la redirection (on pourra utiliser ceux du lycée).

Le paramètre à changer est le suivant dans le fichier /etc/bind/named.conf.options (à adapter aux conditions locales):

 forwarders {
             1.2.3.4;  ici forwarder 1
             5.6.7.8;  ici forwarder 2
        };

Et mettre à no dnssec-validation (pour une éventuelle certification)

Une fois effectué le changement, relancer le démon bind puis tester à nouveau la résolution.

Il pourra être intéressant d'examiner les requêtes DNS sortantes avec :

   tcpdump port 53
host google.com     : resultat ?

Tests depuis un client Windows

Après avoir vérifié la configuration du client Windows (serveur DNS, nom de domaine DNS), tester la résolution de noms dans les mêmes conditions.

Installation du serveur esclave

  	// zone directe
          zone "domaine.lan" {
               type slave;
               file "/etc/bind/db.domaine.lan";
  	     masters { 192.168.1.1; };
  
          };
  
  	// zone inverse 
  	zone "1.168.192.in-addr.arpa" {
  	     type slave;
               notify no;
               file "/etc/bind/db.domaine.lan.rev";
  	     masters { 192.168.1.1; };
  
  	};

Remarque

:!: Depuis la version 9.9 de bind, les fichiers de zone sont transférés vers les esclaves au format binaire de façon à améliorer les performances.

En conséquence, il n'est plus possible d'afficher ou d'éditer les fichiers de zone de l'esclave.

Pour revenir au comportement initial (fichiers de zone au format texte), on pourra ajouter la clause masterfile-format text dans le fichier named.conf.local

 
           zone "domaine.lan" {
               type slave;
               file "/etc/bind/db.domaine.lan";
  	       masters { 192.168.1.1; };
               masterfile-format text;
          };

Mise en évidence du transfert de zone

Depuis l'esclave :

Vérifier que le fichier resolv.conf contienne les élements suivants :

search domaine.lan
server 127.0.0.1   # on résoud localement
  /etc/bind/** rw,

Mise en évidence du fonctionnement du client

Autres pistes