You are on page 1of 9

TP Installation/Configuration du service

DNS sur serveur GNU/Linux


Nom : Prénom : Date : Numéro :

Objectifs :
– Installer un serveur DNS sur un PC serveur GNU/Linux (Mandriva).
– Visiter les principaux fichiers de configuration utiles à DNS.
– Utiliser le service DNS depuis un poste client GNU/Linux, ou Windows.
– Évoquer les aspects de sécurité liés à l'usage de DNS.

☞ Une grande partie de la formation d'un administrateur système Unix vient de l'auto-formation grâce au
manuel !

1 Configuration réseau des PC de la salle TP


Pour réaliser les TP d'installation des serveurs, il est souhaitable que chacun des PC utilisés ait une
adresse IP fixe qui n'entre pas en conflit avec les adresse IP du réseau local d'accueil.
Plusieurs solutions peuvent être envisagées, parmi lesquelles l'utilisation d'un réseau TP possédant une
numérotation différente du réseau local : on peut par exemple choisir 192.168.x.0 comme adresse
réseau, où x sera choisi en séance TP, pour ne pas interférer avec le réseau local existant.
Pour la suite du TP, il faut le réseau sur les PC. Plusieurs techniques sont possibles, par exemple :
– utiliser l'outil de configuration Mandriva : drakconf,
– configurer directement le réseau en éditant 2 fichiers :
– le fichier /etc/sysconfig/network­scripts/ifcfg­eth0 :
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.x.y
NETMASK=255.255.255.0
NETWORK=192.168.x.0
BROADCAST=192.168.x.255
ONBOOT=yes
METRIC=10 ...
– le fichier /etc/sysconfig/network :
HOSTNAME=tpx.tpal
NISDOMAIN=tpAL
NETWORKING=yes ...
Une fois le réseau configuré, on pourra peupler le fichier /etc/hosts selon le modèle :
     #adresse_IP name alias
192.168.x.11 tp11.tpal  tp11
     192.168.x.12 tp12.tpal  tp12
...
192.168.x.21 tp21.tpal  tp21
...
Rq : cette étape pourrait être ignorée, mais dans ce cas il faudrait utiliser systématiquement les adresses
IP des PC au lieu des nom d'hôtes.

Administration Linux TP DNS v1.3 page 1/9


Au besoin, ajouter des règles de routage vers d'autres réseaux ; par exemple pour rajouter l'accès au
réseau 192.168.y.0 par l'interface eth0 , on peut taper la commande :
route add ­net 192.168.y.0 netmask 255.255.255.0 eth0
Cette commande peut être ajoutée à la fin du fichier /etc/rc.local pour l'activer à chaque
démarrage du PC.

☞ Pour compléter la configuration, on pourra visiter et modifier si besoin les fichiers


/etc/nsswitch et /etc/host.conf
☞ Ne pas oublier de relancer le service network. Valider la configuration réseau avec les commandes
ifconfig, ping, ssh ...

2 Installation du serveur DNS et des utilitaires (Mandriva)


a - Installation
☞ Utiliser urpmq pour trouver les paquets rpm liés au service  urpmq ­­fuzzy bind
DNS (i.e. bind)
☞ Installer le paquet bind et le paquet des utilitaires bind­ urpmi bind
utils avec la commande urpmi urpmi bind­utils

☞ Visualiser les fichiers des paquets installés  rpmq ­l bind
rpmq ­l bind­utils

3 Préliminaires : interrogation d'un serveur DNS


Plusieurs commandes (clients resolver) permettent l'interrogation d'un serveur de nom : host et dig 
(remplacement de nslookup). La suite du TP, propose une familiarisation avec ces commandes.
On suppose qu'un serveur DNS existant, d'adresse IP a.b.c.d est accessible sur le réseau local.
☞ Consulter le manuel Unix sur les commandes host et dig.

a - Commande host
Observer et commenter la sortie des commandes suivantes (fournir a.b.c.d si besoin) :

host www.free.fr [a.b.c.d]

host ­v www.free.fr [a.b.c.d]

host ­t ns www.free.fr [a.b.c.d]

