TP DNS 1 Résolutions de noms 1) Le fichier "/etc/nsswitch.conf" Au préalable, nous devons configurer la machine centrale, dénommée S "n de poste", soit s52 pour nous. On lui met l'adresse IP 10.254.52.1, pour être sur le même réseau que le serveur STP. Il faut aussi modifier le fichier "/etc/resolv.conf" pour définir STP en tant que serveur DNS. On y rajoute alors la ligne suivante : search tp521.gtr gtr Nous effectuons un ping vers la machine iut, grâce à la commande ping iut. On observe alors que l'adresse IP de cette machine est celle de STP, c'est-à-dire 10.254.0.254. Nous rajoutons la ligne "10.254.1.1 iut" au fichier "/etc/hosts". Le ping vers la machine iut nous donne maintenant l'adresse 10.254.1.1 car la machine lit en priorité le contenu du fichier "/etc/hosts" et prend donc en compte l'adresse qui y est indiquée. Lorsqu'on fait un ping vers iut.gtr, l'adresse IP retournée est 10.254.0.254. On obtient cette adresse IP, car la machine recherche alors directement la machine dans le domaine "gtr". Le fait de placer le mot clef dns avant files pour la ligne "hosts" du fichier "/etc/nsswitch.conf" a pour conséquence de forcer la machine a interrogé le serveur DNS, au lieu de regarder dans son fichier de configuration. En faisant un ping vers iut l'adresse utilisée est 10.254.0.254. 2) Le fichier "/etc/resolv.conf" Contenu du fichier "/etc/resolv.conf" : search tp521.gtr gtr nameserver 10.254.0.254 EMERY Olivier & WILLM Geoffrey Page 1
Lorsque l'on pingue s52, on obtient l'adresse IP 10.52.1.1. Lorsque l'on pingue s52.gtr, on obtient l'adresse IP 10.254.52.1. Enfin, lorsque l'on pingue s52.tp521.gtr, on obtient l'adresse IP 10.52.1.1. Le serveur DNS STP est dans le domaine "gtr". Mais dans le fichier "/etc/resolv.conf", à la première ligne, on recherche d'abord dans le domaine "tp521.gtr". Or, s52 est dans ce domaine, alors il n'a pas besoin d'interroger le serveur DNS : il récupère directement l'adresse IP. Lorsque l'on place "gtr" en premier sur la ligne search de "/etc/resolv.conf", la recherche s'effectue de prime abord sur le domaine "gtr", et non sur le domaine "tp521.gtr". On obtient alors l'adresse IP suivante pour un ping s52 : 10.254.52.1 3) Outils d'interrogation du DNS Résolution des noms de machine : host -t a s52 S52.gtr has address 10.254.52.1 dig -q www.google.fr Résolution des adresses IP : host -t ptr 10.254.0.254 254.0.254.10.in-addr.arpa domain name pointer stp.gtr dig -x 8.8.8.8 EMERY Olivier & WILLM Geoffrey Page 2
Résolution des noms de domaine : host -t ns tp521 tp521 name server stp.gtr dig -q google.fr Résolution des noms de relais de messagerie : dig -t mx google.fr Résolution des noms d'autorité de domaine : host -t soa gtr gtr SOA localhost. root.localhost. 1997022705 28800 14400 3600000 86400 dig soa google.fr EMERY Olivier & WILLM Geoffrey Page 3
dig www.google.fr +trace Les 4 séries de réponse nous indique : - le nom des 13 serveurs "roots" - les serveurs ayant autorité sur le domaine.fr - les serveurs ayant autorité sur le domaine google.fr - les serveurs ayant autorité sur le domaine www.google.fr EMERY Olivier & WILLM Geoffrey Page 4
Si on veut contacter l'administrateur du domaine DNS orange-labs.fr, il faut utiliser l'adresse suivante obtenue avec la commande : dig -t mx orange-labs.fr Voici les serveurs de nom du domaine orange-labs.fr : Le TTL de ces serveurs est de 86066. Si on interroge les serveurs du nom de domaine rd.francetelecom.com, on obtient ceci : On remarque que le TTL est différent cette fois-ci, il est de 85822. Cela s'explique par le fait que le TTL est décrémenté par le serveur DNS présent sur notre machine. Pour obtenir le vrai TTL, il faut interroger directement le serveur qui a autorité sur le domaine "rd.francetelecom.com.", par exemple "roazhon.rd.francetelecom.com." On obtient alors un TTL de 86400. La machine qui est le serveur primaire pour le réseau 195.101.245 est "mouettens.rd.francetelecom.com.", on l'obtient avec la commande dig -x 195.101.245. Les serveurs de noms de ce domaine sont : - "ns.rd.francetelecom.com." - "roazhon.rd.francetelecom.com." - "u-picasso.rd.francetelecom.com." EMERY Olivier & WILLM Geoffrey Page 5
2) Activation du serveur DNS Pour vérifier si le serveur DNS (bind9) est présent, j'utilise la commande rndc status et pour le lancer, j'utilise la commande /etc/init.d/bind9 start. Le fichier "/etc/bind/named.conf" est le fichier de configuration globale du service DNS, il est lu au démarrage du service et donne la liste des fichiers qui définissent la base de données pour la zone. Le fichier "/etc/bind/named.conf.options" contient l'ensemble des options de configuration du serveur DNS. 3) Serveur cache esclave Pour interroger un serveur DNS sur Internet, j'utilise la commande dig. On modifie ensuite le fichier "/etc/resolv.conf" en changeant l'adresse IP associé à nameserver pour mettre 127.0.0.1. Le serveur va maintenant s'interroger lui-même. On effectue une résolution de nom d'un domaine publié sur Internet, par exemple : dig -q www.google.fr Avec Wireshark, on observe que les serveurs "roots" nous indiquent quels serveurs ont autorité sur le domaine.fr puis ces derniers nous indiquent lesquels ont autorité sur le domaine google.fr jusqu'à qu' on obtienne la résolution complète. Si on refait la même résolution, on observe aucune trame DNS. En effet, le résultat de la requête est stockée dans le cache du serveur. 4) Logging Pour pouvoir récupérer le fichier, on doit d'abord monter le dossier. On tape alors monte_source, et on copie le contenu du fichier "/mnt/source/dns/logging.conf" dans le fichier "/etc/named.conf.otpions". Pour forcer "named" à relire son fichier de configuration, on utilise rndc reconfig. Le fichier "/var/cache/bind/syslog" contient toutes les requêtes que l'on effectue. EMERY Olivier & WILLM Geoffrey Page 6
5) Serveur Secondaire Il faut d'abord modifier le fichier "/etc/named.conf" en y ajoutant les lignes suivantes : zone "tp521.gtr" in { type slave; file "/var/cache/bind/db.tp521.gtr"; masters {10.254.0.254 ; }; }; On force le démon "named" à relire le fichier grâce à la commande rndc reconfig On peut s'assurer que notre serveur a bien autorité sur le domaine tp521.gtr en s'assurant qu'il a bien récupéré le contenu du fichier de zone principal situé sur stp. On modifie de nouveau le fichier "/etc/named.conf" pour devenir serveur secondaire du domaine 1.52.10.in-addr.arpa : zone "1.52.10.in-addr.arpa " in { type slave; file "/var/cache/bind/db. 1.52.10 "; masters {10.254.0.254 ; }; }; On force le démon "named" à relire le fichier grâce à la commande rndc reconfig On peut s'assurer que notre serveur a bien autorité sur le domaine 1.52.10.in-addr.arpa en s'assurant qu'il a bien récupéré le contenu du fichier de zone principal situé sur stp. 6) Serveur Primaire On modifie de nouveau le fichier "/etc/named.conf" pour être serveur primaire du domaine tp522.gtr et du domaine 2.52.10.in-addr.arpa : zone "tp522.gtr" { type master; file "/var/cache/bind/db.tp522.gtr"; }; EMERY Olivier & WILLM Geoffrey Page 7
zone "2.52.10.in-addr.arpa" { type master; file ""/var/cache/bind/db.2.52.10 "; }; On force le démon "named" à relire le fichier grâce à la commande rndc reconfig On teste la fonctionnalité de notre serveur à l'aide de la commande dig : dig machine1.tp522.gtr On obtient l'adresse 10.52.2.1 dig -x 10.52.2.3 On obtient le nom machine3.tp522.gtr La résolution s'effectue correctement dans les deux sens (directe et inverse), notre serveur est donc fonctionnel. 7) Dynamic Update On modifie le fichier "/etc/named.conf" pour y ajouter allow-update {10.254.52.1; }; dans la définition du domaine tp522.gtr. On fait ensuite une mise à jour dynamique avec la commande nsupdate : nsupdate >update add www.tp522.gtr. 86400 IN CNAME s52.gtr. >update add machine4.tp522.gtr 86400 IN A 10.254.52.4 On vérifie dans le fichier de zone "db.tp522.gtr" où le nom "machine4" a bien été rajouté et il est bien associé à l'adresse 10.254.52.4. EMERY Olivier & WILLM Geoffrey Page 8