Installation et configuration d'un serveur DNS sous Linux


précédentsommairesuivant

II. INSTALLATION ET CONFIGURATION DE BASE

II-1. Paquet d'installation

Le paquetage qui régit l'installation du serveur DNS sous Linux s'appelle bind. Il existe déjà en plusieurs versions. Il faut aussi dire qu'il existe d'autres paquets qui implémentent le DNS, bind est le plus connu et le plus utilisé. La version courante est le 9.

II-2. Installation

Comme tout paquet linux, il existe trois méthodes d'installation, qui sont décrites ici avec le cas d'Apache. Par exemple, sous Debian, on lance la commande: apt-get install bind9
Après installation, les répertoires /etc/bind/ et /var/bind/ (ou /var/cache/bind/) sont créés. (Ils peuvent être différents sous d'autres distributions). Ils contiennent les fichiers qui assurent le fonctionnement du serveur DNS.

II-3. Configuration de base

II-3-1. Problématique

Problème
Créer dans un intranet un domaine sigui.ci. La machine qui doit héberger ce domaine à pour adresse IP 192.168.1.10. Sur ce domaine, sera mis en place deux sous-domaines l'un pour l'hébergement d'un site web :www.sigui.ci, et l'autre pour héberger un serveur de messagerie : mail.sigui.ci .

Résolution
Comme décrit dans l'architecture de fonctionnement interne, résoudre ce problème, c'est d'abord configuré le fichier principal puis paramétrer les différents fichiers de zone.

II-3-2. Configuration du fichier principal

Le fichier principal de configuration de notre serveur est named.conf. Il se situe dans le répertoire /etc/bind/. Cela peut changer selon les distributions. Debian, par exemple, fait la répartition de la configuration entre plusieurs fichiers.

* Paramètres de configuration de base:
Les principaux paramètres de configuration sont :

PARAMETRE EXPLICATION
options ouvre les balises pour les options générales de configuration
directory pour définir le dossier dans lequel sera sauvegardé les fichiers de zone
query-source le port d'écoute du serveur
forward option de transfert de la requête vers un autre serveur
forwarders serveur DNS de réception des requêtes transférées
zone ouvre les balises pour la configuration d'une zone
type type de la zone
file fichier de configuration de la zone

Pour obtenir la liste globale de tous les paramètres d'options du BIND, cliquez ici.

* Exemple de configuration (résolution du problème posé):
A l'installation, le fichier named.conf existe déjà avec un contenu. Les options générales y sont déjà définies. On a par exemple :

 
Sélectionnez

options { <br/>
	directory "/var/bind"; <br/> 
	query-source port 53; <br/>
	forward only; <br/>
	forwarders { x.x.x.x;}; <br/>
}; 
					

Au contenu existant du fichier principal, on ajoute les lignes suivantes :

 
Sélectionnez

#Déclaration du fichier de résolution directe<br/>
zone "sigui.ci" in {<br/>
	type master ;<br/>
	file "/var/bind/sigui.ci.direct.db" ;<br/>
}<br/>
 
Sélectionnez

#Déclaration du fichier de résolution inverse<br/>
zone "1.168.192.in-addr.arpa" in {<br/>
	type master ;<br/>
	file "/var/bind/sigui.ci.reverse.db";<br/>
}<br/>

Remarque
La nomenclature des fichiers de résolution dépendent exclusivement de celui qui configure. Il doit pouvoir les reconnaitre facilement.

II-3-3. Configuration des fichiers de zone

Le répertoire /var/bind/ a certes, été crée pendant l'installation de bind, mais il ne contient encore aucun fichier. Il faudra alors y créer les fichiers de zone sigui.ci.direct.db et sigui.ci.reverse.db, puis définir les paramètres de configuration de la zone (domaine) sigui.ci.

* Paramètres de configuration des fichiers de zone
Les principaux paramètres de configuration des fichiers de zone sont :

PARAMETRE EXPLICATION
SOA Start Of Authority : démarre la configuration d'une zone. C'est la délégation d'autorité.
TTL Time To Live : durée de vie du SOA
Serial Numéro de version du fichier, sert à la synchronisation. Généralement, on écrit la date de création de la zone pour composer ce numéro.
Refresh Intervalle de temps pour le rafraichissement, sert aussi à la synchronisation entre des serveurs primaires et secondaires, par exemple.
Retry Fréquence de ressaie en cas d'échec des rafraichissements. Utilisé par les serveurs secondaires.
Expire Principalement utilisé par un serveur secondaire, c'est le temps maximal pendant les informations reçues d'un serveur primaire reste valide.
Negative Cache TTL Durée de vie, par défaut dans le cache d'un serveur qui n'a pas d'autorité sur cette zone.
IN Désigne l'allocation. Commande utilisé pour attribuer les valeurs aux options.
NS Pour définir le nom du serveur de nom de la zone.
A Pour attribuer un nom à une machine à partir de son adresse IP.
MX Pour définir un serveur de messagerie, la valeur de ce paramètre est accompagnée de la priorité (préférence) de ce serveur.
CNAME C'est une option pour donner un alias à une machine déjà définit avec A.
HINFO Description d'un hôte, d'une machine.
TXT Chaine de caractères, utilisé pour des commentaires
PTR Utilisé dans le fichier de résolution inverse, permet d'associer l'adresse IP à un nom.

* Exemple de configuration des fichiers (résolution du problème posé)

Après leur création, ces fichiers doivent être édités de la façon suivante :
Le premier fichier (résolution directe) sigui.ci.direct.db :

 
Sélectionnez

$TTL 604800<br/>
;on délègue l'administration de cette zone à root@sigui.ci<br/>
;@ est remplacé par '.' Dans l'adresse du root<br/>
@ IN SOA sigui.ci. root.sigui.ci. (<br/>
20080605 ; Serial<br/>
604800 ; Refresh<br/>
86400 ; Retry<br/>
2419200 ; Expire<br/>
604800 ) ; Negative Cache TTL<br/>
; Serveur de noms<br/>
@ IN NS sigui.ci.<br/><br/>
; Les serveurs<br/>
www IN A 192.168.1.10<br/>
mail IN A 192.168.1.10<br/>
mail IN MX 10 mail.sigui.ci.<br/>

Le deuxième fichier (résolution inverse) sigui.ci.reverse.db

 
Sélectionnez

$TTL 604800<br/>
1.168.192.in-addr.arpa IN SOA sigui.ci. root.sigui.ci. (<br/>
20080605 ; Serial<br/>
604800 ; Refresh<br/>
86400 ; Retry<br/>
2419200 ; Expire<br/>
604800 ) ; Negative Cache TTL<br/>
; Serveur de noms<br/>
@ IN NS sigui.ci.<br/>
; Les machines et les serveurs<br/>
10 IN PTR mail.sigui.ci.<br/>
10 IN PTR www.sigui.ci.<br/>

N.B: Dans les fichiers de configuration des zones, le caractère point virgule ( ;) précède les commentaires.

II-4. Opérations post-configurations

Après cette configuration, deux opérations déterminantes sont à poser :

  • redémarrer le serveur DNS
  • inscrire le serveur comme DNS préféré des machines clientes. Le serveur lui-même doit aussi être configuré comme son propre client.

II-4-1. Redémarrage du serveur

La commande de démarrage du serveur varie d'une distribution à une autre.
Sous RedHat et Fedora : /etc/rc.d/init.d/bind9 start
Sous Debian : /etc/init.d/bind9 start

II-4-2. Inscription du serveur

Le serveur DNS doit être reconnu par les autres machines comme tel.

Pour les machines du réseau sous Windows :
1-> Aller dans Connexions Réseaux
2-> Choisir Réseau Local
3-> Entrer dans les propriétés du réseau local
4-> Choisir Protocole internet TCP/IP
5-> Ecrire l'adresse IP de la machine qui héberge le serveur DNS dans les champs requis
6-> Valider toutes ses modifications

Pour les machines du réseau sous Linux, il s'agit d'éditer le fichier /etc/resolv.conf selon l'exemple suivant :

 
Sélectionnez

search sigui.ci<br/>
nameserver 192.168.37.240<br/>

Il est aussi possible de le faire via une interface graphique sous Linux. Mais la procédure à suivre diffère d'une distribution à une autre.

II-4-3. Tests de configuration

Il faut maintenant tester le fonctionnement du serveur. Il existe deux principaux utilitaires qui le permettent : nslookup et dig.

  • nslookup permet de retrouver l'adresse IP d'une machine à part de son nom DNS, et l'inverse. Il faut préciser que cela est propre à un réseau bien donné. Le premier serveur DNS interrogé est celui-ci spécifié dans l'inscription. Sous UNIX, nslookup est de plus en plus obsolète, mais il reste encore d'actualité sous Windows. Un exemple de résultat obtenu avec nslookup est :
    $ nslookup
    > www.sigui.ci
    Server: 192.168.1.10
    Address: 192.168.1.10#53
  • dig : analogue à nslookup, il permet de spécifier le type de serveurs ou de machines qu'on veut contacter. Par exemple : dig MX mail.sigui.ci

précédentsommairesuivant

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Guillaume Sigui. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.