host ­t mx www.free.fr [a.b.c.d]

host ­t soa www.free.fr [a.b.c.d]

host ­a www.free.fr [a.b.c.d]

Administration Linux TP DNS v1.3 page 2/9


Analyser la structure de la réponse à la commande « host ­v www.free.fr» :

Répéter la consultation pour les noms suivants « free.fr », « fr » et « . ».

Administration Linux TP DNS v1.3 page 3/9


b - Commande dig  
Observer et commenter la sortie des commandes suivantes :

dig @a.b.c.d www.free.fr

dig @a.b.c.d www.free.fr ns

dig @a.b.c.d www.free.fr mx

dig @a.b.c.d www.free.fr soa

dig @a.b.c.d www.free.fr any

Répéter la consultation pour les noms suivants « free.fr », « fr » et « . ».

☞ Observer les différences  entre la sortie des commandes host www.free.fr et dig 
www.free.fr

☞ comment éviter d'avoir à taper  mentionner   son   adresse   IP   dans   le   fichier 


/etc/resolv.conf
systématiquement l'adresse IP du 
serveur DNS ?

Administration Linux TP DNS v1.3 page 4/9


4 Configuration d'un serveur DNS en cache local
On va d'abord utiliser le serveur DNS en simple cache du (des) serveurs DNS accessible(s) sur le réseau.
L'intérêt est de fournir un cache local qui évite les appels aux serveurs DNS pour la résolution « adresses
IP <=> noms de domaine ».

a - Configuration : rndc.conf et named.conf


☞ Visualiser les manuels sur rndc.conf , rndc­confgen  man rndc.conf;
man rndc­confgen
En déduire un moyen de générer le fichier rndc.conf
rndc­confgen > /etc/rndc.conf
☞ Renommer le fichier /etc/rndc.conf en  mv /etc/rndc.conf
/etc/rndc.conf.orig    /etc/rndc.conf.orig 

☞ Créer le fichier /etc/rndc.conf en redirrigeant  la  rndc­confgen >  /etc/rndc.conf
sortie de la commande   rndc­confgen vi /etc/rndc.conf
Éditer le fichier  /etc/rndc.conf 

☞ Utiliser la sortie de la commande rndc­confgen pour générer le début du fichier named.conf


☞ Compléter le fichier named.conf pour ajouter des sections : 
­ options (pid­file "/var/run/named/named.pid" et directory 
"/var/named")
­ zone : hint pour la zone « . » (racine) et  master pour  « 0.0.127.in­addr.arpa »
Contenu du fichier /etc/named.conf :
key "rndc­key" {
        algorithm hmac­md5;
        secret "Azc0r3PKZIq2Bly89hSOqw==";
};
controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc­key"; };
};
options {
   pid­file "/var/run/named/named.pid";
   directory "/var/named";
};

zone "." {
        type hint;
        file "named.cache";
};
zone "0.0.127.in­addr.arpa" {
        type master;
        file "named.0.0.127";
};

Administration Linux TP DNS v1.3 page 5/9


☞ Renommer le fichier des zones racines présent dans  mv /var/named/named.ca
/var/named en utilisant les informations du fichier    /etc/named/named.root 
named.conf 

b - lancement du serveur
☞ Vérifier l'identité sous laquelle le processus named va être 
lancer (piste : /etc/init.d/named ...)
☞ Effectuer les changement d'attributs, si nécessaire, pour que 
le processus named puisse lire/écrire l'arborescence 
désignée dans le fichier /var/named
☞ Démarrer le serveur de noms et vérifier les messages syslog  /etc/init.d/named start
tail ­30 /var/log/messages
☞ Utiliser la commande dig pour obtenir du serveur  dig @localhost .
localhost la liste des serveurs de nom du domaine « . »
☞ Utiliser la commande dig pour obtenir du serveur  dig @localhost fr.
localhost la liste des serveurs de nom du domaine « fr. »
☞ Rendre permanent l'usage du serveur localhost comme  fihier /etc/resolv.conf :
serveur DNS. nameserver 127.0.0.1

