Vous êtes sur la page 1sur 6

SUP MTI Administration des réseaux sous linux EL Margae Samira

Administration des réseaux sous linux


TP n° 4 : Installation et configuration d’un serveur DNS

L'atelier propose :
 d'installer un serveur DNS sous Linux,
 de réaliser une phase de test

1. Mise à jours de la liste des sites sur lequels on peut télécharger des paquets
Avant de télécharger les paquets nécessaires à la mise en place du Serveur DNS, il est
nécéssaire de mettre à jour la machine (mise à jour des paquets déjà présents) en utilisant
la commande :
sudo apt‐get update

2. Installation des paquets bind


Les paquets étant maintenant à jour, il est possible de télécharger et installer le paquet «
bind9 » (Berkeley Internet Name Deamon) qui contient le service DNS,
sudo apt‐get install bind9

3. Préparation des fichiers système


a. Fichier interfaces
Editer le fichier /etc/network/interfaces. Ce fichier décrit la configuration des interfaces
réseau disponibles sur votre OS.
gedit /etc/network/interfaces
Vous devez spécifier l’attribution de l’adresse IP en « static » pour votre interface. Cette
adresse est celle qui définira votre serveur.
#interface pour le DNS
auto enp0s8 // enp0s8 est le nom de notre interface
iface enp0s8 inet static
address 192.168.0.100
netmask 255.255.255.0

b. Fichier resolv.conf
Dans ce fichier vous devez y répertorier :
 Votre nom de domaine
 Le domaine sur lequel seront exécutées les recherches
 Et les serveurs DNS avec en premier prioritairement votre serveur DNS qui
correspond à l’adresse IP STATIC que vous avez fixé sur votre interface principale
plus haut dans la configuration di fichier « /etc/network/interfaces »

gedit /etc/resolv.conf
search exemple.tp
domain exemple.tp
nameserver 192.168.0.100

1
SUP MTI Administration des réseaux sous linux EL Margae Samira

c. Fichier hostname
Le nom de votre ordinateur servira dans tous les paramétrages du serveur DNS , vous
devez donc choisir un nom qui définira au mieux votre système. Le nom de votre
ordinateur est enregistré dans le fichier « /etc/hostname »
gedit /etc/hostname

serveur.exemple.tp

d. Fichier hosts
Le fichier ‘hosts’ permet une résolution DNS local sans passer par un serveur DNS :
gedit /etc/hosts

127.0.0.1 serveur.exemple.tp
192.168.0.100 serveur.exemple.tp

Après avoir effectuer la modification des fichiers précédents, redemarrez la machine.

4. Configuration du serveur DNS


Le fichier de Configuration principal est « /etc/bind/named.conf »..
gedit /etc/bind/named.conf

Ce fichier inclut les trois autres fichiers des options principales, les zones de recherche
directe et de recherche inversée que l’on veut déclarer.
include /etc/bind/named.conf.options ;
include /etc/bind/named.conf.local ;
include /etc/bind/named.conf.default‐zones ;

Pour tous les domaines à résoudre sur votre serveur primaire, il est nécessaire de rajouter
les directives indiquant les fichiers de configuration à utiliser pour chacun de vos
domaines. Aucune modification n’est à apporter à ce fichier, les configurations étant faites
dans les fichiers named.options, named.conf.local et named.conf.default‐zones.
a. Fichier de configuration /etc/bind/named.conf.options :

Ce fichier définit un serveur DNS stable en cas de problèmes avec votre propre serveur. Il
contient également toute une série d’options dont voici les détails :
gedit /etc/bind/named.conf.options

//Autoriser les IP locales à accéder au service DNS


