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  DNS (i.e. bind)  Installer le paquet bind et le paquet des utilitaires bind­ utils avec la commande urpmi  Visualiser les fichiers des paquets installés 
urpmq ­­fuzzy bind urpmi bind urpmi bind­utils 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  systématiquement l'adresse IP du  serveur DNS ?

mentionner   son   adresse   IP   dans   le   fichier  /etc/resolv.conf

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  Renommer le fichier /etc/rndc.conf en  /etc/rndc.conf.orig   Créer le fichier /etc/rndc.conf en redirrigeant  la  sortie de la commande   rndc­confgen Éditer le fichier  /etc/rndc.conf 
rndc­confgen > /etc/rndc.conf mv /etc/rndc.conf   /etc/rndc.conf.orig  rndc­confgen >  /etc/rndc.conf vi /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  /var/named en utilisant les informations du fichier named.conf 

mv /var/named/named.ca    /etc/named/named.root 

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  Utiliser la commande dig pour obtenir du serveur  localhost la liste des serveurs de nom du domaine « . »
dig @localhost . tail ­30 /var/log/messages

dig @localhost fr.  Utiliser la commande dig pour obtenir du serveur  localhost la liste des serveurs de nom du domaine « fr. » 

Rendre permanent l'usage du serveur localhost comme  serveur DNS.

fihier /etc/resolv.conf : nameserver 127.0.0.1 

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

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  localhost tous les renseignements sur le domaine  « tpal », Conclusion ?
dig @localhost tpal 

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 12 IN PTR ... 37 IN PTR

tp11.tpal. tp12.tpal. tp37.tpal. 

Redémarrer le serveur DNS.  Configurer votre PC pour qu'il utilise votre serveur DNS  Tester la zone tpal 
mentionner son adresse IP dans  le fichier /etc/resolv.conf 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