Résolution de noms (DNS)
Cours Réseaux
R. Dapoigny
Dpt Informatique Annecy
Résolution de noms
www.machin.com?
210.132.14.153
Résolution de noms
Résolution de noms
http://osiris.iutacy.univ-savoie.fr
Machine osiris du sous domaine iutacy
Sous domaine iutacy
Domaine français
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
.
edu org net m il com gov fr ch ca
dom aines par intérêt
...
dom ainesnationaux
univ-lyon1
iutbourg
dom aine de s econd n iveau
dom aine de tr ois ièm e n iveau
• 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
Des noeuds peuvent avoir les mêmes noms dans des domaines différents : ns.centralweb.fr et ns.renault.fr
Un domaine est un
sous-arbre de l’espace
nom de domaine
Résolution de noms
1. Fichier HOSTS (internes à la machine)127.0.0.1 localhost 93.50.231.44 Osiris #Serveur réseau péda193.50.231.10 saphir192.70.102.240 Charlie
Adapté à la résolution locale, maintenance nécessaire
2. Serveur DNS
DNS
fr
bc ab
ca
on qb domaine
zone
Un serveur de noms enregistre les données propres à une partie de l’espace nom de domaine dans une 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 DNSD N S
CLIENT SERVEUR
Nom de domaineet serveurs à
interroger
resolv.conf
Définition et rô le des serveurs
named.boot
serveur cache
F ich ier cache
F ich ier de bou-clage local
F ichier cache
F ichier de bou-clage local
serveur primaire
F ichier cache
F ich ier de bou-clage local
F ich iers de zone
F ich iers de zoneinverses
serveur secondaire
TRANSFERT DE ZONE
F ich iers de zone
F ich iers de zoneinverses
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 DNSrequête
client
réponseconnue
réponseinconnue
autoritésur objet dela réponse
réponsedans lecache
réponsepérim ée
rechercherécursive
adresse IPd'un DNS
c lien tD N S
serveu rD N S
DHCP
• Inconvénient des adresses IP statiques :– "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
Demande de renouvellement vers S1
Demande de renouvellement vers un serveur DHCP
Principe
ClientDHCP
ServeurDHCP
DHCP DISCOVER
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:FFIP dest : 255.255.255.255UDP dest : 67 (serveur Bootp)MAC src : adresse MAC clientIP src : 0.0.0.0UDP 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 clientadresse IP proposéemasque associédurée de bailadresse 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
www.esia2.univ-savoie.fr
Info.itu.ch
fr a autorité sur univ-savoie qui a autorité sur le serveur
esia2 de l’esia
DNS
.
edu org net m il com gov fr ch ca
dom aines par intérêt
...
dom ainesnationaux
univ-lyon1
iutbourg
d om a in e de s eco n d n iveau
dom aine d e tr ois ièm e n iveau
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.4B.ROOT-SERVERS.NET. 6D IN A 128.9.0.107C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17J.ROOT-SERVERS.NET. 6D IN A 198.41.0.10K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12M.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
requêteclient
réponseconnue
réponseinconnue
autoritésur objet dela réponse
réponsedans lecache
réponsepérim ée
rechercherécursive
adresse IPd'un DNS
c lien tD N S
serveurD N S
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.
DNSD N S
CLIENT SERVEUR
Nom de domaineet serveurs à
interroger
resolv.conf
Définit ion et rô le des serveurs
named.boot
serveur cache
F ich ier cache
F ich ier de bou-clage local
F ichier cache
F ichier de bou-clage loca l
serveur primaire
F ichier cache
F ich ier de bou-clage local
F ich iers de zone
F ich iers de zoneinverses
serveur secondaire
TRANSFERT DE ZONE
F ich iers de zone
F ich iers de zoneinverses
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
• Configurer le fichier principal named.confoptions { directory "/var/named";};zone "." { type hint; file "root.hints";};zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0";};
Répertoire où sont stockés les fichiers de zone
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 enregistrementsRFC 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.1router A 206.6.177.1
DNS – les enregistrementsland-5.com. A 206.6.177.2ns A 206.6.177.3www 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 Hostws-177201 A 206.6.177.201
DNS – serveur primaireoptions { 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" { type master; file "zone/land-5.com";};zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177";};