Domain Name Service () 1
PLAN Introduction Nommage avec /etc/hosts Principe du découpage en domaines Configuration de BIND Création d une zone Outils de débuggage (dig, nslookup) Déclaration d une zone en esclave Enregistrement sur le TLD inverse Autres RR: CNAME, MX, TXT, AAAA 2
Introduction, le besoin Besoin: nommer une machine sur le réseau en effectuant une correspondance entre le nom choisi et le numéro IP (résolution de nom) trouver le nom d une machine à partir de son numéro IP (résolution inverse) identifier un groupe de machines ayant des ressources réseau communes (relais de messagerie, ) 3
Introduction (suite) Quelques exemples simples : nom de domaine : afnic.asso.fr nom de machine : ftp.afnic.asso.fr adresse ip 192.134.4.13 nom de machine : relay1.afnic.asso.fr nom de machine : www.afnic.asso.fr nom de machine : www.nic.fr adresse IP : 192.134.4.11 adresse ip 192.134.4.17 adresse ip 192.134.4.11 adresse ip 192.134.4.11 www.afnic.asso.fr www.nic.fr Une information dans le indique vers quelle machine diriger le courrier électronique : Jean.Dupont@afnic.asso.fr u relay1.afnic.asso.fr adresse ip 192.134.4.17 4
Introduction (suite) Jusqu en 1984 : fichier hosts.txt => /etc/hosts inadapté à grande échelle: temps de diffusion des infos (par ftp!) système centralisé quelques centaines de machines dans les années 70 plusieurs millions aujourd hui correspondance statique ne contient que des infos réduites noms enregistrés sous le domaine arpa => collision rapide de noms 5
Introduction (suite) Après 1984 : Domain Name System Paul Mockapetris - RFC 882 883 puis 1034 1035 système hiérarchisé et distribué modèle en arborescence (similaire à l arborescence d un système de fichiers avec ses répertoires) gestion décentralisée des bases de données => chaque site est maître de ses données informations complémentaires : relais de messagerie, correspondance dynamique limite les risques de collisions de noms 6
Introduction (fin) RFC s 1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183, 1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137, 2181, 2308, 2535-2541 Documentation http://www.dns.net/dnsrd/ (RFC, drafts, FAQ, ) http://www.nic.fr/guides/.html http://www.nic.fr/formation/ Livres and BIND (Paul Albitz & Cricket Liu) 7
Les noms de domaine Un nom de domaine est la séquence de labels depuis le nœud de l arbre correspondant jusqu à la racine ma wana M1.wana.ma m1 Deux nœuds fils ne peuvent avoir le même nom ==> unicité d un nom de domaine au niveau mondial 8
Le domaine Un domaine est un sous-arbre de l espace nom de domaine Domaine complet org auf m1 refer nœud m1.auf.org Domaine org Domaine AUF Des nœuds peuvent avoir les mêmes noms dans des domaines différents : ns.auf.org et ns.refer.org 9
Concepts, résumé et extension Un domaine est un sous-arbre de l espace Nom de domaine Un domaine est constitué de noms de domaine et d autres domaines Un domaine intérieur à un autre domaine est appelé un sous domaine Exemple : le domaine org comprend le noeud org et tous les nœuds contenus dans tous les sous-domaines de org Un nom de domaine est un index dans la base ; exemple : m1.auf.org pointe vers une adresse IP Auf.org pointe vers des informations de routage de mail et éventuellement des informations de sous-domaines org pointe vers des informations structurelles de sousdomaines 10
Concepts, résumé et extension(suite) Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d un même domaine appartiennent à 10 réseaux différents et recouvrent 6 pays différents. 11
Hiérarchie des domaines Le système impose peu de règles de nommage noms < 63 caractères majuscules et minuscules non significatives pas de signification imposée pour les labels 12
Hiérarchie des domaines (suite) Le premier niveau de l espace fait exception à la règle : 7 domaines racines prédéfinis : com : organisations commerciales ; ibm.com edu : organisations concernant l'éducation ; 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 arpa : domaine réserve à la résolution de nom inversée organisations nationales : cm, fr, uk, de, it, us, au, ca, se, etc. 13
Lecture des noms de domaine A l inverse de l adressage IP la partie la plus significative si situe à gauche de la syntaxe : www.cm.refer.org 195.24.200.202 vers le plus significatif vers le plus significatif www. cm. refer.org domaine org (.org) domaine de l organisation REFER sous-domaine refer machine www du domaine cm.refer.org 14
BIND (The Berkeley Internet Name Domain) BIND est un serveur de nom pour Unix Implémente le Domain Name System (): RFC 1034 et 1035 Une partie serveur: implémentée par la commande /usr/sbin/named Une partie client: bibliothèque C statique et dynamique (libresolv.a et libresolv.so) avec laquelle sont liées statiquement ou dynamiquement toutes les applications utilisant le. 15
BIND (suite) BIND permet la résolution de noms: établir la correspondance entre un nom de machine et une adresse IP et réciproquement. En général, toutes les applications utilisant les services de l Internet utilisent le : les appels systèmes des mécanismes de communication n utilisent que des adresses IP alors que les applications utilisent essentiellement les noms. Ex: Netscape http://www.cm.refer.org =>requête au pour trouver l adresse de www.cm.refer.org Réception d une demande de connexion par telnet =>requête au par le serveur telnetd pour connaître le nom de la machine appelante. 16
Types de serveurs de nom Serveur de nom primaire : maintient la base de données de la zone dont il a l autorité administrative Serveur de nom secondaire : obtient les données de la zone via un autre serveur de nom qui a également l autorité administrative: interroge périodiquement le serveur de nom primaire et met à jour les données Il y a un serveur primaire et généralement plusieurs secondaires La redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s) Un serveur de nom peut être primaire pour une (des) zone(s) et secondaire pour d autre(s). 17
Types de serveurs de noms (suite) Serveur de nom stub: un serveur stub récupère à intervalles réguliers la liste des serveurs primaire et secondaires d une zone. Il n a pas lui même autorité sur la zone. Serveur cache: Il récupère dans un fichier la liste des serveurs qui ont autorité sur la zone. Il n a pas lui même autorité sur la zone. Un même processus named peut être à la fois serveur primaire, secondaire, stub ou cache d une ou plusieurs zones. 18
Configuration de BIND Cette configuration passe par trois étapes essentielles: Configuration du résolveur BIND Configuration du serveur de nom BIND (named) Construction des fichiers de zone 19
Configuration du résolveur Le résolveur c est le client : Il interroge les serveurs pour obtenir les informations. Configuration du résolveur: /etc/resolv.conf Les principales valeurs acceptées par le fichier /etc/resolv.conf: nameserver adresse_ip : adresse des serveurs de noms (max=3) domain nom: domaine par défaut search domain: domaines de recherche 20
Configuration de named L'installation de bind se fait avec la commande suivante: apt-get install bind9 Les fichiers de configuration se trouve dans le répertoire: /etc/bind/ named.conf: paramètres généraux de named et définition des pointeurs vers les bases de données du domaine utilisées par ce serveur. Ces pointeurs sont soit des fichiers ou des serveurs distants. 21
Fichier /etc.bind/named.conf 22
Fichier /etc.bind/named.conf.local 23 C'est le fichier d'une zone. Diapo suivante
Fichier /etc/bind/zone.test Le nom de la zone est «mazone.org» Le type de serveur est «master» /etc/bind/db.mazone est le fichier qui définit la zone Le fichier /etc/bind/db.mazone contient les informations qui définissent la zone. 24
Fichier /etc/bind/db.mazone 25
Les champs d'une zone $TTL, permet de définir, en secondes et dans un intervalle qui va de 0 à 2147483647, soit,près d'une dizaine d'années, le délai maximum pendant lequel un enregistrement pourra être gardé en cache. Avec 604800, le cache sera vidé, et les fichiers relus, après une semaine (604800 ==> 7 jours). le @ au début de l'enregistrement est une manière simplifiée de définir la zone, ici "mazone.org". Le IN corresponds à Internet (utiliser des adresses IP) 26
Les champs d'une zone(suite) SOA pour start or autority, qui définira le nom du serveur(rachid.mazone.org.), l'adresse électronique de l'administrateur(root.mazone.org.). L'option <Serial> est incrémentée chaque fois que vous changez le fichier de zone afin que named sache qu'il doit recharger cette zone. <Refresh> dit à tout serveur esclave combien de temps attendre avant de demander au serveur de noms maître si des changements ont été effectués dans la zone. La valeur <Serial> est utilisée par le serveur esclave pour déterminer s'il est en train d'utiliser des données périmées ou s'il doit les rafraîchir. 27
Les champs d'une zone(suite) L'option <Retry> informe le serveur de noms esclave de l'intervalle à attendre avant d'émettre une autre requête de rafraîchissement, au cas où le serveur de noms maître ne répondrait pas. Si le serveur maître n'a pas répondu à une requête de rafraîchissement avant que <Expire> ne soit écoulée, alors le serveur esclave cesse de répondre L'option <Negative Cache TTL > demande que d'autres serveurs de noms placent en cache les informations pour cette zone pendant au moins cette période. 28
Les champs d'une zone(suite) NS (name server) : le nom du serveur de nom A :une adresse IP classique CNAME (Canonical Name) :qui dit au serveur de noms qu'un nom donné est aussi connu qu'un autre (www corresponds à houda) 29
Les champs d'une zone(suite) D'après cette configuration nous avons les correspondances suivantes: 30