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