Vous êtes sur la page 1sur 17

20/11/2011

DNS
BOUYAHI Mohamed medbouyahi@gmail.com

Plan

Gnralits

Configuration de base du serveur

Gestion de zone DNS

20/11/2011

Gnralits
1. Concept de zones DNS Le nombre denregistrement DNS ne permettrait par leur gestion sans aucune forme dorganisation (cela reviendrait voir un fichier hosts contenant des millions de lignes). Leur organisation hirarchique tait donc indispensable, et cest la raison dtre des zones DNS. Chaque niveau de la hirarchie est une zone. Chaque arborescence est un domaine. On a arbitrairement cre une zone appele . (point), qui est la racine de la hirarchie, et qui contient tous les tld : top level domain (domaine de niveau suprieur). Les tld sont les extensions bien connues telles que com, fr, net, be, etc. toutes les domaines que nous connaissons et utilisons sont des sous-arborescences des tld.

Gnralits
Dans lexemple prcdant, la zone France contient les sous-zones rhone, nord et idf. Mais on peut aussi dire que la zone . contient les sous-zones fr, com et edu. Les zones situes hirarchiquement sous une zone sont appeles zone enfant . Lintrt de cette organisation est de ddier un serveur (en fait au moins deux pour des raisons de tolrance de pannes) la gestion dune zone. Et comme la hirarchie DNS est virtuellement illimite, en largeur comme en profondeur, un serveur DNS ne gre en fait quune petite portion de lespace de nom. Toujours dans notre exemple, si un serveur DNS hberge les donnes de la zone france, il est consult pour toute rsolution de nom se terminant par france.fr , mais il nhberge pas ncessairement les donnes des zones rhone, nord et idf, et peut se contenter de rediriger la requte vers le serveur de la zone enfant. On parle alors de dlgation dans le sens o on dlgue la gestion dune zone enfant un autre serveur. Pour des raisons de tolrance de panne, les donnes de chaque zone DNS doivent tre rpliques au moins une fois, cest--dire exister au moins deux exemplaires. Un serveur aura autorit sur la zone et sera responsable des mises jour. On dit quil est SOA : Start Of Authority. Les zones hberges sur ce serveur sont de type master, et ceux qui hbergent une rplique de la zone sont configurs en tant que slave.

20/11/2011

Gnralits
2. Mcanisme de la rsolution de nom Quand une application dune machine doit faire une rsolution de nom, elle sadresse au composant resolver de son systme dexploitation. Le resolver va alors envoyer une requte de rsolution de nom au serveur DNS rfrenc sur cette machine. Les requtes de client serveur se font sur le port 53 et sont transportes par le protocole UDP. Si le serveur interrog dispose localement de linformation, il rpond directement. On dit quil fait une rponse authoritative (autoritaire). Si le serveur interrog ne dispose pas de linformation, il va consulter la seule zone quil connait, la zone . , qui lui donnera ladresse dun des 13 serveurs racines de linternet. Le serveur interrogera alors ce serveur racine pour connaitre ladresse dun serveur de la zone du tld : top level domain (domaine de premier niveau). Lequel serveur sera interrog son tour connaitre ladresse dun serveur de nom grant la zone directement sous le tld. Enfin, ce serveur sera interrog pour savoir sil dispose de lenregistrement voulu dans ce domaine.

Gnralits

Schma simplifi de la rsolution de nom: 1. Le client son serveur de rfrence (fournisseur daccs ou serveur local) : quelle est ladresse pour le nom www.abc.fr? 2. Le serveur local un serveur racine : donne-moi ladresse dun serveur connaissant la zone fr. 3. Tiens, le serveur ladresse 193.176.144.6 pourra te renseigner. Il possde les informations de la zone fr. 4. Le serveur local au serveur de la zone fr : donne-moi ladresse dun serveur connaissant la zone abc.fr.
6

20/11/2011

Gnralits
5. Tiens : le serveur ladresse 213.41.120.195 pourra te renseigner. 6. Le serveur local au serveur de la zone abc.fr : possde-tu un enregistrement www dans ton domaine abc.fr? 7. Oui, voici son adresse IP : 62.193.202.6. 8. Le serveur local la station cliente : tu mas demand www.abc.fr et son adresse IP est 62.193.202.6.

