©David Corlay Domain Name System
Transcription
©David Corlay Domain Name System
DNS Domain Name System ©David Corlay [email protected] SOMMAIRE I. DNS : PROTOCOLE DEFINITION………………………………………………….……….P1 FONTIONEMENT………………………………………………….……….P1 II. DNS : PROCEDURE (UBUNTU) ………………………………………………….……….P3 III. DNS : PROCEDURE (WINDOWS SERVER 2012) ………………………………………………….……….P4 DNS : PROTOCOLE Définition : Chaque ordinateur qui est connecté à internet ou pas possède au moins une adresse IP propre. Cependant, les utilisateurs ne veulent pas travailler avec des adresses numériques comme 194.153.205.26 mais avec un nom de domaine ou des adresses plus simple du type www.google.fr (adresses FQDN).Il est donc possible d'associer des noms en langage courant en adresses numériques grâce à un système appelé DNS (Domain Name System). Fonctionnement : Cas d’une requête sur un domaine hébergé Lorsqu’un DNS reçoit une requête lui demandant de fournir une traduction Nom de domaine/IP pour un nom de domaine qu’il héberge, c’est assez simple. Dans ce cas, le DNS stock en local une table de correspondance lui permettant de fournir cette traduction. Il recherche donc dans sa table l’enregistrement qui correspond au nom de domaine fourni et renvoie simplement l’adresse IP correspondante. Cas d’un domaine externe Lorsqu’un DNS reçoit une requête lui demandant de fournir une traduction Nom de domaine/IP pour un nom de domaine qu’il n’héberge pas, c’est un petit plus compliqué. Dans ce cas le DNS va intéroger un serveur « ROOT » pour savoir quel est le serveur TLD à qui demander qui fait autorité pour le domaine demandé. Et enfin soumettre la requête originale au serveur ayant autorité. Définition : Un DNS dit « ROOT », est un des 13 DNS détenant la liste des DNS TLD. Ces 13 serveurs ont une IP qui ne change jamais et sont en quelque sorte la porte d’entrée du système de résolution de noms d’Internet. Un DNS TLD (Top Level Domain) est un DNS détenant la liste de l’ensemble des DNS ayant autorité sur un domaine contenant l’extension qu’il gère. Un DNS faisant autorité est un DNS qui héberge le nom de domaine demandé DNS : PROCEDURE (Ubuntu) Pré-requis : Ubuntu 14 Le paquet bind9 Apres avoir installé votre Ubuntu, installer le paquet bind9 qui représente le rôle DNS. Nous allons le configurer pour le rendre fonctionnel. Configuration : Il faut savoir que tous les fichiers de configuration de bind se trouve dans : etc/bind Pour la sécurité il est conseillé de faire une copie de tous les fichiers qu’on modifie. Exemple si dessous. Pour ajouter notre zone, il faut éditer le fichier « named.conf.local» qui permet d’indiquer les zones. Exemple : zone “david.sio”: le nom de la zone. type master : On indique que ce serveur fait autorité sur la zone. file “/etc/bind/db.david.sio” : On indique le lien vers le fichier contenant la base d’enregistrements pour la zone. allow-update { none ;} : On n’autorise pas les mises à jour du fichier d’enregistrements par un tiers, ce qui permet d’augmenter la sécurité Ensuite on copie le fichier « db.empty » sous le nom qu’on souhaite « db.xxxx ». Le nom doit correspondre à ce que vous avez renseigné précédemment. Comme si dessous. On édite notre fichier qui est pour moi « db.david.fr » puis on rajoute par exemple notre serveur web qui a l’adresse 172.17.0.51 Cet enregistrement va permettre de joindre le serveur web grâce au nom de domaine « ubuntuweb.david.fr ». On peut rajouter un enregistrement pour que le serveur web réponde au nom d’hôte « www » pour cela on rajoute cette ligne ci-dessous. De ce fait on pourra joindre le serveur web en utilisant www.david.sio Ensuite il faut redémarrer le serveur DNS pour qu’il prenne la configuration en compte avec la commande suivante : Il faut maintenant tester notre configuration avec les commande suivante : Test de la zone « david.sio » : cd /etc/bind named-checkzone david.sio db.david.sio Si tout est correcte, vous aurez ceci comme résultat : Test de la configuration bind : cd /etc/bind named-checkconf named.conf.options Si vous n’avez pas de message c’est qu’il n’y a pas d’erreur. Au début, le serveur avait un serveur DNS de déclaré pour pouvoir télécharger les paquets, maintenant qu’il est lui-même serveur DNS, nous devons le lui dire. Pour cela, on modifie le fichier « resolv.conf » se situant dans « etc » comme si dessous : Pour que cela soit pris en compte il faut redémarrer la carte réseaux Il faut à présent tester notre serveur avec la commande nslookup : Cela montre bien que notre serveur DNS fonctionne, on peut a présent essayer a partir de notre navigateur web. Notre serveur DNS est fonctionnel mais la zone inverse n’est pas encore faite. Maintenant que notre première zone fonctionne, nous allons créer la zone inverse à celle-ci c’est-àdire celle qui permettre de retrouver le nom «ubuntudns.david.sio » à partir de l’adresse IP « 172.17.0.50 ». C’est le même principe que pour la zone « normale ». On édite le fichier « named.conf.local » et on ajoute la déclaration de la zone. Ensuite, on copie fait une copie « db.empty » pour partir d’un fichier modèle puis on ajoute les enregistrements dans le fichier de zone. Modification de « named.conf.local » Le nom de la zone est « 1.168.192.in-addr.arpa », tout d’abord on indique, dans l’ordre inverse, les 3 octets de l’adresse IP de la zone représentant le réseau, donc pour le réseau « 192.168.1.0 » ça donnera « 1.168.192 ». Ensuite on ajoute « in-addr.arpa » qui est un nom de domaine créé et utilisé mondialement pour la résolution inverse. Ensuite il faut editer « db.inverse.david.sio » et rajouter les enregistrements comme si dessous. Pour finir il faut effectuer les mêmes tests et redémarrer les mêmes services pour vérifier que tout marche.