Exposé: Présentation et Configuration Du DNS sous LINUX Présenté par: Abdou Rahim Ba Ousmane Wagué Encadrer par Monsieur Masamba Lô Année académique 2009-2010
Installation de Bind et du démon named PLAN DE L'EXPOSE Présentation du DNS Installation de Bind et du démon named Configuration du serveur de nom de domaine Description de la syntaxe des fichiers de zone Configurer un serveur secondaire
INTRODUCTION A l 'origine, le nombre d'hôtes sur Internet était faible INTRODUCTION A l 'origine, le nombre d'hôtes sur Internet était faible. Les associations entre les noms d'hôtes et les adresses IP étaient faciles à gérer. Chaque hôte avait à sa disposition une liste complète de tous les noms d'hôtes et les adresses dans un fichier local. Mais avec le développement très rapide d'Internet , ce fichier était devenu trop lourd car lors de l'ajout d'un nouvel hôte , on devait mettre à jour le fichier des hôtes sur chaque ordinateur. D'où la nécessite de mettre en place un system plus souple appelé DNS . Le mécanisme DNS est une base de données hiérarchisée et repartie sur le réseau.
QU'EST-CE – QUE DNS DNS permet de faire : - Une correspondance entre un nom d'hôte et son adresse IP (résolution directe). - Une correspondance entre une adresse IP et son nom d'hôte (résolution inverse). - L’aiguillage de mails en précisant le ou les serveurs de messagerie du domaine
PRESENTATION DU DNS le DNS associe trois concepts: 1 -L'espace des noms de domaine 2 - Le serveur de nom 3 - Le convertisseur ou résolver 1- L'espace des noms de domaines C'est un espace qui désigne une arborescence identifiant une série d'hôtes et fournissant des informations sur eux .
Structure hiérarchique du DNS . sn isi www gov edu net com TLD racine Nom de Domaine FQDN hote Structure hiérarchique du DNS
Chaque nœud a un nom individuel Chaque nœud a un nom individuel. Le nom officiel d'un nœud ( FQDN: Full Qualified Domain Named) est obtenu en faisant la succession des noms individuels sur le chemin qui va du nœud vers la racine ; et on met des points entre les noms individuels. La profondeur maximale de l'arborescence est de 127 niveaux et la longueur maximale d'un nom FQDN est de 255 caractères. L'adresse FQDN permet de repérer de façon unique une machine sur le réseau des réseaux. Ainsi www.isi.sn représente une adresse FQDN DNS impose que les nœuds enfants issus d'un même parent aient des noms différents.
Quelques définitions domaine: c'est une organisation ou entité logique qui représente une partie du réseau. délégation d'autorité: L'un des principaux buts de DNS est de décentraliser sa propre administration. Ceci est possible par la délégation d'autorité .La délégation d'autorité est le transfert de la responsabilité d'un domaine ou sous domaine vers une autre organisation . Une organisation qui gère un domaine peut le diviser en sous domaines et chacun d'eux peut être déléguer à une autre organisation qui devient responsable de la gestion de toutes les informations de ce sous domaine . Cette organisation peut modifier les données et même découper son domaine en d'autres sous domaines si elle le désire
Et dans ce cas , le domaine parent contient seulement des pointeurs vers les sources de données du sous domaine et il peut indiquer ces pointeurs à ceux qui les demandent . Exemple: domaine parent sn domaine fils isi.sn 2 - Le serveur de noms Un serveur de nom est un ordinateur qui fournit des services DNS pour mapper des noms d'hôtes aux adresses IP et vis versa . Ce sont des programmes qui stockent et mettent à jour les données dans l'espace des noms de domaines . Chaque serveur possède des informations complètes sur un sous ensemble de l'espace dont il est responsable et des informations cachées sur les autres parties .
Si on demande des informations sur une zone dont le serveur est responsable , ce dernier ne fait que renvoyer les informations . En revanche , si on demande des informations sur une zone différente , le serveur répond en renvoyant une adresse des bons serveurs à contacter. Types de serveurs On a deux types de serveurs : § serveur principal : c'est le serveur qui a l'autorité définitive sur les informations d'un domaine § serveur secondaire : Au démarrage, il charge les données du principal et prend le relais en cas de disfonctionnement de ce dernier. 3 - Le Résolver C’est un programme qui extrait des informations d'un serveur de nom .
Le mécanisme consistant à trouver l'adresse IP correspondant au nom d'un hôte est appelé « résolution de nom de domaine ». L'application permettant de réaliser cette opération (généralement intégrée au système d'exploitation) est appelée « résolveur » (en anglais « resolver »). Lorsqu'une application souhaite se connecter à un hôte connu par son nom de domaine (par exemple « www.isi.sn »), celle-ci va interroger un serveur de noms défini dans sa configuration réseau. Chaque machine connectée au réseau possède en effet dans sa configuration les adresses IP de deux serveurs de noms de son fournisseur d'accès. Une requête est ainsi envoyée au premier serveur de noms (appelé « serveur de nom primaire »). Si celui-ci possède l'enregistrement dans son cache, il l'envoie à l'application, dans le cas contraire il interroge un serveur racine (dans notre cas un serveur racine correspondant au TLD « .sn »)
Le serveur de nom racine renvoie une liste de serveurs de noms faisant autorité sur le domaine (dans le cas présent les adresses IP des serveurs de noms primaire et secondaire de isi.sn). Le serveur de noms primaire faisant autorité sur le domaine va alors être interrogé et retourner l'enregistrement correspondant à l'hôte sur le domaine (dans notre cas www).
Résolution d'une adresse vers un nom La recherche d'une adresse connaissant un nom est relativement simple. Par contre la recherche du nom correspondant à une adresse n'est pas évidente dans l'espace des noms de domaines . Elle nécessite un parcours exhaustif de toutes les données liées a chaque domaine . Il existe une meilleure solution qui consiste à créer dans l'espace des noms , une section qui utiliserait les adresses comme des noms . Cette section est le domaine in-addr.arpa . Les nœuds du domaine sont composés de numéros de la représentation en décimal pointé des adresses IP . Le domaine in-addr.arpa contient 256 sous domaines ; chacun d'eux correspond à une valeur possible du premier octet d'une adresse IP
chaque sous domaine pourrait avoir à son tour 256 sous domaines ; chacun correspondant à une valeur possible du deuxième octet d'une adresse IP. Finalement au quatrième niveau , on a l'adresse IP complet de l'hôte ou du réseau avec un enregistrement de ressources attaché au quatrième octet .
L’implémentation DNS : BIND L’implémentation DNS : BIND BIND (Berkeley Internet Name Domain) est un logiciel de DNS. C’est la mise en œuvre du DNS la plus populaire et ce logiciel est porté sur la plupart des systèmes UNIX et fait partie intégrante de la plupart des offres commerciales d'UNIX. BIND a même été porté sur Windows NT de Microsoft. Il existe plusieurs versions de BIND. Dans notre travail nous avons utilisé la version BIND 9.
CONFIGURATION DNS SOUS LINUX -CONFIGURATION DU RESOLVER Fichier /etc/host.conf Ce fichier indique au résolveur les services de résolution de nom qui sont disponibles et dans quel ordre il faut les appliquer. Editer le fichier /etc/host.conf order host bind nis nospoof on alert on order :spécifie l’ordre dans lequel les différents mécanismes de résolution sont appliqués nospoof: permet d’éviter l’usurpation d’adresse alert: utilisé avec l’argument on , il permet d’enregistrer toute tentative d’usurpation à l’aide de syslog
Fichier /etc/resolv.conf Ce fichier indique l’adresse IP des serveurs DNS utilisés pour la résolution de nom. Domain isi Nameserver 192.168.20.8 Nameserver 192.168.20.9 Search isi domain :Il indique le nom de domaine local de la machine. nameserver :spécifie l’adresse IP du serveur DNS. On peut indiquer jusqu’à trois serveurs de nom, la recherche se faisant d’abord sur le premier serveur spécifié, ensuite sur le deuxième et ainsi de suite. search :indique le nom qui sera ajouté au nom de machine si aucun nom de domaine n’est spécifié dans la requête.
CONFIGURATION DU SERVEUR DE NOM Situation de base Dans ce travail nous disposons d’un réseau local constitué de 5 machines , On propose de créer notre domaine nommé isi et d’y configurer un serveur de nom principal et secondaire . Les adresses et noms des machines sont les suivantes : kaw.isi 192.168.20.8 wague.isi 192.168.20.9 pc1.isi 192.168.20.1 pc2.isi 192.168.20.2 pc3.isi 192.168.20.3 Nous utiliserons kaw.isi comme serveur de nom principal et wague.isi comme serveur de nom secondaire.
Les principaux fichiers de configuration du serveur de nom sont : ·Le fichier /etc/named.conf . C’est le premier fichier lu par le démon named. Il indique les autres fichiers de configuration du serveur de nom et le répertoire où sont logés ces fichiers. ·Le fichier /var/named/named.ca . Ce fichier répertorie les serveurs de nom de la racine ainsi que leur adresse IP. Ce fichier vient par défaut avec le logiciel BIND , il peut être mis à jour à l’adresse suivante: ftp://rs.internic.net/domain/named.ca Le fichier /var/named/isi.sn.zone Il est utilisé pour la résolution direct nom machine - adresse IP dans notre domaine local. · Le fichier /var/named/isi.sn.zone.rev Il permet de faire la résolution inverse adresse IP – nom machine.
CONFIGURATION DU SERVEUR PRINCIPAL Fichier /etc/named CONFIGURATION DU SERVEUR PRINCIPAL Fichier /etc/named.conf options { directory "/var/named";}; zone "." IN { type hint; file named.ca;}; zone “isi.sn" IN { type master; file “isi.sn.zone"; }; zone “20.168.192.in-addr.arpa" IN { type master; file “isi.sn.zone.rev";}; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; };
Directory spécifie le répertoire où se trouve les fichiers de configuration des différentes zones. La zone "." indique les serveurs de nom de la racine. Le type hint spécifie que c’est là où il faut débuter la recherche. La zone « isi.sn" représente notre domaine local. Elle est utilisée pour la résolution direct nom - adresse IP. Le type master indique que le serveur est maître pour cette zone La zone « 20.168.192.in.addr-arpa" effectue la résolution inverse des adresses. Il permet d’associer à une adresses IP un nom d’hôte.
D’autres options peuvent être intégrés dans le fichier /etc/named D’autres options peuvent être intégrés dans le fichier /etc/named.conf : Forward only : cette option redirige les requêtes dns non résolues localement vers les serveurs spécifiés dans l’option forwarders. Forwarders : indique le serveur vers lequel les requêtes sont envoyés. Allow –que : permet de spécifier les adresses dont le serveur acceptera ou refusera les requêtes. allow-transfert :interdit les transferts de requête de zone. Par défaut cela est autorisé de partout listen-on port 53:indique le port en écoute pour les clients.
Fichier /var/named/isi. sn. zone Le fichier isi. sn Fichier /var/named/isi.sn.zone Le fichier isi.sn.zone est crée dans le répertoire /var/named ; le nom du fichier devant être le même que celui spécifié dans le fichier de configuration /etc/named.conf . $ 86400 @ IN SOA kaw.isi.sn. Root.kaw.isi.sn ( 1997022700 ; numéro de série 28800 ; rafraîchissement 14400 ; nouvelle essai après 1 heure 3600000 ; obsolescence 86400 ; TTL minimum 1 jour ) isi.sn. IN NS kaw.isi.sn. IN NS wague.isi.sn. IN MX 1 pc1.isi.sn. www IN CNAME kaw.isi.sn. kaw.isi.sn. IN A 192.168.20.8 wague.isi.sn. IN A 192.168.20.11 pc1.isi.sn. IN A 192.168.20.1 pc2.isi.sn. IN A 192.168.20.2
Le ficher /var/named/isi. sn Le ficher /var/named/isi.sn.zone contient plusieurs enregistrements de ressources . Chaque enregistrement de ressource est précédé du code IN pour indiquer la classe de réseau internet. Les différents enregistrements de ressources utilisés dans ce fichier sont : · L’enregistrement SOA (START of Authority) doit être le premier enregistrement de notre fichier base de données. Il spécifie le serveur maître et l’administrateur du domaine . Il indique aussi un ensemble de paramètres utilisés par le serveur secondaire pour mettre à jour les informations au niveau de son cache . Ces paramètres sont : - le numéro de série : c’est le numéro de version de la base donnée. Il doit être modifier par l’administrateur à chaque modification de la base de donnée. Dans notre exemple nous l’avons fait correspondre avec la date de la dernière modification du fichier.
- L’intervalle de rafraîchissement : C’est le délai en seconde que doit observer le serveur secondaire avant de demander au serveur maître si des changements ont eu lieu sur le fichier base de données. - Le temps de nouvel essai : c’est le délai que doit observer un serveur secondaire avant de réessayer un transfert de zone après un échec. Cette valeur est exprimée en seconde - délais avant obsolescence : c’est la durée en seconde durant laquelle le serveur secondaire attend avant de rejeter les informations de zone s’il n’a pas pu contacter le serveur primaire. - TTL : c’est la durée de vie en seconde des informations mises en cache sur le serveur · L’enregistrement NS (Name Server) :répertorie les serveurs de nom du domaine. · L’enregistrement MX (Mail eXchange) identifie les serveurs échangeur de messagerie du domaine.
Ces serveurs ont la responsabilité du traitement et de la transmission du courrier dans le domaine. Pour chaque enregistrement MX on doit préciser le numéro de préférence qui indique la priorité du serveur de courrier dans le domaine ; le serveur ayant le plus petit numéro de préférence étant le plus prioritaire. · L’enregistrement A associe un nom de machine à son adresse IP · L’enregistrement CNAME (Canonical Nene) permet de faire des alias . Il permet à un ordinateur d’apparaître sous plusieurs noms d’hôte. · L’enregistrement HINFO renseigne sur les spécifications de la machine (type de machine, système d’exploitation …)
Fichier /var/named/ isi. sn. zone. rev Le fichier isi. sn. zone Fichier /var/named/ isi.sn.zone.rev Le fichier isi.sn.zone.rev est crée dans le répertoire /var/named $ 86400 @ IN SOA kaw.isi.sn. Root.kaw.isi.sn ( 1997022700 ; numéro de série 28800 ; rafraîchissement 14400 ; nouvelle essai après 1 heure 3600000 ; obsolescence 86400 ; TTL minimum 1 jour ) isi.sn. IN NS kaw.isi.sn. IN NS wague.isi.sn. IN MX 1 pc1.isi.sn. 8 IN PTR kaw.isi.sn. 9 IN PTR wague.isi.sn www IN CNAME kaw.isi.sn. 3 IN PTR pc3.isi.sn.
· L’enregistrement PTR (pointeur) fournit une correspondance adresse – nom machine dans la zone de recherche inverse. Pour créer un enregistrement PTR, l’adresse machine est écrite en ordre inverse et « in.addr-arpa. » est ajouté à la fin. Après avoir édité les fichiers isi.sn.zone et isi.sn.zone.rev, redémarrer le serveur avec la commande : /etc/rc.d/init.d/named restart Utilitaire de test la commande nslookup permet de tester votre serveur DNS. Elle permet d'interroger un serveur de nom (serveur dns) afin d'avoir des informations sur un domaine ou sur une machine. Par défaut nslookup utilise le serveur de nom configuré sur votre machine, vous pouvez toutefois interroger un autre serveur de nom.
CONFIGURATION D’UN SERVEUR SECONDAIRE Editer le fichier /etc/named CONFIGURATION D’UN SERVEUR SECONDAIRE Editer le fichier /etc/named.conf . Dans la zone « isi.sn." et la zone « 20.168.192.in-addr.arpa" on met le type à slave et avec l’option masters on indique l’adresse IP du serveur maître dont dépend notre secondaire. Fichier /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file named.ca; };
zone “isi. sn" IN { type slave; masters{192. 168. 20. 8;}; file “isi zone “isi.sn" IN { type slave; masters{192.168.20.8;}; file “isi.sn.zone"; }; zone “20.168.192.in-addr.arpa" IN { type slave; masters {192.168.20.8;}; file “isi.sn.zone.rev"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; };
NB: N ’oublier pas d’affecter les fichier isi. sn. zone et isi. sn NB: N ’oublier pas d’affecter les fichier isi.sn.zone et isi.sn.zone.rev à l’utilisateur named et groupe named avec la commande chown named:named nomfichier Merci de votre attention!!!!!
sources: http://www.commentcamarche.net/contents/internet/dns.php3