Gnralits
3. Les enregistrements Les zones nayant quun rle structurant, il faudra pour assurer les rsolutions de nom crer des enregistrements qui feront correspondre un nom une adresse IP ou une autre information. Ces enregistrements sont appels Ressources Records (enregistrement de ressources), souvent nots RR et constituent les informations fondamentales du DNS. Le FQDN, Fully Qualified Domain Name (Nom de Domaine Pleinement Qualifi) reprsente le nom dhte, avec toute son arborescence parente, jusqu la zone . . Par exemple, www.saintmarcelin.fr reprsente lenregistrement www dans la zone saintmarcelin.fr, fr tant la dernire zone avant la zone point. Quand on ne veut aucune ambigut quant la nature dun nom DNS, on reprsente le FQDN avec la zone point matrialise, cest--dire quon crit un point comme dernier caractre du FQDN. On obtient donc www.saintmarcelin.fr.. Cette notation est courante, voire indispensable dans les fichiers de configuration du serveur DNS. Le systme DNS a pour vocation premire dassurer un service de rsolution de nom. Cest--dire de faire correspondre un nom dhte une adresse IP. Ses crateurs ont toutefois prvu que le systme DNS serait capable dassurer la rsolution pour diffrents types de noms et damliorer ainsi la finesse du service.
8

20/11/2011

Gnralits
a. Enregistrement de type A Cest lenregistrement qui fait correspondre une adresse IP un nom. Par exemple quand on tape http://www.site.fr, www est un enregistrement de type A dans la zone site.fr. il correspond une adresse IP qui est celle du serveur web hbergeant le site en question. Rsolutions dans la zone domaine.fr www 82.25.120.5 support 125.12.43.2 vpn 82.25.120.6 b. Enregistrement de type AAAA Rcent mais de plus en plus frquent. Cet enregistrement fait correspondre un nom une adresse IPv6. Rsolutions dans la zone domaine.fr www support 2001:610:12:123a:28:15ff:fed9:9fd6 2001:610:12:123a:28:15ff:fed9:9fd6
9

Gnralits
c. Enregistrement de type PTR Pointer, le contraire de A. si les enregistrements de type A font correspondre une adresse IP un nom dhte, les PTR font exactement le contraire. Ils existent dans des zones un peu particulires nommes IN-ADDR.ARPA. Le nom normalis de la zone sera form par les octets de la partie rseau de ladresse IP ordonns en sens inverse, suivi de la chane de caractres .in-addr.arpa. . Rsolutions dans la zone 1.168.192.in-addr.arpa 10 15 serveur1.entreprise.local (pour serveur1.entreprise.local printer1.entreprise.local (pour printer1.entreprise.local) 192.168.1.10) 192.168.1.15)

Rsolutions dans la zone 85.in.addr.arpa 25.8.92 29.123.65 www.abc.fr (pour www.abc.fr 85.92.8.25) 85.65.123.29)

