Résolution de noms (DNS) Cours Réseaux R. Dapoigny Dpt Informatique Annecy
Résolution de noms www.machin.com? Résolution de noms 210.132.14.153
Résolution de noms http://osiris.iutacy.univ-savoie.fr Machine osiris du sous domaine iutacy Domaine français Sous domaine iutacy Sous domaine univ-savoie
DNS Par souci de simplification, les références aux utilisateurs et aux serveurs sur Internet utilisent des identificateurs littéraux (exemple, osiris.iutacy.univ-savoie.fr). L'équivalence entre les noms et les adresses IP est gérée par le DNS (Domain Name Server) ou serveur de noms.
Domaines Avant de consulter le serveur de noms, un fichier local est consulté (/etc/hosts sur UNIX). Ce fichier contient les équivalences entre un nom symbolique et une adresse IP pour chaque machine du réseau local. Si la construction de ce type de tables ne pose pas de problèmes pour les petits réseaux, il en va tout autrement pour l'Internet. Pour simplifier la gestion des tables, les adresses ont été regroupées en domaines. Ces domaines sont structurés selon un modèle hiérarchique dans lequel chaque niveau est séparé de son voisin par un point.
Domaines Le domaine le plus haut dans la hiérarchie est situé le plus à droite de l'adresse. Chaque domaine contient des sous-domaines situés à gauche. Dans les domaines de premier niveau on trouve des domaine par intérêt (.edu, .org, .net, ...) et des domaines nationaux (.fr, .ch, .ca, ...).
Domaines de premier niveau 7 domaines racines prédéfinis : com : organisations commerciales ; ibm.com edu : organisations concernant l’education ; mit.edu gov : organisations gouvernementales ; nsf.gov mil : organisations militaires ; army.mil net : organisations réseau Internet ; worldnet.net org : organisations non commerciales ; eff.org int : organisations internationales ; nato.int organisations nationales : fr, uk, de, it, us, au, ca, se, etc.
Exemple
Base de données distribuée au niveau mondial : INTERNic (AfNic) pour enregistrer son nom de domaine fr inria centralweb m1 Domaine complet Domaine fr Domaine centralweb noeud m1.centralweb.fr Un domaine est un sous-arbre de l’espace nom de domaine Des noeuds peuvent avoir les mêmes noms dans des domaines différents : ns.centralweb.fr et ns.renault.fr
Résolution de noms Fichier HOSTS (internes à la machine) 127.0.0.1 localhost 93.50.231.44 Osiris #Serveur réseau péda 193.50.231.10 saphir 192.70.102.240 Charlie Adapté à la résolution locale, maintenance nécessaire Serveur DNS
DNS Un serveur de noms enregistre les données propres à une partie de l’espace nom de domaine dans une zone fr bc ab ca on qb domaine zone Serveurs de noms primaires Serveurs de noms secondaires
DNS Chaque domaine détient la responsabilité de ses sous-domaines. Par exemple des universités françaises constituent chacune un sous-domaine de fr (univ-savoie.fr, représente le sous-domaine de l'université de Savoie). Dans un sous-domaine, on peut introduire un ou plusieurs sous-domaines de niveau inférieur (zones) sous l'autorité du sous-domaine précédent. Par exemple, dans iutacy.univ-savoie.fr, le sous-domaine iutacy est placé sous l'autorité de univ-savoie qui est lui même sous l'autorité de fr.
Principe du DNS Un serveur de noms de domaines (DNS) qui est attaché à un ou plusieurs domaines s'appelle serveur primaire de domaine. Il possède les tables d'équivalence relatives au domaine géré et détient l'autorité sur ce domaine. Une copie de ces tables est installée sur un ou plusieurs serveurs secondaires. Leur rôle consiste à délester le serveur primaire en cas de surcharge ou à s'y substituer en cas de panne. L'administrateur réseau indique la liste des serveurs secondaires dans un fichier du serveur primaire et met à jour les tables d'équivalence.
Principe du DNS La mise en place du DNS revient à confi-gurer un certain nombre de fichiers sur le serveur de domaine. Le nom et la forme de ces fichiers peut présenter quelques diffé-rences en fonction du système d'exploitation utilisé.
Principe du DNS
Principe du DNS Lorsqu'un client désire communiquer avec un site cible, il contacte le DNS local. Les possibilités de réponse d'un serveur DNS à un client sont détaillées dans le RFC 1034. Le serveur DNS peut soit traiter les requêtes relatives au domaine sur lequel il possède l'autorité, soit jouer le rôle d'intermédiaire dans la chaîne de transmission des requêtes. le point important est la pertinence des informations relevées dans le cache. Un administrateur doit trouver un compromis entre une grande rémanence des informations (risque d'informations périmées dans le cache) une mise à jour rapide (augmentation des échanges réseau).
Principe du DNS
DHCP Inconvénient des adresses IP statiques : La solution : DHCP "Gaspillage" d'adresses Rigidité Configuration personnalisée ingérable pour les grandes structures La solution : DHCP Dynamic Host Configuration Protocol
DHCP Dynamic Host Configuration Protocol. Mode client-serveur Défini dans les RFC 1533, 1534, 1541 et 1542 objectif : centraliser et automatiser la configuration TCP/IP des machines d'un réseau. Pour cela le serveur utilise des plages d'adresses IP ou étendues (scope) ainsi qu'une durée de validité (bail).
Possibilités vérification et reconfiguration des paramètres à distance par l'administrateur. Unicité des adresses IP liaison dynamique de l'adressage IP avec d'autres protocoles (DNS, serveur WWW) minimisation des risques d'erreur de configuration plusieurs options possibles pour la configuration de clients supporte le déplacement physique de machines avec reconfiguration automatique.
Limitations pas de détection d'adresses IP de machines non-clients DHCP. Pas de communication avec d'autres serveurs DHCP. Pas de vérification de la validité des infos entrées dans les étendues.
DHCP Toute machine intégrant un client DHCP peut être cliente. Quelles informations le serveur DHCP est-il susceptible de fournir au client : adresse IP subnet mask routeur par défaut adresse des serveurs de nom (WINS, DNS) nom de domaine Internet ....
Notion de bail But : ne pas monopoliser une adresse Principe Durée totale d'allocation Attribution d'une adresse par S1 Demande de renouvellement vers S1 Demande de renouvellement vers un serveur DHCP T1 T2
Principe Client DHCP Serveur DHCP acquisition du bail d'adresse IP DHCP DISCOVER Serveur DHCP DHCP OFFER DHCP REQUEST DHCP ACK acquisition du bail d'adresse IP
Acquisition d'un bail Au démarrage de la machine client, diffusion d'une première trame DHCP DISCOVER pour rechercher un serveur DHCP : MAC dest : FF:FF:FF:FF:FF:FF IP dest : 255.255.255.255 UDP dest : 67 (serveur Bootp) MAC src : adresse MAC client IP src : 0.0.0.0 UDP sr : 68 (client Bootp) Tous les serveurs DHCP potentiels proposent au client une offre s'ils ont des adresses disponibles pour le réseau considéré.
Acquisition d'un bail Une trame de diffusion DHCP OFFER est transmise au client par le serveur le plus rapide avec les informations: adresse MAC client adresse IP proposée masque associé durée de bail adresse IP serveur DHCP. Options diverses. Si la tentative de connexion n'aboutit pas, itération toutes les 5 mn.
Acquisition d'un bail Le client répond au serveur choisi via une trame de diffusion DHCP REQUEST transmise à tous les serveurs par le client pour que tous les serveurs aient connaissance du choix du client. Tous les serveurs non concernés se retirent. A réception du choix client, le serveur confirme le bail au client par une trame DHCP ACK.
Renouvellement Le client tente de renouveller son bail via un DHCP REQUEST vers son serveur. Si la demande échoue, il continue d'utiliser ses paramètres jusqu'à expiration du bail. A la moitié du temps de bail -> tentative de renouvellement. Si le serveur répond -> transmission de DHCP ACK avec d'eventuelles modifs de paramètres. Si pas de réponse -> dernière tentative au 7/8 du temps de bail -> DHCP REQUEST en diffusion vers l'ensemble des serveurs dispos. Si pas de réponse -> fin de validité des paramètres IP. Sinon, le bail est renouvellé.
Agent relais DHCP Les diffusions ne traversant pas les routeurs -> un serveur DHCP par segment de réseau. Contrainte évitée en utilisant un agent relais DHCP. Le relais a un fonctionnement simplifié et : une adresse IP statique connait l'adresse IP du serveur DHCP. Le serveur DHCP connait l'adresse du relais et l'étendue associée au réseau dans lequel se trouve le relais.
Multi-serveurs Utilisation de plusieurs serveurs sur un même réseau : possible mais déconseillée (pb de contrôle des étendues). Si un serveur distribue des baux sur plusieurs subnets, il est conseillé que chaque serveur possède 75% des adresses du subnet sur lequel il est situé et 25% des adresses d'un subnet distant.
Options d'étendue Chaque étendue correspond à une plage d'adresses valides, un masque associé ainsi que des options d'étendue. Options possibles : routeur (003) serveur DNS (006) nom de domaine DNS (015) adresse de diffusion (028) spécifie cette adresse option d'itinéraires statiques (033) -> paires dest. Network-router interface dépassement de délai de cache ARP (035) ... Possibilité de réservation d'adresses : une adresse IP sera liée à une adresse MAC.
DNS Couche application identification par noms Clarté de l’identification littérale différencier les noms locaux arborescence Notion de domaine Chaque site identifié par un nom de domaine Chaque domaine contient des sous-domaines Représentation par chaînes pointées
DNS Domaines structurés selon un modèle hiérarchique où les niveaux sont séparés par des points Domaine le plus haut : le plus à droite Chaque domaine contient des sous-domaines Domaines thématiques : .net, .mil, .com, … Domaines nationaux : .fr, .ch, .ca, …
DNS Chaque domaine détient la responsabilité de ses sous-domaines Exemples : cs.yale.edu Info.itu.ch www.esia2.univ-savoie.fr fr a autorité sur univ-savoie qui a autorité sur le serveur esia2 de l’esia
DNS Modèle hiérarchique de l’Internet
DNS Le domaine "." correspond au domaine racine de l’Internet (root servers) Composé de 13 serveurs contrôlant les relations entre domaines de premier niveau. Utilisation : dans les serveurs cache.
DNS root servers A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 128.9.0.107 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 198.41.0.10 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33
DNS - principe Équivalence entre noms et adresses IP gérée par le DNS (Domain Name System) Avant de consulter le serveur : consultation d’un fichier de cache UNIX : /etc/hosts Win2k : \\Windows\system32\drivers\etc\hosts Résolution de noms d’hôtes
DNS Chaque domaine ou sous-domaine possède un serveur primaire appelé serveur DNS Possibilité de serveurs secondaires Rôle des serveurs secondaires : délester le primaire en cas de panne ou surcharge Administrateur réseau : gère les fichiers du serveur primaire et indique au primaire la localisation des serveurs secondaires
DNS : client/serveur
DNS Le serveur peut : Traiter les requêtes relatives au domaine sur lequel il possède l’autorité Jouer le rôle d’intermédiaire dans la transmission des requêtes Point crucial : pertinence des informations dans le cache
DNS Rôle de l’administrateur Gérer les fichiers de configuration du DNS Trouver un compromis entre 2 politiques: Une grande rémanence des informations mais risque d’informations périmées Mise à jour fréquente des informations mais augmentation sensible de la bande passante du réseau
DNS - configuration Configuration d’un certain nombre de fichiers qui sont lus périodiquement par les processus système (démons). La plupart des logiciels DNS se basent sur le logiciel BIND (Berkeley Internet Name Domain) qui fonctionne en mode client/serveur. On se limitera au fonctionnement de base.
DNS
DNS - configuration Informations à fournir pour la configuration du client via les propriétés de TCP/IP : Serveur DNS préféré (pas de corrélation entre préféré et primaire!) Serveur DNS auxiliaire Possibilité de définir plusieurs DNS auxiliaires (tolérance aux pannes) Spécification du suffixe DNS (nom de domaine)
DNS – serveur cache Win2k Ne gère aucune zone Rôle : utiliser la récursivité auprès d’autres serveurs mise en cache des réponses et diminution de la bande passante Mise en œuvre : installation du service DNS sans configurer de zone. Ouvrir la console DNS, clic droit sur le nom de serveur, sélectionner Propriétés. Dans l’onglet Redirecteurs cocher Activer les redirecteurs et entrer les adresses IP des serveurs à interroger.
DNS – serveur cache UNIX Répertoire où sont stockés les fichiers de zone Configurer le fichier principal named.conf options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; Fichier contenant les serveurs du domaine racine
DNS – serveur cache UNIX Contenu du fichier pz/127.0.0 $TTL 3D @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost.
Durées à spécifier numéro de série du fichier (à partir de l'adresse de mise à jour inversée) période de rafraîchissement (le serveur cache vérifie le numéro de série du serveur primaire avec cette période) période de relance du serveur primaire (en cas de non réponse de celui-ci) durée de rétention des données dans le serveur cache (en l'absence de régénération) durée de conservation (par défaut) des données dans le cache des serveurs.
DNS – les enregistrements RFC 1033 : <nom> [ttl] <classe> <type> <données> avec : <nom> : nom du domaine (ou d'une machine). Le symbole @ fait référence au domaine explicite spécifié par $ORIGIN. [ttl] : champ optionnel qui précise la durée de vie en secondes des informations du fichier. Par défaut, ttl prend la valeur définie dans le champ minimum de l'enregistrement SOA. <classe> : classe d'adresses de l'enregistrement de ressources. La plus utilisée est IN, c'est à dire le domaine Internet. <type> : décrit le type des données fournies à la suite. Les enregis-trements les plus utilisés sont SOA, NS, A, PTR, CNAME, MX et HINFO. <données> : la structure de ce champ dépend du champ <type>.
DNS – les enregistrements SOA : associé à chaque zone DNS (Start of Authority) NS : Name Server liste les serveurs du domaine (primaire et secondaires) A : associe un nom d’hôte à une adresse IP CNAME : définit un alias (dissimule le nom d’un serveur) MX : serveur de messagerie (si plusieurs, on spécifie la priorité par un entier) PTR : équivalents au type A pour la recherche inversée
DNS – les enregistrements Exemples : $TTL 3D @ IN SOA land-5.com. root.land-5.com. ( 199609206 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds NS land-5.com. NS ns2.psi.net. MX 10 land-5.com. ; Primary Mail Exchanger TXT "LAND-5 Corporation" localhost A 127.0.0.1 router A 206.6.177.1
DNS – les enregistrements land-5.com. A 206.6.177.2 ns A 206.6.177.3 www A 207.159.141.192 ftp CNAME land-5.com. mail CNAME land-5.com. news CNAME land-5.com. funn A 206.6.177.2 ; ; Workstations ws-177200 A 206.6.177.200 MX 10 land-5.com. ; Primary Mail Host ws-177201 A 206.6.177.201
DNS – serveur primaire options { directory "/var/named"; }; zone "." { type hint; file "root.hints"; zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; zone "land-5.com" { file "zone/land-5.com"; zone "177.6.206.in-addr.arpa" { file "zone/206.6.177";