TP DNS Personnalise
TP DNS Personnalise
TP DNS Personnalise
Commençons par installer le paquet bind9 pour transformer notre serveur en serveur DNS,
grâce aux commandes suivantes :
• Les fichiers "db." correspondent aux fichiers de zones incluent par défaut dans Bind.
Ils vont nous servir de modèle pour la création de nos fichiers de zones.
Par sécurité, vous pouvez, si vous le souhaitez copier les 2 fichiers de Bind
(named.conf.options et named.conf.local) qui sont susceptibles d'être modifiés lors de la mise
en place du DNS. Pour cela utilisez les commandes suivantes :
# cd /etc/bind
# cp named.conf.options named.conf.options.sav
# cp named.conf.local named.conf.local.sav
D. Configuration de Bind
Comme je l'ai dis précédemment, le fichier de configuration global de Bind est le fichier
"named.conf.options", voici son contenu :
TP : DNS SOUS GNU/LINUX 1
On peut voir qu'il y a beaucoup de lignes commentées (celles qui débutent par "//"), en ce qui
concerne les options activent, voici quelques informations :
• directory : il s’agit du chemin vers le répertoire qui contient les fichiers de zone.
• listen-on-v6 : Active le fait de résoudre les requêtes sur des adresses IPv6.
• Les zones "inverses" : elles permettent de retrouver le nom à partir de l'adresse IP,
c'est à dire de faire l'inverse des zones normales. Ce qui permet une résolution dans les
deux sens.
• "SOA" signifie Start Of Authority, ceci indique le serveur qui a autorité sur la zone,
puis l’adresse mail du contact technique dont le caractère « @ » est remplacé par un
«.».
• Serial "1" : C’est la version du fichier de configuration. Le serial est surtout utile
quand plusieurs serveurs DNS agissent sur une même zone. Le serial est incrémenté
lorsque des modifications sont effectuées sur la zone, ce qui permet aux autres
serveurs DNS de voir que des modifications ont été effectuées.
• Retry "86400" : C’est le délai au bout duquel un serveur DNS secondaire devra
retenter une synchronisation si celle qu'il a fait au bout du temps "refresh" a échouée.
Note : Dans le fichier tout ce qui est après un point virgule n'est pas pris en compte par Bind.
Pour cause, ce sont des commentaires.
• NS (Name Server) : Sert à définir le ou les serveurs DNS qui répondent à cette zone.
• AAAA : Enregistrement d'un hôte ayant une adresse IPv6 (128 bits).
• MX : Sert à définir le ou les serveurs SMTP à utiliser pour l'envoie des mails selon
un ordre de priorité définit dans l'enregistrement.
<nom-de-l'hote> IN A
IN PTR <nom-de-l'hote>
Dans un premier temps, on va mettre en place la zone « normale » c'est-à-dire celle qui permet
de retrouver l’adresse IP à partir du nom. De ce fait, le nom de la zone sera le nom du domaine
c'est-à-dire « uin.info».
Pour cela, éditez le fichier « named.conf.local » qui permet d’indiquer les zones. Ajoutez-y
ceci :
Une fois que vous avez déclaré la zone, quittez le fichier. Puis, copiez le fichier « db.empty »
sous le nom « db.uin.info» (qui correspond au nom que nous avons indiqué dans la déclaration
de la zone) pour partir d’un fichier modèle :
# cd /etc/bind
# cp db.empty db.uin.info
Ensuite, éditez le fichier “db.uin.info” pour que l’on y ajoute les enregistrements nécessaires.
De plus, on ajoute un enregistrement pour le serveur DNS lui-même. Ce qui donnera les
enregistrements suivants :
srvuin IN A x.x.x.x
poste1 IN A y.y.y.y
poste2 IN A Z.Z.Z.Z
Cet enregistrement permettra de joindre les postes grâce au nom de domaine « www.uin.info».
Serveur Web
Lorsqu’on interroge le serveur DNS pour la résolution de noms, il voit que « www » correspond
à « srvuin » et que « srvuin » correspond à l’adresse IP « x.x.x.x ». De ce fait, il y a deux
requêtes effectuées dans la base.
I. Redémarrage de Bind9
Pour que Bind9 prenne en compte les changements que nous venons d’effectuer, on le
redémarrage grâce à la commande suivante :
Des commandes de test de configuration et de test des zones sont comprises dans Bind, les voici
:
Il faut déclarer que le serveur est lui-même un résolveur c’est-à-dire un serveur DNS capable
de résoudre les requêtes DNS:
# /etc/init.d/networking restart
L. La commande « nslookup »
# nslookup srvuin.uin.info
On vous indique d’abord quel est le serveur qui vous a répondu puis en dessous le nom de
l’enregistrement et l’adresse IP qui lui correspond. Suite à ce résultat on peut tirer la conclusion
que notre serveur DNS fonctionne.
Si on fait la même chose pour l’enregistrement « www.uin.info» on peut voir que notre alias
c'est-à-dire l’enregistrement CNAME fonctionne :
On peut voir également qu’on accède à notre serveur web en saisissant « www.uin.info»:
M. La zone inverse
Maintenant que notre première zone fonctionne, nous allons créer la zone inverse à celle-ci
c'est-à-dire celle qui permettre de retrouver le nom « srvuin.uin.info» à partir de l’adresse IP «
x.x.x.x ».
Cela se fait sur le même principe que pour la zone « normale ». Pour être plus précis, on édite
le fichier « named.conf.local » et on ajoute la déclaration de la zone. Ensuite, on copie fait une
copie « db.empty » pour partir d’un fichier modèle puis on ajoute les enregistrements dans le
fichier de zone.
• Modification de named.conf.local :
Vous pouvez remarquer que le nom de la zone est « 1.168.192.in-addr.arpa », tout d’abord on
indique, dans l’ordre inverse, les 3 octets de l’adresse IP de la zone représentant le réseau, donc
pour le réseau « 192.168.1.0 » ça donnera « 1.168.192 ». Ensuite on ajoute « in-addr.arpa »
qui est un nom de domaine créé et utilisé mondialement pour la résolution inverse.
L’enregistrement de type PTR, pour “Pointer Record” permet d’associer une adresse IP à un
nom, ce qui correspond à ce que nous souhaitons faire dans cette zone.
Comme pour la zone précédente, il faut redémarrer le service bind9. Ensuite, vous pouvez
refaire des tests de configuration et des zones grâce à named-checkconf et named-checkzone.
Vous pouvez également faire des tests grâce à nslookup en mettant une adresse IP plutôt qu’un
nom pour vérifier si la zone inverse fonctionne bien.
Si votre configuration DNS vous semble bonne sur votre serveur DNS et que votre client
Windows a bien comme DNS votre serveur, et lorsque vous faites un nslookup sur un nom ou
une adresse IP vous obtenez une erreur, videz le cache DNS de Windows grâce à la commande
suivante :
En cas de problème, vous pouvez également consulter les logs du système qui vous aideront à
les résoudre. Pour rappel on les trouve dans le fichier suivant :
# Tail –f /var/log/syslog