acl internal { 127.0.0.0/24; 192.168.0.0/24; };
options {
directory “/var/cache/bind”;

//la configuration de Bind par défaut comporte une ”faille” de sécurité, en effet la //configuration autorise
des tierces personnes à utiliser le serveur DNS (sans demander //la permission ). Cela fait de Bind un serveur
DNS relais !! Pour corriger cette faille //nous allons ajouter une option dans le fichier, Ce qui a pour incidence
que //l'utilisation de Bind ne sera autorisée que sur le serveur même.

2
SUP MTI Administration des réseaux sous linux EL Margae Samira

recursion yes;
allow‐recursion { internal; };
allow‐query { internal; };

//Si le serveur doit interroger un DNS externe, renseigner la ou les IP ici :


// L'option “forwarders” permet de rediriger les requêtes qui ne sont pas résolues par //notre serveur vers
un serveur DNS distant (serveurs DNS de votre FAI par exemple).
//Cela permet d'utiliser le cache d'un serveur déjà existant et donc d'obtenir des temps //d'accès plus
rapides. Si la requête DNS n'est pas résolue par le serveur DNS ”distant” //alors la requête sera envoyée aux
serveurs DNS racine.
// nous avons utilisé les serveurs DNS publiques de Google, 8.8.8.8 et 8.8.4.4.
forwarders {
8.8.8.8;
8.8.4.4;
};

auth‐nxdomain no; # conform to RFC1035


listen‐on { any; } ;

};

b. Fichier de configuration /etc/bind/named.conf.default‐zones

Ce fichier contient la configuration de la boucle locale et de la boucle locale inverse. Vous


déclarerez, dans ce fichier, les zones (sous domaines) de votre domaine. Il n’ya rien à
modifier dans ce fichier. Pour voir le contenu de ce fichier :
gedit /etc/bind/named.conf.default‐zones

c. Fichier de configuration /etc/bind/named.conf.local:

Ce fichier permet de faire de la déclaration de zones du serveur DNS et du type de


serveur (principal ou esclave). Ici le nom de domaine est toujours exemple.tp et la
configuration de la zone pour exemple.tp se fera dans le fichier /etc/bind/db.exemple.tp
gedit /etc/bind/named.conf.local

zone “exemple.tp” { //notre domaine


type master;
file “/etc/bind/db.exemple.tp”; //nom de fichier de zone
allow‐query { any; };

};
zone “0.168.192.in‐addr.arpa” { //la partie réseau inversée de notre serveur
type master;
file “/etc/bind/ 0.168.192.rev”; //le nom de fichier de zone inverse
allow‐query { any; };
};

5. Fichiers de configuration de zones

3
SUP MTI Administration des réseaux sous linux EL Margae Samira

a. Zone /etc/bind/db.exemple.tp
Le fichier de zones réunit tous les enregistrements qui indiquent vers quels serveurs pointent
votre domaine et ses sous‐domaines. Vous devez créer votre fichier de zones afin de définir
quelles adresses et machines devra utiliser votre serveur DNS. Voici comment doit être
renseigné ce fichier.
gedit /etc/bind/db.exemple.tp
$TTL 10800
@ IN SOA exemple.tp. root.exemple.tp. (
20181105
3h;
1h;
1w;
1h);
@ IN NS serveur.exemple.tp.
serveur IN A 192.168.0.100
client IN A 192.168.0.10

b. Zone inverse /etc/bind/0.168.192.rev


Tout le travail effectué jusqu'à présent ne servait qu'à associer une adresse IP à un nom. Pour
le bon fonctionnement du réseau, il est nécessaire que l'opération inverse ‐ retrouver un nom
à partir d'une adresse IP.
gedit /etc/bind/0.168.192.rev
$TTL 10800
@ IN SOA serveur.exemple.tp. root.exemple.tp. (
20181105
3h;
1h;
1w;
1h);
@ IN NS serveur.exemple.tp.
100 IN PTR serveur.exemple.tp.

Explications :

exemple.tp C’est votre nom de domaine, attention : ne pas oublier le


point après le nom de domaine.
IN Signifie internet, c’est‐à‐dire que la zone après le IN est
destinée à internet
SOA Star of authority indiquant le serveur de nom faisant autorité
c’est‐à‐dire votre DNS principal
serveur.exemple.tp DNS principale de votre domaine
20181105 N° de série à incrémenter à chaque modification de ce fichier.
Par convention, on écrit: année‐mois‐jour‐
numéro_à_2_chiffres.
3h A l'expiration du délai exprimé en secondes, le serveur esclave
va entrer en communication avec le maitre, si il ne le trouve
4
SUP MTI Administration des réseaux sous linux EL Margae Samira

pas, il fera une nouvelle tentative au bout du délai, si au bout


du délai Expire il considérera que le serveur n'est plus
disponible.
1h Nombre de secondes avant d'effectuer une nouvelle demande
au serveur maître en cas de non réponse
1w Temps (en secondes) d'expiration du serveur principal en cas
de non réponse.
1h Durée de vie minimum du cache en secondes
192.168.0.100 L’adresse IP de votre serveur

6. Problèmes avec le serveur DHCP

Dans le cas où votre serveur hébergerait dans le même temps un serveur DHCP , le serveur
DHCP aura de grandes chances de réinitialiser votre fichier /etc/resolv.conf. Si vous
rencontrez ce problème, voici les modifications à effectuer :

‐ Installer un paquet nommé resolvconf, celui ci va surcharger la configuration de base


en récrivant automatiquement le fichier /etc/resolv.conf.
sudo apt‐get install resolvconf

‐ Ecrire votre configuration de base :

gedit /etc/resolvconf/resolv.conf.d/tail
search exemple.tp
domain exemple.tp
nameserver 192.168.0.100

‐ Lancer resolvconf :
sudo /etc/init.d/resolvconf start

‐ Vérifier que le fichier /etc/resolv.conf soit bien récrit avec vos paramètres:

gedit /etc/resolv.conf

7. Mise en fonction du service DNS


sudo /etc/init.d/bind9 restart

8. Vérification de la configuration

named‐checkconf /etc/bind/named.conf

named‐checkzone exemple.tp /etc/bind/db.exemple.tp

named‐checkzone 0.168.192.in‐addr.arpa /etc/bind/0.168.192.rev

5
SUP MTI Administration des réseaux sous linux EL Margae Samira

Tant que vous n’avez pas OK comme réponse après ces commandes, vous devez corriger les
erreurs qui se trouvent dans vos fichiers de configuration ou de zones.
9. Vérification du serveur DNS
Il existe plusieurs outils pour tester le bon fonctionnement de la résolution des noms :
Ping :
La commande « ping » est la plus simple (mais la plus limité). Elle permet de tester la résolution
du nom, mais pas la résolution inverse :
$ ping NomDuServeur
Host :
La commande « host », permet de tester la résolution du nom et la résolution inverse :
$ host NomDuServeur
ou :
$ host AdresseIPduServeur
nslookup
La commande « nslookup » du paquet « dnsutils », permet également de tester la résolution
du nom et la résolution inverse :
$ nslookup NomDuServeur
$ nslookup AdresseIPduServeur
dig
La commande « dig » du paquet « dnsutils », permet également de tester la résolution du nom
et la résolution inverse. Mais la commande « dig » permet surtout d’interroger directement
le serveur bind9 et obtenir de nombreuses autres informations :
$ dig NomDuServeur.NomDuDomaine
Remarque : Le nom du domaine est obligatoire pour obtenir une réponse (ANSWER SECTION)
ou :
$ dig ‐x AdresseIPduServeur
Remarque : Le paramètre « ‐x » est obligatoire pour obtenir une réponse (ANSWER SECTION).

Vous aimerez peut-être aussi