www.def.net (pour www.def.net

10

20/11/2011

Gnralits
d. Enregistrement de type CNAME Canonical Name (alias ou surnom). Ce type denregistrement fait correspondre un nom un autre nom. Par exemple si vous crez un serveur web pour les usages internes de votre entreprise sur un serveur existant qui sappellerait production1.maboite.com , vous pouvez crer un CNAME intranet plus intuitif pour les utilisateurs. Rsolutions dans la zone maboite.com intranet production1 imprimante1 printer1 e. Enregistrement de type MX Mail Exchanger (indicateur de serveur de messagerie pour un domaine). Ce type denregistrement fait savoir des agents de transfert de messagerie quel est le serveur destinataire final dun courriel. Lexemple ci-dessous est titre dillustration et ne prsage pas du format dun enregistrement MX. Rsolution dans la zone domaine.fr @domaine.fr smtp.domaine.fr 82.25.120.6

11

Gnralits
f. Enregistrement de type SOA Star Of Authority (dbut dautorit). Indique le serveur ayant la responsabilit de la zone. Toute zone fonctionnelle a un enregistrement SOA. Rsolution dans la zone domaine.fr domaine.fr ns.hebergeur.net

g. Enregistrement de type NS Name Server (serveur de nom). Indique les serveurs de noms pour la zone. Toute zone fonctionnelle a au moins un enregistrement NS. Rsolution dans la zone domaine.fr domaine.fr ns.hebergeur.net

12

20/11/2011

Gnralits
4. DNS sur Linux a. Le serveur DNS Les services DNS sexcutant sur linux sont presque exclusivement bass sur le logiciel BIND (Berkeley Internet Name Domain). Comme son nom lindique, il a t conu dans luniversit de Berkeley en Californie. Les premiers dveloppements datent des annes 80 et son maintien est actuellement assur par lInternet System Consortium (ISC), une association but non lucratif qui gre un certain nombre de logiciels structurants de linternet et des rseaux locaux. Si des alternatives existent lusage de BIND pour la rsolution de noms sur Linux (maradns, djbdns par exemple). b. Le client DNS Les machines Linux disposent nativement dun client DNS appel resolver. Toute application fonctionnant sur Linux et ayant besoin de faire une requte DNS sappuiera sur ce composant. Il exploite le fichier de configuration simple /etc/resolv.conf. Format simplifi du fichier /etc/resolv.conf search domaine domain domaine nameserver A.B.C.D 13

Gnralits

Fichier /etc/resolv.conf : directives et variables utilises search Facultatif : indique le suffixe de recherche employ sur le poste Linux. Permet de ne pas taper lintgralit du FQDN dans les applications. Le fichier /etc/resolv.conf admet plusieurs domaines de recherches prciss par search Facultatif et obsolte : indique un suffixe de recherche unique employ sur le poste Linux. Le FQDN du domaine constituant le suffixe de recherche Indique ladresse IP du serveur DNS qui assurera les rsolutions. Le fichier /etc/resolv.conf admet plusieurs serveurs DNS prciss par nameserver.

domain domaine nameserver

14

20/11/2011

Configuration de base du serveur


1. Fonctionnement du serveur BIND Le serveur DNS BIND repose sur un excutable named et sur un fichier de configuration named.conf a. Structure du fichier named.conf et principaux lments de configuration Ci-dessous un exemple gnrique de fichier named.conf. Les sous-fichiers sont alors appels par la directive include. Le rle principal du fichier est de dcaler les zones qui seront gres par ce serveur, mais galement de prciser tout lment de configuration. Format simplifi de named.conf include /chemin/fichier; Options { directory /chemin/repertoiredetravail; forwarders {A.B.C.D }; }; Zone NOMDEZONE1 {type type; file /chemin/nomfichier1;}; Zone NOMDEZONE2 {type type; file /chemin/nomfichier2;};
15

Configuration de base du serveur


Fichier named.conf : principales directives utilises include Indique le nom dun sous-fichier de configuration. vite davoir un fichier named.conf trop grand pour tre administr confortablement. Conteneur pour certains mots-cls, notamment directory et forwarders. Dans une directive option. Indique le rpertoire utilis pour le stockage sur disque des donnes de cache du serveur. Plac dans une directive option pour les configurations simples (redirection inconditionnelle). Si le serveur ne dispose pas dans ses fichiers de a rsolution demande, renvoyer la demande vers le serveur dont ladresse IP est donne en rfrence. Conteneur pour le nom dune zone DNS gre par le serveur Dans une directive zone. Indique le type de zone stocke. Les principales valeurs sont hint (serveur racine), master (serveur matre dune zone), et slave (rplique depuis un master). Dans une directive zone. Indique le fichier contenant les informations de zone.
16

options directory forwarders

zone type

file

20/11/2011

Configuration de base du serveur


b. Les fichiers de dfinition de zone pr-installs Selon les implmentations, un certain nombre de zones sont prsentes par dfaut linstallation du serveur pour assurer un fonctionnement standard et permettre les rsolutions courantes. Par exemple, la zone localhost qui permet de rsoudre le nom localhost en 127.0.0.1, y compris au sein du service DNS et pas seulement dans le fichier hosts. Ces fichiers de zone sont cres linstallation, et correctement rfrencs dans le fichier named.conf. Exemple de fichier named.conf sur une distribution Debian : Notez la dclaration des zones par dfaut, ainsi que lappel de deux sous-fichiers de configuration appels par la directive include.

17

Configuration de base du serveur


Include "/etc/bind/named.conf.options"; options { directory "/etc"; pid-file "/var/run/named/named.pid"; forwarders { 192.168.40.128; }; }; zone "." { type hint; file "/etc/bind/db.root"; }; zone "poly.org" { type master; file "/var/named/poly.org.hosts"; }; zone "40.168.192.in-addr.arpa" { type master; file "/var/named/192.168.40.rev"; };

18

20/11/2011

Configuration de base du serveur


2. Serveur de cache Un serveur DNS de cache assure une rsolution de nom, mais nhberge aucune donne de rsolution locale et sappuie sur une infrastructure dj existante. Il se contente de relayer les demandes vers dautres serveurs. Ce faisant, ce serveur mettra en cache pour une dure dtermine toutes les rsolutions enregistres. Par dfinition, un serveur de cache ne dispose pas localement de zones DNS personnalises. Cest--dire quil nassurera pas lui-mme de rsolution de type quelle est ladresse IP correspondant au nom www.sitegenial.com? : il nhberge tout simplement pas ce type dinformation, et devra pour rpondre aux requtes sen remettre dautres serveurs mieux renseigns. a. Configuration du serveur de cache Cest la bonne nouvelle : un serveur BIND frachement install est naturellement un serveur de cache. Il ny a donc pas de configuration particulire raliser.

19

Configuration de base du serveur


b. Redirection Nous savons quun serveur de cache nhberge pas localement denregistrements de ressources. Sil doit faire une rsolution, il va sadresser aux seuls serveurs quil connaisse, savoir les serveurs racine. Cette mthode de rsolution nest pas forcment la plus rapide, et on pourrait souhaiter tirer parti du cache de serveurs dj en fonctionnement, comme ceux dun hbergeur ou dun fournisseur daccs. Il faut pour cela indiquer notre serveur ladresse dautres serveurs vers lesquels il pourra rediriger ses requtes. Ces type de redirection est appel inconditionnelle car toutes les rsolutions non lourdes sont rediriges. Configuration de la redirection dans named.conf Options { forwarders { A.B.C.D;};}; Fichier named.conf : directives utilises pour la redirection options forwarders Annonce la section options dans le fichier named.conf. Les redirections inconditionnelles sont annonces dans une section options. Dans une directive options. Annonce la ou les adresse(s) IP du ou des redirecteur(s).
20

10

20/11/2011

Configuration de base du serveur


3. Commande de pilotage rndc Comme tous les services Unix ou Linux, BIND est lanc ou arrt par un script dans /etc/init.d. par une gestion prcise du service, on dispose dune commande de pilotage : rndc. Cette commande associe quelque mots-cls permet de transmettre au serveur diverses instructions. Il nest pas obligatoire dutiliser rndc dans le cadre dune administration courante. Mais alors toute modification dun fichier de configuration quel quil soit imposerait le redmarrage complet du service, et donc son interruption temporaire. rndc devrait donc tre utilis systmatiquement, surtout si le serveur gre un grand nombre de zones, comme cest le cas pour un hbergeur par exemple. Syntaxe rndc action [paramtre] Commande rndc : actions possibles reload reload zone zone reconfig Recharge les fichiers de configuration et les informations de zone. Recharge les fichiers dune zone unique. Charge les fichiers de configuration pour les nouvelles zones uniquement.
21

Gestion de zone DNS


flush flush zone status 1. Gestion de zones locales a. Cration dun fichier de zone directe Les informations ncessaires la rsolution devront se trouver dans un fichier de dclaration de zone. Lemplacement de ce fichier est libre, puisquil est dfini dans une zone de named.conf. Toutefois, un usage tabli veut que ce fichier soit plac dans le rpertoire /var/named. Notez que selon les distributions, il peut aussi se trouver dans le rpertoire /etc ou dans /etc/bind. Ce fichier aura le format trs strict indiqu ci-dessous. Dans la plupart des cas, un refus de dmarrer est d un fichier de zone mal form. Il est compos des dclarations de dure de vie en cache des informations, du serveur ayant autorit sur la zone, des serveurs de noms desservant cette zone, et de lensemble des enregistrements de ressources (RR) de cette zone. Format type du fichier de zone directe
22

Efface le cache du serveur. Efface le cache du serveur pour la zone spcifie. Affiche ltat du serveur

11

20/11/2011

Gestion de zone DNS


$ttl ttl nomzone IN SOA serveur mailadmin ( serial refresh retry expire negative ) NS serveur

nomzone ttl

IN

Fichier de zone directe : format type de len-tte Time To Live (dure de vie) : indique la dure de conservation en secondes des donnes en mmoire cache. Cette valeur est prcde par la directive $TTL FQDN de la zone gre par ce fichier. Souvent remplac par un arobase (@) pour allger le fichier. Attention, puisquil sagit dun FQDN, le nom de la zone doit se terminer par un point. Obsolte mais courant : classe Internet (aucune autre classe nest plus utilise). Start Of Authority. Enregistrement obligatoire pour indiquer que ce serveur est lgitime sur cette zone.
23

nomzone

IN SOA

Gestion de zone DNS


serveur mailadmin FQDN du serveur ayant autorit sur la zone. Adresse e-mail de ladministrateur du serveur. Larobase tant un caractre rserv dans les fichiers de zone, il est conventionnellement remplac par un point. admin@saintmarcelin.fr devient donc admin.saintmarcelin.fr. Valeur numrique. Numro de srie du fichier. Utile quand la zone est rplique sur dautres serveurs pour savoir si les donnes ont chang et si la rplication doit tre faite. Valeur numrique. Utilis quand la zone est rplique. Indique au serveur esclave quel intervalle tester la validit de sa zone. Valeur numrique. Utilis quand la zone est rplique. Sil est impossible pour lesclave de contacter le serveur matre, indique au bout de combien de temps ressayer. Valeur numrique. Utilis quand la zone est rplique. Sil est impossible pour lesclave de contacter le serveur matre, indique au bout de combien de temps les enregistrements non rafrachis perdent leur validit et ne doivent plus tre utiliss. Valeur numrique. Indique combien de temps le serveur doit conserver en cache une rponse ngative. 24

serial

refresh retry

expire

negative

12

20/11/2011

Gestion de zone DNS


NS Enregistrement indiquant quel est le serveur de nom pour cette zone.

b. Cration dun fichier de zone inverse Le fichier de zone inverse aura la mme structure quun fichier de zone directe. Comme indiqu plus haut, le nom normalis de la zone est form par les octets de la partie rseau de ladresse IP ordonnes en sens inverse, suivi de la chane de caractre .in-addr.arpa . Par exemple, la zone inverse pour le rseau 192.168.99.0 sera : 99.168.192.in-addr.arpa, et cest ce nom qui devra tre employ dans le fichier de zone et dans le fichier named.conf. Format type de fichier de zone inverse $ttl ttl nomzone IN SOA serveur mailadmin ( serial refresh retry expire negative ) NS serveur
25

nomzone

IN

Gestion de zone DNS


Fichier de zone inverse : format type de len-tte nomzoneinv Nom normalis de la zone inverse : subnet-invers.in-addr.arpa. O subnet-invers reprsente les octets du subnet en ordre invers. Attention, le nom de la zone inverse est un FQDN, il doit donc se terminer par un point. Start Of Authority. Enregistrement obligatoire pour indiquer que ce serveur est lgitime sur cette zone. FQDN du serveur ayant autorit sur la zone. Enregistrement indiquant quel est le serveur de nom pour cette zone.

SOA serveur NS

Constatez que cest rigoureusement la mme chose que pour la zone directe. Cest le format des enregistrements qui fait lessentiel de la diffrence. c. Cration denregistrement dans les fichiers de zone Une fois les fichiers de zone cres, il suffit dajouter autant denregistrement de ressource que lon souhaite, raison dun par ligne.

26

13

20/11/2011

Gestion de zone DNS


Format dun enregistrement de ressource dans un fichier de zone directe Nom IN typeRR valeur-rsolue Format dun enregistrement de ressource dans un fichier de zone inverse adresse-hte IN PTR nom Fichier de zone directe : format des enregistrements nom IN typeRR valeur-rsolue adresse-hte PTR Nom simple ou FQDN auquel il faut faire correspondre une adresse IP. Obsolte mais ncessaire : classe Internet Type denregistrement. Souvent de type A : fait correspondre une adresse IP un nom. Valeurs courantes : A, CNAME, MX. Ce quoi on fait correspondre le nom. Dans le cas dun enregistrement de type A, une adresse IP. Loctet ou les octets qui associs ladresse du rseau de la zone inverse formeront ladresse IP rsoudre. Type pointeur : fait correspondre un nom une adresse IP. Hors enregistrements SOA et NS, cst le seul type quon rencontre dans les zones inverses.
27

Gestion de zone DNS


d. Dclaration de zone principale dans le fichier named.conf Une fois que lon dispose dun fichier de zone, il faut faire savoir au serveur quil doit le charger au dmarrage. Ceci se fera avec une dclaration de zone normalise dans le fichier named.conf. Format type de la dclaration de zone dans named.conf zone " nomzone" { type master; file "fichier " ; };

28

14

20/11/2011

Gestion de zone DNS


Fichier named.conf : directives et syntaxe de la dclaration de zone nomzone type master fichier Le FQDN de la zone gre par le serveur. Prcise quil sagit dune zone matresse synchroniser ventuellement vers des serveurs esclaves. Chemin absolu du fichier lire pour prendre connaissance des lments propres la zone (configuration, RR, etc.).

e. Prise en compte de la nouvelle configuration Il faut ensuite faire en sorte que le serveur DNS recharge ses fichiers de configuration afin de prendre en compte les nouveauts. Deux solutions pour cela : le redmarrage du service ou le chargement de la nouvelle zone par commande de pilotage rndc. Rechargement du service /etc/init.d/bind9 restart

29

Gestion de zone DNS


Chargement de la nouvelle zone par rndc rndc reload saintmarcelin.fr 2. Gestion de zones secondaires Une zone DNS ne devrait pas dpendre dun serveur unique et il est courant de crer sur un deuxime serveur des zones secondaires, strictement identiques aux zones primaires, et synchronises intervalles rguliers. a. Dclaration de la zone secondaire dans named.conf Il nest videment pas ncessaire de crer les fichiers de zones, puisquils seront synchroniss depuis le serveur autoritaire. On parle couramment de serveur matre et de serveurs esclaves. Le chargement de la zone esclave se fait avec une dclaration de zone normalise dans le fichier named.conf Format type de la dclaration de zone secondaire dans named.conf

30

15

20/11/2011

Gestion de zone DNS


zone " nomzone" { type slave; masters { file "fichier " ;

adresse_matre; };

};

Fichier named.conf : directives et syntaxe de la dclaration de zone nomzone type slave adresse_matre fichier Le FQDN de la zone gre par le serveur. Prcise quil sagit dune zone esclave synchroniser depuis un serveur matre. Adresse IP du serveur autoritaire. Chemin absolu du fichier dans lequel stocker les lments synchroniss. Le compte de service doit avoir les droits dcriture sur le rpertoire de travail.

b. Prise en compte de la nouvelle configuration Il faut ensuite faire en sorte que le serveur DNS recharge ses fichiers de configuration afin de prendre en compte les nouveauts. Deux solutions pour cela : le redmarrage du service ou le chargement de la nouvelle zone par commande de pilotage rndc.
31

Gestion de zone DNS


Rechargement du service /etc/init.d/bind9 restart chargement de la nouvelle zone par rndc rndc reload saintmarcelin.fr 3. Dlgation de zone Une dlgation de zone consiste faire grer par un serveur tiers une zone enfant dune zone hberge par un serveur parent. Cest le principe de la dlgation qui permet de distribuer lensemble de lespace de nom DNS sur des milliers de serveurs. La dlgation se configurera sur le serveur parent. On ajoutera dans le fichier de zone du parent deux Ressources Record : lun de type NS pour indiquer quil existe un serveur de nom pour la zone enfant, et lautre de type A pour cannatre ladresse IP de ce serveur de nom. Lenregistrement NS assurant la dlgation est appel glue record (enregistrement colle).

32

16

20/11/2011

Gestion de zone DNS


Configuration de la dlgation dans le fichier de la zone parente zone_enfant IN NS dns_enfant dns_enfant IN A A.B.C.D Elments zone_enfant IN NS dns_enfant A A.B.C.D Nom simple de la zone enfant. Obsolte mais obligatoire : classe internet. Cet enregistrement est de type Name Server (serveur de nom). Nom du serveur DNS qui gre la zone enfant. Cest un enregistrement de type A. Adresse IP du serveur de nom pour la zone enfant.

33

17