DNS - IUT de Nice

Transcription

DNS - IUT de Nice
Travaux Pratiques
DNS
Commandes utiles :
– tail -f /var/log/syslog pour tous les logs de la machine
– /etc/init.d/nom_du_démon
(re)start
pour le démarrer ou le redémarrer. A chaque
changement du fichier de configuration d'un démon, il faut le redémarrer.
– vérifier qu'un service fonctionne : netstat -lun ou netstat -ltn (l pour listen → serveur, u/t:
UDP+/TCP, n : numérique plutôt que nom, ex: 80 ou HTTP)
– Assigner une adresse IP à une machine : ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Créer une machine virtuelle debian et assurez-vous de sa connectivité au
réseau. Installez le serveur dns qui s'appelle named et dont le nom de
paquet s'appelle bindxx où xx est la version. Pour trouver son nom, faîtes :
apt-get update
(pour avoir une liste à jour des paquets du dépôt)
apt-cache search bind | grep ^bind
dont le nom commence par bind)
(cela permet de de trouver les paquets
Les fichiers named.conf* du répertoire /etc/bind décrivent les options de named.
A chaque domaine correspond 2 zones : une zone directe pour la traduction nom → adresse_ip
et une zone « reverse » pour une traduction adresse_ip → nom. Le nom de domaine que vous
possédez est rt.fr. Les adresses que vous possédez sont 10.4.110/24. La zone directe est donc rt.fr
et la zone inverse 110.4.10.in-addr.arpa.
Ces 2 zones apparaissent dans l'arbre DNS globale des zones :
.
com
arpa
fr
edu
rt
in-addr
1 ….10
255
4
110
Notez que les 2 zones sont distinctes et vont correspondre à 2 fichiers distincts.
Supposons que votre serveur s'appelle www.rt.fr et que vous lui donniez l'adresse IP 10.4.110.1.
Alors, une personne qui interroge votre serveur DNS avec un 'nslookup www.rt.fr ' doit obtenir
10.4.110.1. Cette réponse sera obtenue depuis la base directe.
Page 1/4
et si cette personne tape 'nslookup 10.4.110.1', alors nslookup va demander le nom correspondant à
1.110.4.10.in-addr.arpa. Cette réponse sera obtenue depuis la base inverse.
Tous les fichiers à modifier sont dans le répertoire /etc/bind.
Vous allez créer 2 nouvelles zones. Pour ce faire, modifier le fichier
named.conf.local et indiquez-y deux nouveaux fichiers de zones que vous
allez créer pour l'occasion.
I. Zone directes et inverses
Maintenant que vous avez défini ces 2 nouvelles zones, il faut les configurer (un fichier par zone).
Voici un exemple de fichier de zone directe :
$TTL
86400 ; 24 hours could have been written as 24h or 1d
; $TTL used for all RRs without explicit TTL value
$ORIGIN example.com.
@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
2002022401 ; serial
3H ; refresh
15 ; retry
1w ; expire
3h ; minimum
)
@
IN NS
ns1.example.com. ; in the domain
@
IN NS
ns2.smokeyjoe.com. ; external to domain
@
IN MX 10 mail.another.com. ; external mail provider
; server host definitions
ns1
IN A
192.168.0.1 ;name server definition
www
IN A
192.168.0.2 ;web server definition
@ est un raccourci pour le nom de la zone. Dans votre cas, il vaudra rt.fr ou 110.4.10.in-addr.arpa.
L'enregistrement SOA est obligatoire et contient le serveur DNS primaire. Pour ce server DNS, il
faut aussi un enregistrement NS. Il faut également une adresse IP pour ce serveur DNS primaire.
Il faut ces 3 entrées pour que le serveur DNS accepte de démarrer cette zone.
Créer la zone rt.fr en primaire en s'inspirant de l'exemple précédent. Les
noms seront du style rt410p* , c'est-à-dire rt410p1.rt.fr, rt410p2.rt.fr, etc. Les
adresses IP sont celles de la salle.
Vérifier que cela fonctionne avec nslookup. Dans nslookup, on peut modifier le
serveur (ex: server 127.0.0.1) et le type d'enregistrement demandé (ex: set
q= SOA ou set q= NS ou set q=A).
Ex : nslookup -type=NS rt.fr localhost va interroger votre serveur
à vous qui tourne sur localhost pour récupérer les serveurs DNS du domaine
rt.fr.
Il faut maintenant que votre machine utilise comme serveur DNS le serveur
bind que vous avez démarré. Nous allons le faire en ajoutant dans le
fichier /etc/network/interfaces la commande suivante pour l'interface eth1
(ou eth0 suivant le cas) :
Page 2 / 4
dns-nameservers
localhost
Redémarrez ensuite l'interface avec ifdown puis ifup (la commande va aller lire
le fichier /etc/network/interfaces que vous venez de modifier)
Testez le « partage de charge » en mettant plusieurs adresses IP à une même
machine (votre serveur web par exemple) et en interrogeant ensuite côté
client pour voir si cela fonctionne.
Créer la zone inverse en vous inspirant du fichier db.127 . Vérifier son
fonctionnement.
Votre serveur (localhost) ne gère que le domaine rt.fr. Pour les autres
domaines, il faut qu'il forwarde au DNS de l'université. Pour vérifiez que
votre machine n'est capable de faire que pour les zones rt.fr et inverse,
faites un
nslookp www.google.fr
Si cela fonctionne malgré tout, c'est que lors de l'ifup, les serveurs DNS de
l'IUT et de l'université se sont ajoutés dans le fichier /etc/resolv.conf. Editez
le fichier (normalement, on ne doit pas car il sera écraser lors du prochain
ifup/ifdown), retirez les (en ne laissant que localhost) et refaites le test.
Pour n'avoir qu'un seul serveur dns (localhost) et malgré tout répondre à
toutes les requêtes DNS, ajoutez une option forwarders vers les serveurs
DNS de l'université (134.59.1.1 et 134.59.1.7) dans le fichier
named.conf.options pour que votre serveur de noms puisse servir toutes les
zones de manière transparente.
Vérifiez ensuite (après avoir redémarrer bind bien sûr) que
nslookp www.google.fr
fonctionne bien
Modifier ensuite vos fichiers avec l'instruction suivante qui va remplacer le $
par toutes les valeurs, ici de 10 à 20 par pas de 1. Cela veut dire que l'on ne
va pas rentrer à la main rt410p10 IN A 10.4.110.10, rt410p11 IN A 10.4.110.11,
mais que tout cela se fait d'un coup...
$generate 10-20/1 rt410p$ IN
A 10.4.110.$
Faites le pour la zone directe et testez.
Adaptez la commande pour la zone inverse… et testez.
Page 3 / 4
II. Serveur esclave
Clonez votre machine debian en mode « linked clone ». Il faut arrêter la
machine principale. Changez l'adresse MAC de la machine dans l'interface
virtualbox avant de démarrer la machine (sinon, elle risque d'avoir la même
que la principale). Assignez une adresse IP au clone. Démarrez et pinger
pour être sûr que tout va bien.
Enlever les fichiers de zone du clone. Editer le fichier de configuration des
zones et créer la zone rt.fr, mais en mode slave, en mettant l'adresse IP de
la machine principale. Montrer que cela fonctionne en interrogeant l'esclave
sur une zone gérée par le maître.
Page 4 / 4

Documents pareils