1 / 81

Bind Dns RE52 Automne 2004

Bind Dns RE52 Automne 2004. Plan. Introduction Partie 1 : Composants DNS Partie 2 : Mise en place d’un serveur DNS Partie 3 : Fonctions avancées Partie 4 : Les outils. Le principe des DNS.

gerda
Download Presentation

Bind Dns RE52 Automne 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bind DnsRE52 Automne 2004

  2. Plan Introduction Partie 1 : Composants DNS Partie 2 : Mise en place d’un serveur DNS Partie 3 : Fonctions avancées Partie 4 : Les outils

  3. Le principe des DNS • Schéma de nommage hiérarchique fondé sur la notion de domaine et une base de donnée répartie qui implémente ce schéma (RFC 1034 – 1035) • Le service DNS permet à un hôte qui connaît le nom d’un autre hôte du réseau d’obtenir en s’adressant à un serveur de noms l’adresse IP de son homologue : • adresse IP  nom FQDN (Fully Qualified Domain Name) • Le système est mis en oeuvre par une base de données distribuée au niveau mondial, géré par l'interNIC et les organismes délégués :RIPE, NIC France (Network Information Center), ...

  4. Objectif de la fonction DNS • Le but premier est la création d'un espace de noms conséquent utilisables pour référencer des ressources. • noms ne mentionne aucun des identificateurs réseau, adresses, chemins, ou information similaire communément utilisés pour l'implémentation technique • taille énorme de la base de données et sa fréquence de mise à jour suggère une maintenance distribuée, avec cache local pour une performance accrue • utilisation sur des réseaux de nature différente, et plusieurs familles de protocoles • les transactions avec les serveurs de nom doivent être indépendantes du système de communication utilisé • Datagrammes • Circuit virtuel commuté

  5. Fonctionnement Général • le logiciel client interroge un serveur de nom: • l’utilisateur associe un nom de domaine à une application ; • l’application cliente requiert la traduction du nom de domaine auprès d’un serveur de nom (DNS) : cette opération s’appelle la résolution de nom • le serveur de nom interroge d’autres serveurs de nom jusqu’à ce que l’association nom de domaine / adresse IP soit trouvée • le serveur de nom retourne l’adresse IP au logiciel client : le logiciel client contacte le serveur (telnetd) comme si l’utilisateur avait spécifié une adresse IP : telnet

  6. Les correspondances Nom – Adresse IP • Fichier /etc/hosts sous Linux • Fichier ASCII • Mise à jour manuelle • Gestion manuelle des ressources non locales • NIS ( ou Yellow Pages ) • Fichier de données • Créer à partir du /etc/hosts du « maître » • Gestion manuelle des ressources non locales • Domain Name System (DNS) • Ensemble de fichiers ASCII • Organisation hiérarchique et mondiale des ressources • Mémorisation des informations recueillies (cache)

  7. Transfert de l’hosts.txt • L’ARPANET des années 80 est constitué d’une centaines d'ordinateurs reliés en réseaux. Un unique fichier hosts.txt rassemble les correspondances entre nom d'hôte et adresse IP. • Le fichier est stocké sur le SRI-NIC (Stanford Research Institute's Network Information Center) • Après chaque modification, des copies sont transférées par ftp vers les ordinateurs du réseau • La bande passante consommée par la distribution d'une remise à jour de cette base par cette méthode est proportionnelle au carré du nombre d'hôtes sur le réseau

  8. Exemple : Correspondance statique de noms d'hôtes NET : 10.0.0.0 : ARPANET : NET : 128.10.0.0 : PURDUE-CS-NET : GATEWAY : 10.0.0.77, 18.10.04 : MIT-GW.ARPA, MIT-GATEWAY : PDP-11 : MOS : IP/GW, EGP : HOST : 26.0.0.73, 10.0.0.51 SRI-NIC.ARPA, SRI-NIC, NIC : DEC-2060 : TOPS-20 : TCP/TELNET, TCP/SMTP TCP/TIME, TCP/FTP TCP/ECHO, ICMP : HOST : 10.2.0.11 : SU-TAC.ARPA, SU-TAC : C/30 : TAC : TCP :m

  9. Le hosts.txt • Inconvénients : • La taille du fichier hosts.txt augmente avec le nombre d’hôtes • La fréquence des mises à jours des tables devient proportionnelle au nombre de machines • Système centralisé: problèmes en cas de pannes • Espace plat → collision rapide des noms • Estimation : la consommation de bande passante est proportionnelle au carré du nombre d’hôtes

  10. Evolution d’Internet

  11. Plan Introduction Partie 1 : Composants DNS Partie 2 : Mise en place d’un serveur DNS Partie 3 : Fonctions avancées Partie 4 : Les outils

  12. Les composants du DNS • Espace de noms de domaine et les enregistrements de ressource • qui sont les spécifications d'un espace de noms structuré en arbre et des données associées à ces noms • Les serveurs de noms : • des programmes serveurs qui détiennent l'information sur la structure arborescente et les informations de domaines • Les processus de résolution, ou RESOLVEURS • sont des programmes qui extraient l'information des serveurs de noms en réponse aux requêtes clientes

  13. L'espace Nom de Domaine • Un nom de domaine défini un chemin dans un arbre appelé l'espace nom de domaine • Chaque noeud de l'arbre est identifié par un label • Chaque noeud et chaque feuille de l'arbre contient un ensemble d'informations ; les requêtes sont des tentatives pour extraire un type spécifique d'information dans cet ensemble. • Une requête cite le nom du domaine d'intérêt et décrit le type d'information désiré quant aux ressources concernées. • La racine est appelée root • L'arbre possède une profondeur maximale de 127 niveaux

  14. L'espace Nom de Domaine • Un nom de domaine est la séquence de labels depuis un nœud de l'arbre, jusqu'à la racine. Chaque label est séparé par un point • Deux noeuds « frères » ne doivent pas avoir le même nom

  15. L'espace Nom de Domaine • Un domaine est un sous arbre de l'espace de nommage • Un domaine est constitué de noms de domaine et référence d'autres domaines ou sous domaines • Exemple : Le domaine fr comprend le noeud fr et tous les nœuds contenus dans le sous arbre dont la racine est fr • Un nom de domaine est un index dans la base DNS: • www.utbm.fr pointe vers une adresse IP • utbm.fr pointe vers des informations de routage de mail et éventuellement des informations de sous domaines • fr pointe vers des informations structurelles de sous domaines

  16. L'espace Nom de Domaine

  17. Domaine racine • Le système DNS impose peu de règles sur les labels • < 63 caractères, non respect de la casse • Le 1er niveau (ou TLD (Top Level Domain)) de l'espace DNS • 6 domaines racines prédéfinis à l'origine (rfc 1032 Nov 87) • com : organisations commerciales • edu : organisations concernant l'éducation • gov : organisations gouvernementales • mil : organisations militaires • net : organisations générique ou en rapport directe avec les réseaux • org : organisations ne faisant pas parties des autres • arpa : domaine temporaire • fr, uk, us, de, be, ca, ... : organisations nationales • Le 1er et 2eme niveau (Second Level Domain) marque une hiérarchie de valeurs

  18. Représentation • A l'inverse de l'adressage IP, la partie la plus significative se situe à gauche • Chaque nom de domaine est représenté, en interne, de la façon suivante : • Comme un nom de domaine se termine toujours sur la racine de label « », le dernier champ est 0 sun2. ethernet1. utbm.fr domaine français (.fr) domaine de l’organisation Utbm sous-domaine Utbm machine sun2 du domaine ethernet1. utbm.fr

  19. La Délégation de domaine • Le système DNS est entièrement basé sur la décentralisation de sa propre administration • Le système sous jacent est la délégation de domaine • A tout domaine est associé une responsabilité administrative • Une organisation responsable d'un domaine peut • découper le domaine en sous domaine • déléguer des sous domaines à d'autres organisations • Le domaine parent contient un pointeur vers le sous domaine délégué

  20. La Délégation • Une organisation responsable d’un domaine peut • découper le domaine en sous domaines • déléguer les sous domaines à d’autres organisations : • qui deviennent à leur tour responsables du (des) sous domaine(s) qui leurs sont délégué(s) • peuvent, à leur tour, déléguer des sous domaines des sous domaines qu’elles gèrent • Le domaine parent contient alors seulement un pointeur vers le sous domaine délégué; • Exemple : • utbm.fr est délégué à l’organisation utbm • Utbm gère donc les données propres à ce domaine. • utbm.fr (en théorie seulement) pourrait être géré par l’organisation responsable du domaine .fr (NIC France) qui gèrerait alors les données de utbm.fr

  21. Les serveurs de nom • Programmes serveurs qui détiennent l'information sur la structure arborescente et les informations de domaines. • Ils enregistrent les données propres à une partie de l'espace nom de domaine dans une zone distribuée • Le serveur de nom • a autorité administrative sur cette zone • peut avoir autorité sur plusieurs zones • Une zone contient les informations d'un domaine sauf celles qui sont déléguées • Spécialisés dans la recherche de données à l’intérieur de l’espace de nommage  résolution de noms

  22. Serveurs de noms et zones Un serveur de nom charge les informations d’une zone et non pas celles d’un domaine qui contient plus d’informations que nécessaire

  23. Découpage de noms • La base de données de domaines est divisées selon deux méthodes : en classes, et par "découpage" de l'espace des noms de domaines. • Les données décrivant une zone se divisent en quatre parties majeures : • Les données autorisées pour tous les noeuds dans la zone. • Des données définissant le noeud de plus haut niveau de la zone (peuvent être considérées comme faisant part des données autorisées). • Des données décrivant les sous zones déléguées, c'est-à-dire, les points de coupure dans les étages inférieurs de la zone. • Les données permettant l'accès aux serveurs de noms traitant les sous-zones déléguées (appelées souvent "glue data"). • Toutes ces données sont exprimées sous forme de RR, et donc une zone peut être entièrement décrite comme un ensemble de RR

  24. Type de serveurs de noms • Serveur maître de noms primaire • maintient la base de données de la seule zone dont il a l'autorité administrative • Acquiert les données de la zone à partir d’un fichier local de données dérivant la zone • Serveur maître de noms secondaire • obtient les données de la zone via un serveur de nom qui a l'autorité administrative • interrogation régulière du serveur de noms primaire • La redondance permet de palier d'éventuelles défaillances d'un serveur • Un serveur de noms peut être primaire sur une (des) zone(s) et secondaire pour d'autres

  25. Processus de résolution : le résolveur • Les «resolvers» sont les processus clients qui contactent les serveurs de nom • Interroge les serveurs de noms • Interprète les réponses • Renvoi de l’information au programme demandeur • Pour résoudre un nom en une adresse IP, une application invoque une procédure de bibliothèque appelée Résolveur avec la fonction gethostbyname recevant un nom de serveur à résoudre  Envoi d’un paquet UDP contenant l’@ IP • Le serveur de nom interroge également d’autres serveurs de nom, lorsqu’il n’a pas autorité sur la zone requise (fonctionnement itératif ou récursif) • Si le serveur de nom est en dehors du domaine requis, il peut être amené à contacter un serveur racine ( ne pas confondre avec un domaine racine)

  26. Processus de résolution : le résolveur

  27. Résolution des noms en adresse • Elle s’effectue de manière descendante, du serveur Racine vers un serveur dans les feuilles de l’arborescence. • Mode récursif • le serveur prend à son tour le rôle de résolveur et ne peut retourner qu'un message d'erreur ou une réponse valide, mais jamais de référence. Ce service est optionnel dans un serveur de noms, ce dernier pouvant de plus choisir de restreindre les possibilités de clients gérant le mode récursif. • Utile dans plusieurs situations : • une implémentation simplifiée d'un résolveur qui ne sait exploiter d'autres réponses qu'une réponse directe à la question. • une requête qui doit passer à travers d'autres protocoles ou autres "frontières" et doit pouvoir être envoyée à un serveur jouant le rôle d'intermédiaire. • un réseau dans lequel intervient une politique de cache commun plutôt qu'un cache individuel par client.

  28. Résolution des noms en adresse • Mode non récursif : • Réponse sur la base de ses informations locales : • Répond du mieux possible avec ce qu’il sait déjà • La réponse contient une erreur, la réponse demandée, ou donne la référence d'un autre serveur plus "susceptible" de disposer de l'information demandée • Tous les serveurs de noms se doivent d'implémenter le mode non-récursif. • Utilisation de la métrique du temps RTT pour choisir le serveur racine le plus approprié

  29. Résolution des noms en adresse Mode Recursif Mode Itératif

  30. Résolution inverse Comment obtenir le nom de domaine à partir de l'adresse IP ? • Il faut faire une rechercheexhaustive car les serveurs DNS sont organisés pour la résolution des noms • Solution : utiliser les adresses IP comme des noms de domaines particuliers • Chaque adresse IP est considérée comme faisant partie du domaine in-addr.arpa • les noms des noeuds correspondent aux octets de l'adresse IP, en ordre inverse • Exemple : l'IP 192.158.41.55 donne le domaine 55.41.158.192.in-addr.arpa • Les règles 4ème niveau correspond à un NS connaissant le nom de domaine associé à cette adresse IP • requêtes sont de type PTR ("pointeur").

  31. Durée de vie • Les serveurs ne peuvent garder éternellement trace des données dans leur mémoire cache • Exploitation d’un Time To Live (TTL) pour les données de chaque zone • Après écoulement abandon des données en mémoire

  32. Serveurs racine • Les serveurs racine connaissent les serveurs de nom ayant autorité sur tous les domaines racine • Les serveurs racine connaissent au moins les serveurs de noms pouvant résoudre le premier niveau (.com, .edu, .fr, etc.) • Pierre angulaire du système DNS : si les serveurs racine sont inoperationnels ==> plus de communication sur l’Internet • actuellement jusqu’à 14 éparpillés sur la planète • chaque serveur racine reçoit environ 100000 requêtes / heure

  33. Introduction Partie 1 : Composants DNS Partie 2 : Mise en place d’un serveur DNS

  34. Mise en place d’un serveur DNS : Bind • L’ISC (Internet Software Consortium) développe et maintient des codes source BIND, téléchargeables gratuitement à ftp://ftp.isc.org • Version de Bind 8.2.3 et Bind 9.1.3 sous Unix • Eléments de sécurisation : Liste d’accès pour les requêtes et les transferts de zone • Maj dynamiques (Dynamic update) : autorise des agents à mettre à jour les données de la zone par l’envoi de message • Notification de zone (Notify) : indique que le numéro de série a été modifié • Transfert incrémental de la zone : permet à un serveur esclave de ne demander que les changements dans la zone

  35. Mise en place d’un serveur DNS • Les données d’un serveur DNS sont enregistrées dans plusieurs fichiers (fichiers de données de la zone) • Le fichier de zone est le fichier qui stocke la correspondance Nom/Adresses IP(et vice versa) des machines appartenant au réseau de la zone correspondante • Un fichier pour la résolution directe (forward mapping) • Un fichier pour la résolution inverse (reverse mapping) • Le nom de chaque fichier est stocké dans le fichier de configuration /etc/named.conf

  36. Enregistrements de ressources • On associe à chaque domaine un ensemble d’enregistrements de ressources (ressources records ou RR ) qui se compose de : • Owner : Nom_de_domaine qui désigne le domaine auquel s’applique l’enregistrement (clé de recherche principale pour satisfaire les requêtes) : • TTL : Durée_de_Vie : indique la stabilité de l’enregistrement • Classe : identifie le protocole ; IN pour internet, CH chaotique • Type : indique le type d’enregistrement dont il s’agit, encodée sur16 bits spécifiant le type de ressource décrit par cet enregistrement.

  37. Structures des fichiers d'une « zone » • Chaque information est définie par un type d'enregistrement • SOA : Serveur principal d’une zone : informations sur la partie de l'arborescence gérée par le serveur, • NS : liste des serveurs de nom pour ce domaine • A : correspondance nom  adresse IP (@ IP d’un hôte) • A6 : correspondance nom  adresse Ipv6 • AAAA : correspondance nom  adresse Ipv6 (obsolète) • PTR : correspondance adresse IP nom • CNAME : alias ou nom canonique • TXT : texte • HINFO : description de la machine (UC et SE en ASCII) • MX : serveur de mail pour le domaine « relais de messagerie » • RR : permettent d'étendre les types d'informations.

  38. Le type d'enregistrement SOA ( Start Of Authority ) • C’est le premier enregistrement dans le fichier de base de données de zone • Permet de définir : • Sur quelle zone le serveur a autorité • Le nom de la machine serveur maître primaire de la zone • Quelle est l'adresse de courrier de l'administrateur du domaine • Puis des informations à destinations des serveurs esclaves • Dans l'exemple suivant : • la zone est ens.utbm.fr • Le nom de la machine serveur maître est dnsserver.ens.utbm.fr

  39. Exemple ens.utbm.fr. IN SOA dnsserver.ens.utbm.fr. root.utbm.fr. ( 2004011201 ; serial // incrémenté par l’administrateur à chaque modification. Permet de détecter si un rechargement est nécessaire 86400 ; rafraîchissement (1 jour) 21600 ; nouvel essai (6 h) 3600000 ; (5 weeks 6 days 16 hours) // combien de temps les autres serveurs sont autorisés à garder une copie de ces données 3600 ; TTL minimum (1h) )

  40. Le type d'enregistrement NS • spécifie les serveurs de nom ayant autorité sur ce domaine • Il est possible de définir plusieurs NS pour un même domaine • Ex : ens.utbm.fr. IN NS dnsserver.ens.utbm.fr ens.utbm.fr. IN NS dnsserver_Bis.ens.utbm.fr

  41. Enregistrement d’adresses et d’alias 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

  42. Enregistrement Ptr C’est l’inverse de l’enregistrement A. Les PTR qui se trouvent dans la zone de recherche inversée permettent de mettre en correspondance des adresses IP aux noms d’hôtes.

  43. Recherche des serveurs racines ftp.rs.internic.net fichier domain/named.root

  44. Le fichier de configuration • Les paramètres d’initialisation du daemon named du système de noms de domaine du package BIND sont décrits dans /etc/named.conf. • le répertoire /var/named/ : le répertoire de travail de named qui stocke les fichiers de zone, de statistiques et les fichiers de cache.

  45. Fichier configuration de bind

  46. Démarrage d’un serveur primaire • Identité Root car utilisation d’un port réservé • fichier de configuration /etc/named.conf • Exécution de #/usr/sbin/in.named • Le démarrage du serveur secondaire ne requiert les données que par transfert de zone DB.CACHE DB.127.0.0 DB.serveur.maitre

  47. Le DNS et le courrier électronique • Fichier HOSTS.TXT référence une adresse IP • Propose de désigner des hôtes de secours • Permet de représenter des destinations de courrier par des noms spécifiques relatifs à leurs zones • Une adresse de messagerie peut représenter plusieurs serveurs de messagerie • La mise en oeuvre des caractéristiques étendues de routage se fait par l’enregistrement MX • Remplace MD (Mail Destination) @ finale • Remplace MF (Mail Forwarder)  @ alternative

  48. Le type d'enregistrement MX • MX = Mail eXchanger traite le message ou le passe à un agent de transport (X400, Exchange) • Permet l’adressage Email sur la base du nom de domaine plutôt que sur l’adresse du (des) serveur(s) de mail : toto@ens.utbm.fr plutôt que toto@mail.utbm.fr (nom du serveur de mail : mail ) • Permet à l’émetteur d’ignorer le nom de la machine serveur de mail • Permet le déplacement du serveur de mail vers une autre machine • Permet la gestion de plusieurs serveurs de mail avec priorité dans l’ordre de consultation des serveurs • L’enregistrement MX est consulté par les mailer (client SMTP) • Tient compte des priorités

  49. Le type d'enregistrement MX • MX représente un hôte appelé échangeur de message • MX contient une valeur de préférence qui indique la priorité de l’échangeur • L’ensemble des valeurs de préférence de tous les échangeurs pour une destination donné indique l’ordre dans lequel un routeur doit utiliser les échangeurs • Ex • utbm.com IN MX 0 ens.utbm.fr • utbm.com IN MX 10 rech.utbm.fr • utbm.com IN MX 10 adm.utbm.fr • Critères : • Disponibilité • Dimension • Connectivité • Gestion

More Related