Installation et configuration d'un serveur DNS (Bind) (Debian 8.5)
Un serveur DNS (Domain Name Server) permet en autre de faire la relation entre un nom de domaine et son adresse IP. Il en existe plusieurs sur Linux.
Installation de Bind
Bind (Berkeley Internet Name Daemon, parfois Berkeley Internet Name Domain) étant disponible dans les dépôts Debian, nous allons donc l’installer via la commande suivante :
|
|
Configuration de Bind
Avant de modifier les fichier de configuration de Bind nous allons les sauvegarder via les commandes suivantes :
|
|
On édite le fichier « named.conf.local » via la commande suivante :
|
|
On modifie le fichier comme ci-dessous :
|
|
On édite le fichier « named.conf.options » via la commande suivante :
|
|
On modifie le fichier comme ci-dessous :
|
|
Création du fichier de zone pour le domaine « mon-domaine.fr »
Un fichier de zone contient l’ensemble des services lié au domaine « mon-domaine.fr ». Nous allons créer un fichier « mon-domaine.fr.zone » via la commande suivante :
|
|
On y inscrit les lignes suivantes (les points après le domaine sont obligatoires) :
|
|
Afin de trouver le nom de domaine correspondant à une adresse IP, nous devons créer un fichier de zone inverse via la commande suivante :
|
|
On y inscrit les lignes suivantes (les points après le domaine sont obligatoires) :
|
|
Maintenant que nous avons créer nos fichiers de zone et de zone inverse, je vais vous expliquer à quoi correspondent les différents champs :
- $TTL : (Time To Live) exprime la durée (en secondes) de validité, pendant laquelle sont conservées en cache les réponses. Une fois ce délai expiré, il est nécessaire de vérifier à nouveau les données. Les différents types :
- SOA : permet de définir les informations relatives à la zone. En l’occurrence le nom du serveur DNS primaire « srv1.mon-domaine.fr. » et l’adresse mail du contact technique (root.mon-domaine.fr. ; le @ est remplace par un point). Il est compose de plusieurs champs :
- Serial : est un entier non signé 32 bits. C’est le numéro de série à incrémenter à chaque modification du fichier. Il permet au serveur secondaire de recharger les informations qu’ils ont. L’usage général vient à le formater de cette manière YYYYMMDDXX, soit pour la première modification du 01/04/2007 -> 2016071901, pour la seconde 2016071902
- Refresh : définit la période de rafraîchissement des données (s’exprime en secondes)
- Retry : défini le délai que doivent attendre les ou les serveurs secondaires pour réessayer si une erreur survient au cours du dernier rafraîchissement (s’exprime en secondes)
- Expire : défini le délai au bout duquel la zone sera considéré comme non disponible si le ou les serveurs secondaires ne peuvent pas joindre le serveur primaire (s’exprime en secondes)
- Negative cache TTL : définit la durée de conservation des réponses pour des enregistrements inexistants (s’exprime en secondes)
- NS (Name Server) : renseigne le nom des serveurs de noms pour le domaine
- MX (Mail eXchanger): renseigne sur le serveur de messagerie. Plusieurs peuvent être définis. Ainsi, il est possible de leur donner une priorité en leur affectant un numéro. Plus bas est le numéro, plus haute est la priorité
- A (Address) : associe une nom d’hôte à une adresse ipv4 (32 bits)
- AAAA (Address IPv6): associe une nom d’hôte à une adresse ipv6 (128 bits)
- CNAME (Canonical NAME) : identifie le nom canonique d’un alias (un nom pointant sur un autre nom)
- PTR (Pointer Record) : c’est simplement la résolution inverse (le contraire du type A)
Maintenant que nous avons configuré et créé les différents fichiers de zone, nous allons vérifier que nous n’avons pas oublié un caractère ou fait d’erreur de frappe afin de pouvoir démarrer Bind.
Pour vérifier la configuration de Bind proprement dite, nous allons taper la commande suivante :
|
|
Voici ce que devrait retourner la commande si tout est bon :
|
|
Pour vérifier les fichiers de zone, nous allons taper les commandes suivantes :
|
|
Voici ce que devrait retourner respectivement les commandes si tout est bon :
|
|
et
|
|
Si tout est bon, nous pouvons lancer le service Bind via les commandes suivantes :
|
|
Nous devons configurer notre nouveau serveur DNS sur notre machine. Pour cela, nous tapons la commande suivante :
|
|
On modifie le fichier comme ci-dessous :
|
|
On doit redémarrer le service réseau pour prendre en compte les modifications. Pour cela on tape la commande suivante :
|
|
Nous pouvons maintenant vérifier que notre serveur DNS répond bien aux requêtes. Vérifions le fonctionnement du MX :
|
|
Résultat :
|
|
Vérifions le fonctionnement des résolutions inverse :
|
|
Résultat :
|
|
Vérifions la résolution de nom via NSLOOKUP :
|
|
Résultat :
|
|