☞ Utiliser la commande  rndc pour forcer le serveur à vider  rndc dumpdb 
son cache mémoire dans un fichier /var/named/named_dump.db 
Quel est le nom absolu du fichier généré ? Visuliser le 
contenu du fichier more /var/named/named_dump.db

5 Configuration d'un serveur DNS de domaine local privé


Avant de créer un domaine « privé » tpal (nom de domaine factice, afin d'éviter une collision dans
l'espace de nom Internet) et d'y déclarer quelques machines, il faut vérifier que ce nom n'est pas utilisé.

a - Serveur primaire
☞ Utiliser la commande dig pour obtenir du serveur  dig @localhost tpal
localhost tous les renseignements sur le domaine 
« tpal », Conclusion ?

☞ Compléter le fichier named.conf pour ajouter des sections zone master : 
­ sur la zone « tpal », avec named.tpal comme nom de fichier zone ;
­ sur la zone inverse « 0.x.168.192.in­addr.arpa », avec « named.0.x.168.192 » 
comme nom de  fichier zone.

Administration Linux TP DNS v1.3 page 6/9


zone "tpal" {
        type master;
        file "named.tpal";
};
zone "0.x.168.192.in­addr.arpa" {
        type master;
        file "named.0.x.168.192";
};

☞ Éditer le fichier named.tpal pour ajouter les machines de la salle TP.

@    IN     SOA   tpal.fr. root.tpal.fr. (
            2006010101 ; numéro série (annee mois jour xy)
            21600      ; rafraichissement après 6h
            3600       ; nouvel essai après 1h
            604800     ; expiration après 7 jours
            86400 )    ; TimeToLive (TTL) de 1 jour
; serveurs (primaire et secondaires ...)
        IN NS      tp11.tpal.
         IN NS      tp12.tpal.
; échangeur de courier SMTP 
IN MX 0 mail.tpal.fr.
; machines du domaine
localhost   IN  A 127.0.0.1
tp11        IN  A 192.168.x.11
tp12        IN  A 192.168.x.12
mail IN  A 192.168.x.11
tp13 IN A 192.168.x.13
...
tp37 IN A 192.168.x.37

☞ Éditer le fichier named.0.x.168.192 pour peupler la zone inverse correspondante :

Administration Linux TP DNS v1.3 page 7/9


@    IN     SOA   tpal.fr. root.tpal.fr. (
            2006010101 ; numéro série (annee mois jour xy)
            21600      ; rafraichissement après 6h
            3600       ; nouvel essai après 1h
            604800     ; expiration après 7 jours
            86400 )    ; TimeToLive (TTL) de 1 jour
; serveurs (primaire et secondaires ...)
        IN NS      tp11.tpal.
         IN NS      tp12.tpal.

; machines du domaine
11 IN PTR tp11.tpal.
12 IN PTR tp12.tpal.
...
37 IN PTR tp37.tpal.

☞ Redémarrer le serveur DNS.

☞ Configurer votre PC pour qu'il utilise votre serveur DNS mentionner son adresse IP dans 
le fichier /etc/resolv.conf

☞ Tester la zone tpal  dig tp11.tpal
host tp11
dig tpal

b - Serveur secondaire
Choisir un PC serveur primaire de la zone tpal. Installer votre PC en serveur secondaire :
☞ Modifier le fichier  named.conf du serveur secondaire pour le déclarer esclave sur les zones 
« tpal », et « 0.x.168.192.in­addr.arpa », avec comme fichiers de zone 
slave/named.tpal et slave/named.0.x.168.192
...
zone "tpal" {
        type slave;
        file "slave/named.tpal";
};
zone "0.x.168.192.in­addr.arpa" {
        type slave;
        file "slave/named.0.x.168.192";
};
...

☞ Redémarrer les serveurs DNS maître et esclave

Administration Linux TP DNS v1.3 page 8/9


☞ Observer les logs sur les serveurs DNS maître et esclave

☞ Vérifier le contenu des fichiers de zone sur le serveur esclave

☞ Utiliser le serveur esclave avec la commande dig

Administration Linux TP DNS v1.3 page 9/9