500 likes | 632 Views
Domain Name Service (DNS). FOSSOUO Xavier (AUF) Xavier.fossouo@auf.org. 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.
E N D
Domain Name Service (DNS) • FOSSOUO Xavier (AUF) • Xavier.fossouo@auf.org
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 DNS inverse Autres RR:CNAME, MX, TXT, AAAA PLAN
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 sonnuméro IP (résolution inverse) • identifier un groupe de machines ayant des ressources réseau communes (relais de messagerie, …)
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 adresse ip 192.134.4.17 • nom de machine : www.afnic.asso.fr adresse ip 192.134.4.11 • nom de machine : www.nic.fr adresse ip 192.134.4.11 • adresse IP : 192.134.4.11 www.afnic.asso.fr www.nic.fr • Une information dans le DNS indique vers quelle machine diriger le courrier électronique : • Jean.Dupont@afnic.asso.fr relay1.afnic.asso.fr adresse ip 192.134.4.17
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
Introduction (suite) • Après 1984 : Domain Name SystemPaul 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
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/DNS.html • http://www.nic.fr/Formation/ • Livres • DNS and BIND (Paul Albitz & Cricket Liu)
org auf m1 Les noms de domaine Un nom de domaine est est la séquence de labels depuis le noeud de l’arbre correspondant jusqu’à la racine M1.auf.org Deux noeuds fils ne peuvent avoir le même nom ==> unicité d’un nom de domaine au niveau mondial
Domaine complet org Domaine org auf Domaine AUF refer m1 Le domaine Un domaine est un sous-arbre de l’espace nom de domaine noeud m1.auf.org Des noeuds peuvent avoir les mêmes noms dans des domaines différents : ns.auf.org et ns.refer.org
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 Une Zone : est la partie descriptive pour un niveau donnée. 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 DNS; 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 sous-domaines 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.
Hiérarchie des domaines Le système DNS impose peu de règles de nommage : • noms < 63 caractères • majuscules et minuscules non significatives • pas de signification imposée pour les labels
Hiérarchie des domaines (suite) Le premier niveau de l’espace DNS fait exception à la règle : • 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 • arpa : domaine reservé à la résolution de nom inversée • organisations nationales : cm, fr, uk, de, it, us, au, ca, se, etc.
Hiérarchie des domaines (suite) • Nouveaux domaines racine en cours de normalisation: • firm, store, web, arts, rec, info, nom • Certaines organisations nationales peuvent être gérées administrativement par un consortium : RIPE • Les divisions en sous-domaines existent dans certains pays et pas dans d’autres : • edu.au, com.au, etc. • co.uk, ac.uk, etc. • ca.ab, ca.on, ca.gb • pas de division du .fr, .cm
domaine org (.org) domaine de l’organisation REFER sous-domaine refer machine www du domaine cm.refer.org 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
BIND (The Berkeley Internet Name Domain) • BIND est un serveur de nom pour Unix • Implémente le Domain Name System (DNS): 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 DNS.
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 DNS: 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 DNS pour trouver l’adresse de www.cm.refer.org • Réception d’une demande de connexion par telnet =>requête au DNS par le serveur telnetd pour connaître le nom de la machineappelante.
$ telnet m1.centralweb.fr DNS Demande de résolution m1.centralwebfr ???? serveur DNS client Telnet Réponse 193.148.37.201 serveur DNS 193.148.37.201 serveur Telnetd serveur DNS
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).
Types de serveurs de noms (suite) • 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.
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
Configuration du résolveur Le résolveur c’est le client DNS. Il interroge les serveurs DNS pour obtenir les informations. • Configuration du résolveur: /etc/resolv.conf
Configuration du résolveur (suite) Les principales valeurs acceptées par le fichier /etc/resolv.conf: - nameserver adresse: adresse des serveurs de noms (max=3) • domain nom: domaine par défaut • search domain: domaines de recherche
Configuration de named Plusieurs fichiers sont utilisés: • 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.
Configuration de named (suite) • named.ca: pointeurs sur les serveurs du domaine racine (ou named.root, root.cache,…). • named.local: résolution locale des adresses loopback • named.hosts: fichier de zone qui fait correspondre nom de machine et adresse IP • named.rev: fichier de zone inverse qui fait correspondre adresse IP et nom de machines; PS: utiliser des noms significatifs à la place denamed.hosts et named.rev
/etc/named.conf Ce fichier remplace /etc/named.boot pour les version 8 de BIND. Un script de conversion (named-bootconf) est fourni pour convertir un fichier /etc/named.boot en /etc/named.conf
named.conf (serveur primaire et cache) Options { directory « /var/named »; //répertoire des données }; • // cache des serveurs de la racine • zone «.» in { type hint; file «root.cache»; }; // zone primaire du reverse loopback zone «0.0.127.in-addr.arpa» { type master; file «named.local»; };
named.conf (serveur cache esclave) options { directory «/usr/local/bind/data»; //rép. des //données }; zone «.» { // cache des serveurs de la racine type hint ; file «root.cache»; }; zone «0.0.127.in-addr.arpa» { type master; file «named.local »; };
/etc/root.cache (ou named.ca) • Fichier des serveurs de la racine • permet de démarrer la résolution d ’une requête si le serveur n’a aucune information • contient la liste des serveurs de nom et leur numéro IP • primaire : A.ROOT-SERVERS.NET. • une quinzaine de serveurs secondaires à travers le monde • peut être générer de la façon suivante :dig @a.root-servers.net . ns > root.cache
/etc/root.cache (ou named.ca) ;; Cache file: . IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. IN A 198.41.0.4 . IN NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. IN A 128.9.0.107 . IN NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. IN A 192.33.4.12 . IN NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. IN A 128.8.10.90 . IN NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. IN A 192.203.230.10 . IN NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. IN A 39.13.229.241 . IN NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. IN A 192.112.36.4 . IN NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. IN A 128.63.2.53 . IN NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. IN A 192.36.148.17
/etc/named.local • @ IN SOA localhost. root.localhost. ( • 1997022700 ; Serial • 28800 ; Refresh • 14400 ; Retry • 3600000 ; Expire • 86400 ) ; Minimum • IN NS localhost. • 1 IN PTR localhost.
Les Resource Records (RR) • Le RR est un enregistrement dans la base de données du DNS • Un RR par ligne • Zone IN SOA … Informations relatives à une zone. • Zone IN NS serveur indique le nom d’un serveur pour une zone • Nom IN A adresse indique l’adresse IP d’une machine • Nom IN MX pref relais indique que la mail destiné à Nom doit être envoyé à la machine relais avec une préférence pref. • Alias IN CNAME Nom Alias pour une machine • Adresse IN PTR Nom Nom correspondant à une adresse IP
Le RR SOA (Start Of Authority) Nom IN SOA Origine Responsable Information • Nom: nom de la zone • Origine: nom du serveur primaire de la zone • Responsable: adresse électronique de la personne qui gère cette zone. Attention, le @ est remplacé par un point. • Information: 5 valeurs, respectivement
Le RR SOA (suite) • 1. N° de version de ce fichier • 2. Temps de rafraichissement: fréquence à laquelle un secondaire interroge un primaire pour savoir si la base a été modifiée. • 3. Réessai: fréquence des ré-essai en cas d’échec d’un refresh. • 4. Expiration: temps maximum pendant lequel un secondaire garde une info qui n’a pas pu être rafraîchie. • 5. Durée de vie: (time to live) pour les RR de cette zone dans les caches des serveurs DNS qui n’ont pas autorité sur cette zone.
Le RR SOA: un exemple (fin) ; Database file cm.refer.org.db for cm.refer.org zone. ; cm.refer.org IN SOA ns.cm.refer.org fossouo.cm.refer.org. ( 64 ; serial number 3600 ; refresh 600 ; retry 86400 ; expire 3600 ) ; minimum TTL
L’Enregistrement NS • spécifie les serveurs de nom ayant autorité sur ce domaine ; ; cm.refer.org. IN NS ns.cm.refer.org. cm.refer.org. IN NS aupelf.refer.org. @ IN NS ns2.cm.refer.org.
Enregistrements A ; Spécifie les adresses des machines: cm.refer.org. IN A 195.24.200.194 aupelf.refer.org. IN A 193.104.62.2 $ORIGIN cm.refer.org. ns IN A 195.24.200.194 ns2 IN A 195.24.200.195 www IN A 195.24.200.202 routeur IN A 195.24.200.193 modem1 IN A 195.24.200.206
Création d’une zone Les grandes étapes • Installer le fichier /etc/named.conf • Créer le fichier de zone ( dans /var/named, /var/cache/bind, …) • Relancer le serveur DNS (named, bind,…)
TP1 • Créer une zone • Tester la zone (dig, nslookup)
Création d’une zone esclave • Dans /etc/named.conf zone «inria.fr» { // zone secondaire type slave; file «db.inria.fr»; masters {192.1.1.1 ; }; }; • Relancer named
TP2 • Créer des zones esclaves (se faire serveur secondaire de son voisin)
Enregistrements CNAME (alias) ; spéciifie les alias pour un nom ftp IN CNAME ns mail IN CNAME ns pop IN CNAME ns smtp IN CNAME ns
L’Enregistrement MX • MX = Mail eXchanger • Permet l’adressage Email sur la base du nom de domaine plutôt que sur l’adresse du (des) serveur(s) de mail : • fossouo@cm.refer.org plutôt que fossouo@smtp.cm.refer.org • L’enregistrement MX est consulté par les mailers (SMTP client) • Tient compte des priorités; exemple cm.refer.org. IN MX 5 smtp.cm.refer.org. cm.refer.org. IN MX 10 smtp.fr.refer.org.
Résolution inverse • Consiste a obtenir le nom de domaine à partir de l’adresse IP • pour faciliter la compréhension des humains • pour des raisons de sécurité • Plus délicate que nom -> IP car le système DNS est organisé pour la résolution de nom
Résolution inverse (suite) • Solution: utiliser les adresses comme des noms : • le domaine in-addr.arpa • les noms des noeuds correspondent aux octets de l’adresse IP en ordre inverse • le domaine in-addr.arpa a 256 sous-domaines, • chacun de ces sous-domaines a 256 sous-domaines, • chacun de ces sous-domaines a, à son tour, 256 sous-domaines, • le 4ème niveau correspond à un NS connaissant le nom de domaine associé à cette adresse IP
arpa in-addr 195 255 0 24 255 200 255 ns.cm.refer.org 194 255 Résolution inverse (suite)
Résolution inverse (fin) • le nom de domaine associé à la résolution inverse est noté selon l’adresse IP inversée : • car la résolution d’un nom de domaine se fait de droite à gauche • exemple : 194.200.24.195.in-addr.arpa • résolution : • in-addr.arpa -> A.ROOT-SERVER.NET • 195.in-addr.arpa -> NS.RIPE.NET • 24.195.in-addr.arpa -> NS.RIPE.NET • 200.24.195.in-addr.arpa -> ??? • 194.200.24.195.in-addr.arpa -> set type=PTR ns.cm.refer.org
TP3 • Créer la zone inverse des zones précédemment créées.
Enregistrement d’une zone • Network Solutions : .com, .net, .org • http://www.networksolutions.com • APNIC : Asie Pacifique NIC • http://www.apnic.net • IANA : .us (rfc 1480), .edu, .gouv (Etats-Unis), • http://www.isi.edu/in-notes/usdnr/ • Une liste des autres NIC européens et mondiaux : • http://www.nic.fr/Guides/AutresNics/
BIBLIOGRAPHIE • TCP/IP Administration de réseau, Craig Hunt, O’Reilly, 2e édition • BIND, Roland Dirlewanger, juin 1999 • http://www.centralweb.fr • http://transfer.refer.org