Résolution des noms DNS: Domain Name System hosts.txt Les
Transcription
Résolution des noms DNS: Domain Name System hosts.txt Les
20/03/2011 INTRODUCTION Problématique • Problématique Résolution des noms DNS: Domain Name System – Sur un réseau comme Internet une machine (ou service) peur être identifiée par: • Un nom d’hôte, • Une adresse logique (IP). – En générale, les utilisateurs ne connaissent que le nom des machines ou des services avec lesquels ils veulent communiquer. • Exemple pour serveur web: www.fstfes.ma – Les machines n’établissent leur communication qu’a l’aide de leurs adresses IP, – Comment résoudre les noms de machines en adresses IP ? ü INTRODUCTION INTRODUCTION gestion des noms sur arpanet hosts.txt L’ARPANET (Advanced Research Program Agency Network) des années 80 est constitué d’une centaines d'ordinateurs reliés en réseaux. /etc/hosts 127.0.0.1 194.214.66.29 192.168.169.2 ü Un unique fichier hosts.txt rassemble les correspondances entre nom d'hôte et adresse IP. ü localhost routeur-fst-fes www.fstfes.ma Le fichier est stocké sur le SRI-NIC (Stanford Research Institutes Network Information Center) . ü Après chaque modification, des copies sont transférées par ftp vers les ordinateurs du réseau. INTRODUCTION INTRODUCTION Les inconvénients § La taille du fichier hosts.txt augmente avec le nombre d’hôtes, § temps de diffusion des infos (par ftp ), § système centralisé (chaque poste a sa propre base données), § La fréquence des mises-à-jours des tables devient proportionnelle au nombre de machines, § La consommation de la bande passante, § correspondance statique, § ne contient que des infos réduites, § noms enregistrés sous le domaine arpa § collision rapide de noms UNIX Windows J. Postel P. Mockapetris 1983-84 Paul Mockapetris et Jon Postel proposent et développent une solution à base de BD distribuée Domain Name System 1 20/03/2011 Domain Name Server • Le système DNS est fondé sur un système de base de données répartie, Domain Name Server • basé sur le modèle client / serveur • Chaque serveur est donc responsable des adresses IP appartenant à un domaine d’adressage délimité, • Les requêtes et les réponses sont envoyées dans des paquets • Lorsqu’un serveur n’est pas en mesure de résoudre une adresse, il existe des procédures définissant la manière d’accéder à un serveur capable de traiter la requête, – UDP, port 53 – ou sur TCP, port 53 pour les requêtes très grandes , exemple : transfert zone à partir du maître vers l’esclave • Le système DNS a donc été construit sur un concept d’espaces de dénomination, • Ces espaces de dénomination s’appuient sur la structure hiérarchique. • Les messages (requête ou réponse) du protocole DNS sont définis dans le RFC1035. L’espace Nom de domaine • Chaque unité de donnée dans la base DNS est indexée (etiquettés) par un nom, • Les noms constituent un chemin dans un arbre inversé appelé : l’espace Nom de domaine, • Organisation similaire à un système de gestion de fichiers. L’espace Nom de domaine • Organisation arborescente • Chaque noeud est identifié par un nom • Racine appelée root, identifiée par «.» L’espace Nom de domaine • La racine: est le nœud unique situé au sommet de l’arbre DNS représenté par un point appelée root domain.. • Physiquement la racine correspond à 13 serveurs racine du DNS d'Internet géré sous l'autorité de l'ICANN(Internet Corporation for Assigned Names and Numbers). • http://www.root-servers.org/ L’espace Nom de domaine • Organisation arborescente: • Top Level Domains – TLD: Sous la racine, on trouve les domaines de 1er niveau (organisation et pays) étiquetés com, edu, gov, int, mil, org, net et des codes d'états ou de pays normalisés sur 2 lettres (ma pour maroc, fr pour la France). – TLDs spéciaux • ARPA. : gTLD "préhistorique" réutilisé pour des mécanismes spécifiques tels que le reverse DNS ou ENUM. • EXAMPLE., TEST., INVALID. : TLDs conventionnels pour expérimentation et documentation (RFC 2606). • LOCALHOST. : TLD conventionnel (mais non officiel) pour "localhost=127.0.0.1" (RFC 1912). • 2eme niveau: on trouve des domaines gérés par des entreprises, institutions, organismes… • NB: – L’organisation qui a autorité sur un domaine peut créer un ou plusieurs sous-domaines. – DNS supporte jusqu’à 127 niveaux de domaines. 2 20/03/2011 Les noms de domaine Les noms de domaine Un nom de domaine est la séquence de labels (étiquettes) depuis le noeud de l’arbre correspondant jusqu’à la racine (.). . ma • Lecture des noms de domaine – A l’inverse de l’adressage IP la partie la plus significative si situe à gauche de la syntaxe : m1.fstfes.ac.ma ac 212.217.61.5 vers le plus significatif vers le plus significatif fstfes m1. fstfes. ca.ma M1 www Le nom FQDN de la machine: M1.fstfes.ac.ma. domaine maroc ma domaine de l’organisation ac sous-domaine fstfes Deux noeuds fils ne peuvent avoir le même nom ==> unicité d’un nom de domaine au niveau mondial machine m1 du domaine fstfes.ac.ma Les noms de domaine Les noms de domaine • Règles de nommage: • Le système DNS impose peu de règles de nommage FQDN(Fully qualified Domain Name) : • 63 caractères au maximum par label • Majuscules et minuscules non significatives • Doit commencer par une lettre • la longueur totale pour un nom de domaine étant est limitée à 255 caractères. Exemples : ma serveur1.ca.ma. Nom d'hôte • Nom Absolu(FQDN): Un nom complet avec "." final s'appelle un FQDN (Fully Qualified Domain Name). Exp: serveur1.fstfes.ac.ma. fstfes serveur1.fstfes.ca.ma. Nom d'hôte serveur1 = 192.168.0.66 serveur1 = 192.168.0.67 Suffixe DNS zone Le domaine • Notion de zone Un domaine est un sous-arbre de l’espace nom de domaine Domaine complet ma Domaine ma fstfes ca Suffixe DNS FQDN • Nom Relatif: L'absence de point final dans un nom s'interprète comme un nom relatif à un domaine courant : exp: fstfes.ac.ma « . » Racine FQDN – Le domaine est l'ensemble d'une sous arborescence exemple : le domaine ma. rassemble toute la sous arborescence à partir du noeud ma – la zone est la partie descriptive pour un niveau donné : • elle est restreinte à un noeud • une zone est constituée de la base de données décrivant un nœud, Domaine fstfes fstsettat m1 noeud m1.fstfes.ma Des noeuds peuvent avoir les mêmes noms dans des domaines différents : M1.fstfes.ma et m1.fstsettat.ma Nœud de type :machine 3 20/03/2011 Les serveurs de noms Terminologie: Domaine, zone, machine • Les logiciels qui gèrent les données de l’espace nom de domaine sont appelés des serveurs de nom (name servers), • Les serveurs de nom enregistrent les données propres à une partie de l’espace nom de domaine dans une zone, • Le serveur de nom à autorité administrative sur une zone, • Un serveur de nom peut avoir autorité sur plusieurs zone, • Une zone contient les informations d’un domaine sauf celles qui sont déléguées. • Domaine • Un domaine est la partie de l’arborescence à partir du nœud portant son nom • On parle de sous domaine pour un domaine inclut dans un autre • Exemple: domaine ma, : arborescence à partir du nœud ma – Exemple: fstfes.ma est un sous domaine du domaine ma • noeud • Un noeud contient à la fois des noms de machines et des sous-domaines, • Zone ca bc ab ma on qb – C’est la base de donnée associée à un nœud – les bases de données associées aux zones continnent: • Noms/Adresses des serveurs de la zone – Exemples: – Racine: liste des serveurs des domaines de premiers niveaux – ma: listes des adresses des serveurs des sous-domaines de ma • Noms/Adresses des machines de ce domaine domaine zone Terminologie: Domaine, zone, machine • La zone représente un nœud de l’arborescence alors que le domaine représente une sous arborescence à partir d’un nœud. • tout nœud non-terminal (c’est à dire tout nom ne désignant pas une machine) est appelé zone. • ma est donc une zone, • Le domaine fstfes.ma comprend la zone fstfes.ma. • La distinction machine/zone est importante puisque ces 2 objets n’ont pas du tout les mêmes propriétés : – une zone est caractérisée par des serveurs de noms…., – une machine est caractérisée par son adresse IP et son nom. • Une base de données par nœud de type (zone); Délégation • Délégation d'un nœud père vers un nœud fils, • un nœud peut être père de plusieurs nœuds fils, • le lien est effectué en précisant au niveau du nœud père où trouver la base de donnée des nœuds fils • but – – – – distribuer la gestion de chaque nœud à des entités différentes, une base de données pour chaque nœud, l'ensemble de ces bases étant géré de façon décentralisé, pour définir des domaines de responsabilités différentes. • L'ensemble de ces bases de données constitue le système d'information hiérarchique et distribué du DNS, Délégation Délégation • Délégation • Le système DNS est entièrement distribué au niveau planétaire, • A tout domaine est associé une responsabilité administrative, • 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 sousdomaines qu’elles gèrent. 4 20/03/2011 Administration • Administration Administration • Administration – NIC (Network Information Center) L’organisme qui gère les domaines du niveau TDL. – Des organismes régionaux • Groupements de pays – – – – – APNIC : Asie - Pacifique ARIN : Amérique du nord LACNIC: Amérique latine et îles des caraîbes RIPE NCC: Europe - Moyen Orient AFRINIC : Afrique Fonctionnement du DNS • Le service DNS est formé de trois composants : –Le résolveur, –Le serveur DNS, Fonctionnement du DNS • Système client/serveur • client – resolver : interface cliente permettant d'interroger un serveur – les machines clientes pointent généralement vers un serveur par défaut (/etc/resolv.conf sur Unix) • Serveur de noms – chaque serveur gère sa propre base de données – optimisation par des systèmes de cache et de réplication –L’espace de dénomination du domaine. Fonctionnement du DNS • Au-dessus d 'IP – service s'exécutant sur le port 53 • UDP et TCP (TCP n'est pas réservé qu'au transfert de zone et est utilisé si la taille de la réponse est supérieure à la limite d 'un paquet UDP de 512 octets) • RFC 1035 Fonctionnement du DNS • Fonctionnement du client : le resolver – Toute machine utilisant TCP/IP comporte un client permettant la traduction de noms en adresses IP : le resolver, il permet de communiquer avec les serveurs DNS 5 20/03/2011 Fonctionnement du DNS • 2 modes d'interrogation – récursif : le client envoie une requête à un serveur, ce dernier Fonctionnement du dns • Fonctionnement du serveur de noms devant interroger tous les autres serveurs nécessaires pour renvoyer la réponse complète au client (mode utilisé par les machines clientes en général) – itératif : le client envoie une requête à un serveur, ce dernier renvoyant la réponse si il la connaît, ou le nom d'un autre serveur qu’ il suppose plus renseigné pour résoudre cette question (mode utilisé par le resolver des serveurs en général) Fonctionnement du dns Types de serveurs de noms • Serveur de noms • Les serveurs de nom de domaine: permettent d'établir la correspondance entre le nom de domaine et l'adresse IP des machines d'un réseau. • Chaque serveur de nom est déclaré dans à un serveur de nom de domaine de niveau immédiatement supérieur, • Ce qui permet implicitement une délégation d'autorité sur les domaines. • Le système de nom est une architecture distribuée, où chaque entité est responsable de la gestion de son nom de domaine. • Il n'existe donc pas d'organisme ayant à charge la gestion de l'ensemble des noms de domaines. Types de serveurs de noms • Serveur primaire • Un serveur est dit primaire pour une Zone DNS, s’il dispose localement (hors cache) de l'ensemble des informations de la Zone • autorité pour un ou plusieurs domaines • Ce serveur contient les informations relatives au domaine (dans un fichier de zone) • Son père: le serveur du domaine supérieurs (root server ), • Ses fils : les serveurs de chacun de ses sous-domaine, • Les noms qu’il gère directement. • Source officielle des informations concernant son ou ses domaines • Répond aux requêtes concernant sa zone d’autorité – Retransmet des requêtes (hors son domaine) – ou réoriente les clients vers les serveurs concernés (root) • Transfert de la totalité de la zone aux serveurs secondaires (mise a jour AXFR, IXFR) • Quatre types de serveurs – Serveur – Serveur – Serveur – Serveur maitre primaire, maitre secondaire, cache, Redirecteur (forwarding) Types de serveurs de noms • Serveur secondaire, • Il transfère un ensemble complet d’informations sur le domaine à partir du serveur primaire, • Ce transfert est appelé un transfert de fichier de zone, • Il conserve une copie complète de toutes les informations du domaine, • répond aux requêtes émanant des clients comme s’il était le serveur primaire, • La seule différence entre un serveur primaire et un serveur secondaire est l’inexistence de fichiers de description des zones au niveau du serveur secondaire, • NB: Les domaines sont généralement gérés par un serveur primaire et un ou plusieurs serveurs secondaires. Ce qui contribue à la robustesse du système. 6 20/03/2011 Types de serveurs de noms Types de serveurs de noms • Serveur cache • N’a autorité sur aucune zone – Source non officielle des informations • Il s'enrichit au fur et à mesure par les données récoltées pour résoudre les requêtes des clients – une requête déjà demandée est résolue à partir du cache du serveur – le cache possède alors des informations locales et non locales • Répond à ses clients en utilisant ces informations locales – éviter la surcharge inutile du réseau – supprimer les délais du réseau – amoindrir la charge des autres serveurs • Les données du cache possèdent une durée de vie limitée(Time To Live - ttl) afin de permettre son rafraîchissement et la prise en compte des modifications • Tout serveur possède en général au minimum un cache Redirecteurs Types de serveurs de noms • Serveur redirecteur (forwarding) • Il n’a autorité sur aucune zone, Un redirecteur est un serveur DNS que d'autres serveurs DNS internes désignent comme responsable du transfert des requêtes pour la résolution de noms de domaines DNS externes ou hors site Redirecteur • Il fait suivre la requête reçue vers d'autres serveurs par une requête ellemême récursive Requête itérative Interroger .com Indication de racine (.) .com • ces types de serveurs possèdent une liste de serveurs à interroger – vérifie si la réponse n'est pas dans son cache – sinon fait suivre à un des serveurs la requête – en cas d'échec tente de résoudre lui même la demande • enrichissement rapide d'un cache partagé (au sein d 'un organisme pour ne pas surcharger la liaison vers l 'extérieur). nwtraders.com Serveur DNS local Computer1 41 Base données DNS Base données DNS • Resource Record (RR) • Comme pour toute base de données, le serveur de nom a un format pour ses champs, ou “ Resource Record ”,(RFC 1035), • L'ensemble des informations de la base de données DNS est structuré autour des Resource Records. – Les nœuds de l’espace sont décrits par des RR maintenus à jour sur des serveurs autorisés : opération manuelle, – Le rôle des serveurs de noms est de propager ces informations en répondant aux questions des résolveurs, – Les données associées a chaque nom de domaine sont enregistrées sous forme de Resource Record (RR) 7 20/03/2011 Resource Record RR Resource Record RR • Un enregistrement de ressource est composé de cinq champs Nom-domaine Poste.informatique.fst. Nom domaine du RR TTL CLASS TYPE RDATA 172800 (2j) IN A 192.168.1.10 durée de vie en cache Sur 32-bits IN, CH A CNAME MX NS PTR SOA. A CNAME MX PTR SOA Type de base RR Type RR A AAAA Description Résout un nom d'hôte en adresse IP adresse IPv6 PTR Résout une adresse IP en nom d'hôte SOA Premier enregistrement dans tout fichier de zone, description de la base de données d'une zone SRV Résout les noms des serveurs qui fournissent des services NS Identifie le serveur DNS associé à chaque zone MX Serveur de messagerie CNAME : Nom-Domaine est un nom absolu de l'espace de nommage DNS (FQDN Fully Qualified Domain Name) TTL Time To Live définit la durée de vie de l'objet dans les caches. Elle s'exprime en secondes par un entier 32bits, soit 140 ans max. CLASSE vaut IN pour internet, CH pour chaos, HS pour Hesiod... TYPE le type de données du RR RDATA la valeur de l'objet. Elle dépend directement du TYPE de RR FORMAT DES MESSAGES DNS • Entête du message DNS • DNS utilise une structure de message normalisé précédée d’un en-tête. Cette structure est définie par la RFC 883. Rèsout un nom d'hôte en nom d'hôte (Alias) FORMAT DES MESSAGES DNS • Entête du message DNS: • ID (16 bits) : N° d’identificateur généré par la station qui émet la demande. Il est recopié dans chaque réponse et permet de faire correspondre chaque requête à son résultat. • QR (1 Bit) : Indique si le message est une question (Query=0) ou une réponse (R=1) • Opcode (4 Bits) : Ce champ précise le type de requête. Il est défini lors de l’envoi de la demande et recopié dans toutes les réponses. Les valeurs suivantes sont possibles : FORMAT DES MESSAGES DNS • Entête du message DNS: • Indicateur AA ( Authorative Answer, 1 Bit) : Indique que le serveur de noms qui à répondu représente une autorité pour le domaine interrogé, • Indicateur TC (TrunCation, 1 Bit) : Indique si le message dépasse 512 octets et fait donc parti d’un message plus important, • Indicateur RD (Recursion Desired, 1 Bit) : Signale au serveur que la demande doit être traitée de manière récursive. Ne fonctionne que si cette option est active sur le serveur DNS, • Indicateur RA (Recursion Available, 1 Bit) : Indique que le serveur prend en charge les demandes récursives, • La zone réservée de 3 bits qui suit reste vide et sert à compléter la ligne pour atteindre 16 Bits. 8 20/03/2011 FORMAT DES MESSAGES DNS • Entête du message DNS: • Rcode (Response Code, 4 Bits) : cette valeur et positionnée dans la réponse par le serveur et indique les erreurs éventuelles : FORMAT DES MESSAGES DNS • Entête du message DNS: • Les compteurs suivant permettent de savoir comment sont découpées les données qui suivent l’en-tête dns et qui contiennent les demandes et les réponses. – Compteur QD (16 Bits) : Nombre d’entrées dans la zone de demande – Compteur AN (16 Bits) : Nombre de messages de réponse – Compteur NS (16 Bits) : Nombre de serveurs de noms contenues dans la zone des données d’autorité – Compteur AR (16 Bits) : Nombre d’enregistrements pour des entrées supplémentaires dans la zone. FORMAT DES MESSAGES DNS • Données dns FORMAT DES MESSAGES DNS • Données DNS – Question : contient le nom de la requête et ses autres paramètres. – Réponse :contient les RR qui répondent directement à la requête. – Autorité :contient les RR décrivant d'autres serveurs "autorisés". Peut aussi contenir un RR SOA contenant les données d'autorisation dans la section réponse. – Additionnel: contient les RR qui peuvent aider à exploiter les RR contenus dans les autres sections. FORMAT DES MESSAGES DNS • Question (Requête DNS) • Une requête DNS est un triplet de la forme {Nom-Domaine CLASSE QTYPE} • QName: Nom du domaine où se trouve le RR. • QClasse: Une valeur encodée sur 16 bits identifiant une famille de protocoles ou une instance d'un protocole. • QType: Query type codé sur 16 bits, spécifie quel type de donnée sont utilisés dans le RR: A, PTR…… FORMAT DES MESSAGES DNS • Réponse DNS • Ttl: C'est la durée de vie des RRs (32 bits, en secondes), utilisée par les solveurs de noms lorsqu'ils ont un cache des RRs pour connaître la durée de validité des informations du cache (durée limite pendant laquelle un RR peut être conservé dans un cache local). • Longueur: Sur 16 bits, ce champ indique la longueur des données suivantes. 9 20/03/2011 FORMAT DES MESSAGES DNS FORMAT DES MESSAGES DNS • Réponse DNS • Réponse DNS • Données: Données identifiant la ressource, ce que l'on met dans ce champs dépend évidemment du type de ressources que l'on décrit. – A : Pour la classe IN, une adresse IP sur 32 bits, – Cname : un nom de domaine, – Mx : une valeur de préférence sur 16 bits (la plus basse possible) suivie d'un nom d'hôte souhaitant servir d'échangeur de courrier pour le domaine, – Ptr : Une adresse IP sous forme d'un nom, – Ns : Un nom d'hôte. • La réponse ou résolution d'une requête de base (QTYPE=TYPE) consiste à trouver l'ensemble des RRs du DNS qui correspondent. Exemple: • Requête : • khalid.informatique.fst • Réponse: khalid.informatique.fst . IN 86400 IN A A 192.168.1.10 57 FORMAT DES MESSAGES DNS FORMAT DES MESSAGES DNS FORMAT DES MESSAGES DNS DNS sous Linux • BIND Berkeley Internet Name Domain – Sous UNIX, le DNS est implanté par le programme BIND, – BIND est un système client/serveur, – La partie serveur de BIND est le démon named, – La partie client est appelée le résolveur: elle génère des requêtes pour obtenir des informations relatives à un nom. 10 20/03/2011 DNS sous Linux • Configurer le résolveur. DNS sous Linux • Configuration du résolveur: – exemple de fichier resolv.conf – La configuration du résolveur figure dans le fichier: /etc/resolv.conf – nameserver: c’est l’option principale, elle indiquent les adresses IP des serveurs auxquelles le résolveur envoie ses requêtes pour obtenir des informations (max 3 serveur), – domain: L’entrée domain définit le nom de domaine par défaut. Le résolveur ajoute le nom de domaine par défaut à n’importe quel nom de machine qui ne contient pas de point, – search: définit une liste de domaines recherchés lorsqu’un nom ne contient pas de point, – NB: • Cela signifie que les entrées domain et search sont redondantes, • Lorsqu’un nom ne contient pas de point, l’entrée domain est en premier lieu utilisée pour compléter le nom. Si la recherche échoue, ce sont les entrées search qui sont exploitées dans l’ordre de leurs apparitions pour tenter de compléter le nom, • Il n’est pas recommandé d’utiliser à la fois domain et search dans une même configuration. DNS sous Linux • Configuration du daemon named DNS sous Linux • Configuration du daemon named – La base données du DNS est constitue de deux fichiers: • Fichier de zone: relie les noms d’hôtes à leur adresse, • Fichier de zone inverse: relie les adresses à leur nom d’hôte. – named.ca: Fichier de zone racine, définit l’emplacement des serveurs racine. – named.conf: fichier de configuration principal, relié les fichiers de la base données entre eux. DNS sous Linux • Configuration du daemon named • named.conf : C’est le fichier de configuration lu au démarrage. il est exploité afin de stipuler à BIND quels fichiers de base de données il doit utiliser, • named.ca (.root): L’objectif de ce fichier est de définir l’emplacement des serveurs de la racine(Généralement, les configurations de serveurs de noms possèdent déjà un tel fichier). • localhost.rev(0.0.127): Le serveur de noms a besoin d’un autre fichier de correspondance inverse pour le réseau loopback. Ce réseau est utilisé par un hôte pour communiquer avec lui-même. Le numéro de ce réseau est toujours 127.0.0 et l’adresse de l’hôte est toujours 127.0.0.1. DNS sous Linux • Configuration du daemon named • Fichiers de zone – Fichier de zone (Informatique.fst): – Ce fichier contient la base donnée de la zone. Ce fichier permet de convertir des noms en adresses IP, – Fichier de zone inverse (1.168.192): – Ce fichier contient la base de données de la zone “reverse” pour le domaine informatique.fst, il qui permet de convertir les adresses IP en noms. 11 20/03/2011 Base données DNS Base donnée DNS • RR de type SOA • Cinq enregistrements, ou “Resource Record”, sont absolument fondamentaux pour faire fonctionner un serveur de noms : SOA, NS, A, MX et PTR. • RR type SOA $ORIGIN @ IN SOA • SOA est l’acronyme de “ Start Of Authority ” et désigne le début obligé et unique d’une zone, • Il doit figurer dans chaque fichier de zone( directe et inverse), • Le nom de cette zone est ici repéré par le caractère @ qui signifié la zone courante, repérée par la ligne au dessus : $ORIGIN informatique.fst. informatique.fst. ns1.informatique.fst. admin.informatique.fst . ( 2007100801 ; Serial 10800 ; Refresh (3h) 3600 ; Retry (1H) 3600000 ; Expire (5w6d16h) 86400 ) ; Minimum ttl (1D) • La ligne aurait également pu s’écrire : informatique.fst. Base donnée DNS • RR de type SOA Base donnée DNS • RR de type SOA • Numéro de série (serial) : Identifie la version de la zone ; quand on modifie le fichier de zone, on incrémente ce numéro. • Rafraîchissement (refresh) : intervalle en secondes destiné au serveur secondaire pour rafraîchir son fichier de zone (nombre décimal entier sur 8 chiffres). Cette valeur peut être élevée si on a maintenu l'option "notify yes" au niveau du serveur maître. • Tentatives (retry) : intervalle en secondes avant de recontacter le serveur principal en cas d'échec de la demande de rafraîchissement. • Expiration (expire) : indique le temps en secondes, au bout du quel un serveur secondaire doit éliminer toutes les informations de zone s'il n'a pas pu contacter le serveur (cette valeur doit être élevée). • TTL: Durée de présence d'une réponse négative dans les caches suite à une question sur le domaine, • Toutes les "refresh" secondes, le serveur secondaire transfère le SOA de la zone et vérifie si le numéro de série a augmenté ; si c'est le cas le transfert de zone a lieu. • En cas d'échec de cette interrogation, le serveur secondaire recommence toutes les "retry" secondes jusqu‘à atteindre le temps d'expiration (expire). • Remarque: – Mais si l'on a maintenu, sur le serveur primaire, l'option par défaut de notification, le serveur maître notifiera immédiatement tout changement de son fichier de zone au serveur secondaire, – Attention : à chaque modification du fichier de zone, il ne faut pas oublier d'augmenter le numéro de série et de faire une relecture par le démon du fichier de configuration. Base donnée DNS • RR de type NS • Il faut ajouter une ligne de ce type (“ Name Server ”) pour chaque serveur de noms pour le domaine. Notez bien que rien dans la syntaxe ne permet de distinguer le serveur principal de ses secondaires. • Dans le fichier de zone : IN IN IN IN SOA dns1.informatique.fst. admin.informatique.fst. • Un problème concernant cette zone devra être signalé par e-mail à [email protected] (notez le “.” qui s’est transformé en “@”), • Les paramètres de ce SOA sont décrits sur plusieurs lignes, regroupées entres parenthèses. Le caractère “;” marque le début d’un commentaire, qui s’arrête à la fin de ligne, • Les points en fin de noms sont nécessaires. NS NS NS ns1.informatique.fst. ns−slave1.informatique.fst. ns−slave2.informatique.fst. • Dans le fichier qui renseigne la zone “ reverse ”: 1.168.192.in−addr.arpa. 1.168.192.in−addr.arpa. 1.168.192.in−addr.arpa. IN IN IN NS NS NS ns1.informatique.fst. ns−slave1.informatique.fst. ns−slave2.informatique.fst. Base donnée DNS • RR de type A “Address record” • Attribue une ou plusieurs adresses à un nom, c’est donc celui qui est potentiellement le plus fréquemment utilisé, • Il doit y avoir un RR de type A pour chaque adresse d’une machine. ns1 Poste1 Poste2 IN IN IN Poste2.informatique.fst. IN A A A 192.168.1.2 192.168.1.10 192.168.1.20 A 192.168.1.20 12 20/03/2011 Base donnée DNS • RR de type PTR“ PoinTeR Record ” • Permet de spécifier les adresses pour la résolution inverse, donc dans le domaine spécial IN-ADDR.ARPA. Base donnée DNS • Le RR de type MX,“Mail eXchanger” • Concerne les relations entre le serveur de noms et le courrier électronique. priorité IN IN • Notez le “.” en fin de nom qui interdit la complétion (il s’agit bien du nom FQDN). 2 10 20 IN IN IN PTR PTR PTR (2.1.168.192.in-addr.arpa. ns1.informatique.fst. poste1.informatique.fst. poste2.informatique.fst. IN PTR 10 20 mail.informatique.fst. mail2.informatique.fst. • RR de type CNAME “ canonical name ” • permet de distinguer le nom officiel d’une machine de ses surnoms. www ftp ns1.informatique.fst. ) Base donnée DNS MX MX IN IN CNAME CNAME poste1 poste1 Fichiers de configuration de DNS • Remarque • Il existe d’autres RR, HINFO ,TXT, WKS et KEY, named.conf • Le fichier named.conf est une suite de déclarations utilisant des options imbriquées qui sont placées entre accolades, { }. • Un fichier named.conf typique est organisé de manière semblable à l'extrait ci-dessous : <déclaration-1> ["<déclaration-1-nom>"] [<déclaration-1-classe>] { <option-1>; ... <option-N>; }; <déclaration-N> ["<déclaration-N-nom>"] [<déclaration-N-classe>] • • • • Le fichier Le fichier Le fichier Le fichier named.conf, named.ca, de zone directe, de zone inverse. named.conf • Types courants de déclarations: – Déclaration – Déclaration – Déclaration – Déclaration acl, include, options, zone. { <option-1>; ... <option-N>; }; 13 20/03/2011 named.conf named.conf • Déclaration acl (liste de contrôle d'accès) • définit des groupes d'hôtes, • Le but est de pouvoir désigner ces groupes par leur nom et leur appliquer des options dans d’autres déclarations, • La syntaxe: acl <nom_de_la_liste> { <élément-correspondant>; [<élément-correspondant>; ...] }; • Déclaration include, • Le fichier /etc/named.conf est accessible en lecture pour tous les utilisateurs • La déclaration include permet à des fichiers d'être inclus dans un fichier named.conf. • Finalité, des données de configurations critiques (telles que les clés, keys) peuvent être placées dans un fichier séparé doté de permissions restrictives. • Syntaxe: include "file_name" named.conf named.conf • Déclaration option • Déclaration option • La déclaration options définit les options globales de configuration serveur et établit des valeurs par défaut pour les autres déclarations. • Syntaxe: • Option de configuration(suite) • allow-recursion: cette option s'applique à des demandes récursives. Par défaut, options { <option>; [<option>; ...] }; tous les hôtes sont autorisés à effectuer des demandes récursives sur le serveur de noms, • Blackhole: Spécifie les hôtes qui ne sont pas autorisés à interroger le serveur de noms, • Directory: Change le répertoire de travail named pour une valeur autre que la valeur par défaut, /var/named/, • forward : Contrôle le comportement de retransmission d'une directive forwarders. – Les options suivantes sont acceptées : • Option de configuration • allow-query : Spécifie les hôtes autorisés à interroger ce serveur de noms. Par défaut, tous les hôtes sont autorisés à interroger le serveur de noms. Il est possible d'utiliser ici une liste de contrôle d'accès ou un ensemble d'adresses IP ou de réseaux afin de n'autoriser que des hôtes particuliers à interroger le serveur de noms. named.conf • first : Établit que les serveurs de noms spécifiés dans la directive forwarders soient interrogés avant que named ne tente de résoudre le nom lui même. • only : Spécifie que named ne doit pas tenter d'effectuer lui-même une résolution de nom dans le cas où des demandes vers les serveurs de noms spécifiés dans la directive forwarders échouent. named.conf • Déclaration option • Option de configuration • forwarders : Spécifie une liste d'adresses IP valides correspondant aux serveurs de noms vers lesquels les requêtes devraient être envoyées pour la résolution. • listen-on: Spécifie l'interface réseau sur laquelle named prend note des requêtes. Par défaut, toutes les interfaces sont utilisées. • notify : Établit si named notifie les serveurs esclaves lorsqu'une zone est mise à jour. – Les options suivantes sont acceptées : • yes : Notifie les serveurs esclaves. • no : Ne notifie pas les serveurs esclaves. • explicit : Notifie seulement les serveurs esclaves spécifiés dans une liste also-notify à l'intérieur d'une déclaration de zone. • statistics-file : Spécifie un autre emplacement des fichiers de statistiques. Par défaut, les statistiques named sont enregistrées dans le fichier /var/named/named.stats. • Déclaration Les options: • Exemple acl " info-fst" { 127.0.0.1; 192.168.1.0/24; }; options { directory "/etc/namedb"; forwarders { 193.252.19.3; # Les DNS de notre 193.252.19.4; # providers }; allow-query { "info-fst";}; listen-on { 192.168.1.2; }; }; 14 20/03/2011 named.conf named.conf • Options de déclaration de zone • Déclaration zone • La plupart des changements apportés au fichier /etc/named.conf d'un serveur de noms maître ou esclave implique l'ajout, la modification ou la suppression de déclarations de zone. • Définit les caractéristiques d’une zone, • Emplacement des fichiers de configuration de la zone, • Options spécifiques à la zone. • Syntaxe zone <zone-nom> <zone-classe> { <zone-options>; [<zone-options>; ...] }; named.conf • Déclaration zone • Ci-dessous se trouve un exemple de déclaration zone pour le serveur de noms primaire hébergeant informatique.fst (192.168.1.2) : zone " informatique.fst " IN { type master; file "informatique.fst.zone"; allow-update { none; }; }; – – – – Dans cette déclaration, la zone est identifiée en tant que informatique.fst, Le type est défini comme master, Le service named a comme instruction de lire le fichier /var/named/informatique.fst.zone, Elle indique à named de refuser la mise à jour à tout autre hôte. named.conf • [root@serveurdns /etc]# cat named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127"; }; zone " informatique.fst" IN { type master; file " informatique.fst"; }; zone "1.168.192.in-addr.arpa" IN { type master; file "1.168.192"; }; named.conf • Déclaration zone: zone " informatique.fst " { type slave; file " informatique.fst.zone"; masters { 192.168.1.2; }; }; • Cette déclaration zone configure named sur le serveur esclave de manière à ce qu'il cherche le serveur maître à l'adresse IP 192.168.1.2 pour y trouver les informations concernant la zone appelée informatique.fst. • Les informations que le serveur esclave reçoit du serveur maître sont enregistrées dans le fichier /var/named/informatique.fst.zone. named.ca • zone racine (named.ca)/(named.root) • L’objectif du fichier named.ca consiste à définir l’emplacement des serveurs de la racine. • Généralement, les configurations de serveurs de noms possèdent déjà un tel fichier. 15 20/03/2011 Fichiers de zone • Fichiers de zone • Les Fichiers de zone contiennent des informations sur un espace de nom particulier et sont stockés dans le répertoire de travail named qui est par défaut /var/named/. • Chaque fichier de zone est nommé selon les données d'options de file dans la déclaration zone,généralement d'une manière qui se réfère au domaine en question (exp: informatique.fst.zone). • Chaque fichier de zone peut contenir des: – Directives: donnent au serveur de noms l'instruction d'effectuer une certaine Fichiers de zone • Directives des fichiers de zone • Les directives sont identifiées par le symbole dollar ($) suivit du nom de la directive, • Elles apparaissent généralement en haut du fichier de zone, • Les directives les plus couramment utilisées sont les suivantes : – $INCLUDE: Configure named de façon à ce qu'il inclue un autre fichier de zone dans ce fichier de zone à l'endroit où la directive apparaît. Ce faisant, il est possible de stocker des configurations de zone supplémentaires à l'écart du fichier de zone principal. tâche ou d'appliquer des paramètres spéciaux à la zone. – $ORIGIN : Attache le nom de domaine à des enregistrements non-qualifiés, comme ceux qui spécifient seulement l'hôte et rien de plus. Par exemple, un fichier de zone peut contenir la ligne suivante : $ORIGIN informatique.fst. Tous les noms utilisés dans les enregistrement de ressources qui ne se terminent pas par un point (.) se verront ajouter informatique.fst. – Enregistrements de ressources RR: définissent les paramètres de la zone, assignant des identités aux hôtes individuels. • NB: – Toutes les directives et enregistrements de ressources doivent être spécifiées sur des lignes individuelles. – Des commentaires peuvent être placés dans les fichiers de zone après les caractères points virgules ; Fichier de zone directe Fichiers de zone $ORIGIN informatique.fst. $TTL 86400 @ IN SOA • Directives des fichiers de zone (suite) – $TTL : Règle la valeur par défaut Time to Live (TTL) pour la zone. C'est le nombre, en secondes, donné aux serveurs de noms pour dire combien de temps les enregistrements de ressources de la zone resteront valides. – Lorsque vous décidez d'accroître cette valeur, les serveurs de noms distants mettent en cache ces informations de zone pendant plus longtemps. Cela réduit le nombre de requêtes effectuées au sujet de cette zone, mais rallonge aussi le temps nécessaire pour proliférer les changements des enregistrements de ressources. – Chaque enregistrement de ressources peut contenir sa propre valeur TTL, qui remplace alors cette directive. ;serveur dns @ IN IN dns1. informatique.fst 192.168.1.2 IN IN MX MX 10 20 ; nom de machine dns1 server1 server2 IN IN IN A A A 192.168.1.2 192.168.1.5 192.168.1.6 ;alias ftp mail mail2 www IN IN IN IN CNAME CNAME CNAME CNAME server1 server1 server2 server2 mail.informatique.fst. mail2.informatique.fst. Fichiers de résolution de noms inverse Fichiers de résolution de noms inverse zone "1.168.192.in-addr.arpa" IN { type master; file "informatique.fst.rr.zone"; allow-update { none; }; }; NS NS ; Enregistrements MX • Enregistrements de ressources des fichiers de zone • Les enregistrements de ressources représentent le premier composant d'un fichier de zone. • Il ressemble à un fichier de zone standard, sauf que les enregistrements de ressources PTR servent à lier les adresses IP au nom d'un domaine pleinement qualifié. • Ce fichier de zone serait mis en service avec une déclaration zone dans le fichier named.conf similaire à l'extrait suivant : dns1.informatique.fst. admin.informatique.fst. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day $ORIGIN 1.168.192.in-addr.arpa. $TTL 3600 1.168.192.in-addr.arpa. IN SOA dns1.informatique.fst. admin.informatique.fst. ( 5 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 3600 ) ; Minimum @ IN NS dns1.informatique.fst. 2 5 6 IN IN IN PTR PTR PTR dns1 serveur1 serveur2 16 20/03/2011 localhost, localhost.rev(0.0.127) • Le serveur de noms a besoin d’autres fichiers de correspondance directe et inverse(localhost, localhost.rev) pour le réseau loopback. • Ce réseau est utilisé par un hôte pour communiquer avec lui-même. • Le numéro de ce réseau est toujours 127.0.0 et l’adresse de l’hôte est toujours 127.0.0.1. 0.0.127.in-addr.arpa. IN SOA dns1.informatique.fst. admin.informatique.fst ( 0.0.127.in-addr.arpa. NS 1998120701 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum localhost. • NB: L’omission de ces fichiers permettra au serveur de fonctionner mais la Utilitaires DNS • Outils pour vérifier l'opération de résolution de nom d’un serveur : –Nslookup, –Dig, –Host, –Ping. recherche de 127.0.0.1, échouera car le serveur racine ne peut réaliser la correspondance 127.0.0.1 à l’hôte local. 17