Domain Name Service (DNS)
Transcription
Domain Name Service (DNS)
Domain Name Service (DNS) n FOSSOUO Xavier (AUF) n [email protected] PLAN n n n n n n n n 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 n n DNS inverse Autres RR: CNAME, MX, TXT, AAAA Introduction, le besoin n Besoin n n n 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, …) Introduction (suite) n Quelques exemples simples : n n n n n n n nom de domaine : afnic.asso.fr nom de machine : ftp.afnic.asso.fr fi adresse ip 192.134.4.13 nom de machine : relay1.afnic.asso.fr fi adresse ip 192.134.4.17 nom de machine : www.afnic.asso.fr fi adresse ip 192.134.4.11 nom de machine : www.nic.fr fi adresse ip 192.134.4.11 adresse IP : 192.134.4.11 fi www.afnic.asso.fr fi www.nic.fr Une information dans le DNS indique vers quelle machine diriger le courrier électronique : n [email protected] fl relay1.afnic.asso.fr fi adresse ip 192.134.4.17 Introduction (suite) n Jusqu’en 1984 : fichier hosts.txt => /etc/hosts n inadapté à grande échelle n n n n n n n 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) n Après 1984 : Domain Name System Paul Mockapetris - RFC 882 883 puis 1034 1035 n système hiérarchisé et distribué n n 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 n informations complémentaires : relais de messagerie, … n correspondance dynamique n limite les risques de collisions de noms Introduction (fin) n RFC’s n n Documentation n n n n 1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183, 1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137, 2181, 2308, 2535-2541 http://www.dns.net/dnsrd/ (RFC, drafts, FAQ, …) http://www.nic.fr/Guides/DNS.html http://www.nic.fr/Formation/ Livres n DNS and BIND (Paul Albitz & Cricket Liu) 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 org M1.auf.org auf m1 Deux noeuds fils ne peuvent avoir le même nom ==> unicité d’un nom de domaine au niveau mondial Le domaine Un domaine est un sous-arbre de l’espace nom de domaine Domaine complet org Domaine org Domaine AUF auf refer m1 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 : n m1.auf.org pointe vers une adresse IP n Auf.org pointe vers des informations de routage de mail et éventuellement des informations de sous-domaines n org pointe vers des informations structurelles de sousdomaines 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 : n noms < 63 caractères n majuscules et minuscules non significatives n 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 : n 7 domaines racines prédéfinis : n com : organisations commerciales ; ibm.com n edu : organisations concernant l’education ; mit.edu n gov : organisations gouvernementales ; nsf.gov n mil : organisations militaires ; army.mil n net : organisations réseau Internet ; worldnet.net n org : organisations non commerciales ; eff.org n int : organisations internationales ; nato.int n arpa : domaine reservé à la résolution de nom inversée n organisations nationales : cm, fr, uk, de, it, us, au, ca, se, etc. Hiérarchie des domaines (suite) n n n Nouveaux domaines racine en cours de normalisation: n 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 : n edu.au, com.au, etc. n co.uk, ac.uk, etc. n ca.ab, ca.on, ca.gb n pas de division du .fr, .cm Lecture des noms de domaine n A l’inverse de l’adressage IP la partie la plus significative si situe à gauche de la syntaxe : www.cm.refer.org vers le plus significatif 195.24.200.202 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 BIND (The Berkeley Internet Name Domain) n n n n 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) n n n n 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 machine appelante. $ telnet DNS m1.centralweb.fr Demande de résolution m1.centralwebfr ???? client Réponse Telnet 193.148.37.201 serveur DNS serveur DNS 193.148.37.201 serveur Telnetd serveur DNS Types de serveurs de nom n n 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 n interroge périodiquement le serveur de nom primaire et met à jour les données n Il y a un serveur primaire et généralement plusieurs secondaires n La redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s) n Un serveur de nom peut être primaire pour une (des) zone(s) et secondaire pour d’autre(s). Types de serveurs de noms (suite) n 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: n n n 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. n 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 de named.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 }; n // cache des serveurs de la racine n 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) n Fichier des serveurs de la racine n n n n n 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. IN . IN NS B.ROOT-SERVERS.NET. IN . IN NS C.ROOT-SERVERS.NET. IN . IN NS D.ROOT-SERVERS.NET. IN . IN NS E.ROOT-SERVERS.NET. IN . IN NS F.ROOT-SERVERS.NET. IN . IN NS G.ROOT-SERVERS.NET. IN . IN NS H.ROOT-SERVERS.NET. IN . IN NS I.ROOT-SERVERS.NET. IN A.ROOT-SERVERS.NET. A 198.41.0.4 B.ROOT-SERVERS.NET. A 128.9.0.107 C.ROOT-SERVERS.NET. A 192.33.4.12 D.ROOT-SERVERS.NET. A 128.8.10.90 E.ROOT-SERVERS.NET. A 192.203.230.10 F.ROOT-SERVERS.NET. A 39.13.229.241 G.ROOT-SERVERS.NET. A 192.112.36.4 H.ROOT-SERVERS.NET. A 128.63.2.53 I.ROOT-SERVERS.NET. A 192.36.148.17 /etc/named.local n @ n n n n n n n 1 IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. IN PTR localhost. Les Resource Records (RR) n n n n n n n n 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 n Nom: nom de la zone n Origine: nom du serveur primaire de la zone n Responsable: adresse électronique de la personne qui gère cette zone. Attention, le @ est remplacé par un point. n Information: 5 valeurs, respectivement Le RR SOA (suite) n n n n n 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 n spécifie les serveurs de nom ayant autorité sur ce domaine ; ; cm.refer.org. cm.refer.org. @ IN NS IN NS IN NS ns.cm.refer.org. aupelf.refer.org. ns2.cm.refer.org. Enregistrements A ; Spécifie les adresses des machines: cm.refer.org. aupelf.refer.org. IN IN A A 195.24.200.194 193.104.62.2 $ORIGIN cm.refer.org. ns ns2 www routeur modem1 IN IN IN IN IN A A A A A 195.24.200.194 195.24.200.195 195.24.200.202 195.24.200.193 195.24.200.206 Création d’une zone Les grandes étapes n n n 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 n n Créer une zone Tester la zone (dig, nslookup) Création d’une zone esclave n Dans /etc/named.conf zone «inria.fr» { // zone secondaire type slave; file «db.inria.fr»; masters {192.1.1.1 ; }; }; n Relancer named TP2 n Créer des zones esclaves (se faire serveur secondaire de son voisin) Enregistrements CNAME (alias) ; spéciifie les alias pour un nom ftp mail pop smtp IN IN IN IN CNAME CNAME CNAME CNAME ns ns ns ns L’Enregistrement MX n n n n 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 : n [email protected] plutôt que [email protected] L’enregistrement MX est consulté par les mailers (SMTP client) Tient compte des priorités; exemple cm.refer.org. IN MX 5 cm.refer.org. IN MX 10 smtp.cm.refer.org. smtp.fr.refer.org. Résolution inverse n Consiste a obtenir le nom de domaine à partir de l’adresse IP n n n 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) n Solution: utiliser les adresses comme des noms : n n n n n n 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 Résolution inverse (suite) arpa in-addr 195 0 255 24 255 200 255 ns.cm.refer.org 194 255 Résolution inverse (fin) n le nom de domaine associé à la résolution inverse est noté selon l’adresse IP inversée : n n n car la résolution d’un nom de domaine se fait de droite à gauche exemple : 194.200.24.195.in-addr.arpa résolution : n n n n n 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 n Créer la zone inverse des zones précédemment créées. Enregistrement d’une zone n Network Solutions : .com, .net, .org http://www.networksolutions.com APNIC : Asie Pacifique NIC n http://www.apnic.net IANA : .us (rfc 1480), .edu, .gouv (EtatsUnis), n http://www.isi.edu/in-notes/usdnr/ Une liste des autres NIC européens et mondiaux : n http://www.nic.fr/Guides/AutresNics/ n n n n BIBLIOGRAPHIE n n n n 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
Documents pareils
Domain Name Service
supérieur à celui des serveurs de noms secondaire, alors le processus de synchronisation
suppose que l'administrateur à apporté une modification sur le serveur maître et les bases
sont synchronisée...
Exercice DNS
quelqu'un d'autre, assurez-vous qu'il n'y a pas d'erreurs dans
`/var/log/messages` après avoir redémarré votre serveur de noms.
Vous aurez besoin d'un répertoire slave avec les permissions appropri...