DNS - Difundrum main

Transcription

DNS - Difundrum main
Dossier IRQ75 ©
BTS 2001
Domaine Name Service ( DNS )
DOMAINE NAME SERVICE ( DNS )..................................................................................................2
1.) Qu'est ce qu’un Service de Nom de Domaine ?.....................................................................2
1.1) Pourquoi utiliser un DNS..................................................................................................2
Historique......................................................................................................................2
Dans quel cas l’utiliser..................................................................................................2
1.2) Fonctionnement d’un service de nom de domaine ...........................................................3
Notion de domaine........................................................................................................3
Fonctionnement simpliste.............................................................................................3
Cache : ..........................................................................................................................4
Mode itératif ou récursif ...............................................................................................4
Notion de zone..............................................................................................................5
Contenu de zone (Enregistrement) ...............................................................................6
2.) Mise en Oeuvre d'un Service de Nom de Domaine ................................................................9
2.1) Comment installer un Service de nom de Domaine?........................................................9
2.2) Comment configurer un Service de nom de Domaine? ....................................................9
Ajout de zone..............................................................................................................10
Ajout d’enregistrement ...............................................................................................11
Résoudre les noms avec WINS...................................................................................12
Ajout de zone secondaire............................................................................................12
2.3) DNS dit Secondaire.........................................................................................................13
3.) Configuration du client .........................................................................................................13
3.1) Configuration d’un client pour qu'il utilise le service de nom de domaine ....................13
1
Dossier IRQ75 ©
BTS 2001
Domaine Name Service ( DNS )
1.) Qu'est ce qu’un Service de Nom de Domaine ?
Le DNS est une base de données, de concordance entre des adresses IP et des noms de
machines NetBIOS, distribuée. La base de données est accessible avec un mécanisme clientserveur. Un système de réplication assure une fiabilité raisonnable, tandis que des caches
augmentent la performance du système.
1.1) Pourquoi utiliser un DNS
Historique
Au début de l'Internet, celui-ci était formé de quelques machines. Elles avaient chacune une
adresse que l'on retenait facilement vu leur faible nombre (environ une dizaine).
On a ensuite donné un nom à chacune des machines, composé d'un seul mot d'au plus 32 caractères.
Un fichier hosts.txt comprenait les noms des différentes machines avec leurs adresses. Ce fichier
était mis à jour régulièrement, et chargé sur chacune des machines.
L'administrateur désirant nommer une machine envoyait un courrier électronique au responsable de
la maintenance du fichier, ce dernier effectuait la mise à jour, et publiait une nouvelle version du
fichier.
Les manipulations sur ce fichier sont peu à peu devenues trop lourdes pour gérer des
centaines de machines. Il n'était pas souvent à jour, et les modifications étaient longues à se
propager. Un nouveau système a donc du être créé, puis mis en place pour remplacer l'ancien. Ce
système devait permettre de gérer des milliers de machines, ayant des noms descriptifs, la base de
données devant être mise à jour de façon distribuée.
Dans quel cas l’utiliser
Si le réseau Windows TCP/IP n’est pas connecté à des réseaux TCP/IP non-Microsoft, il
n’est pas utile de mettre en place le DNS, WINS fournira tous les services de noms nécessaires. Le
Service de Nom de Domaine se voit utilisé pour connecter des hôtes TCP/IP à l’Internet ou à un
réseau TCP/IP non-Microsoft ou ayant des hôtes non-Windows, mais uniquement pour que des
utilisateurs extérieurs accèdent aux hôtes TCP/IP par leur nom. Si les utilisateurs extérieurs
n’utilisent pas de services hébergés sur nos ordinateurs, il n’est pas nécessaire d’identifier les hôtes
de notre réseau dans le DNS.
2
Dossier IRQ75 ©
BTS 2001
1.2) Fonctionnement d’un service de nom de domaine
La structure de la base de données est un arbre inversé. La racine se trouve au sommet,
comme dans un système de fichiers UNIX. Le haut de l'arbre porte le nom vide "" mais est souvent
écrit "." (ou racine).
Chaque nœud de l'arbre porte un label qui l'identifie par rapport à son parent. L'utilisation de
majuscules ou de minuscules est indifférente dans l'écriture des noms de labels. Seuls les lettres,
chiffres, et le symbole "-" sont autorisées.
Un nœud peut être père d'un certain nombre de nœuds situés en dessous de lui, appelés sousdomaines.
La liste des labels parcourus de la racine vers un nœud est appelée nom de domaine de ce nœud.
Le terme "Nom de domaine" représente donc indifféremment les nœuds de l'arbre ou les feuilles
(terminales).
A l’inverse de l’adressage IP, la partie la plus significative se situe à gauche de la syntaxe.
Exemples :
Nous avons un domaine fr, que l'on peut aussi écrire fr. pour bien montrer qu'il est en haut de
l'arbre.
Ce nœud de l'arbre à un certain nombre de fils, comme inria.fr ou sncf.fr.
Le nœud inria.inria.fr contient entre autre une adresse IP. Il est fils du nœud inria.fr.
Notion de domaine
Un domaine est la partie de l'arbre présente sous un nom donné.
Exemple: Le domaine fr contient le nœud fr ainsi que tous les nœuds dont le nom de domaine se
termine par fr. C'est à dire tout sous fr.
Chaque nœud peut aussi contenir un certain nombre d'informations, comme une adresse IP, un type
de machine, le nom de la machine en charge du courrier pour ce domaine, etc. Ces informations
sont représentées par un ensemble d'enregistrements associés au nœud de l'arbre.
Fonctionnement simpliste
Quand un serveur reçoit une requête, il cherche dans son cache s'il connaît la réponse. Si oui,
il renvoie l'information immédiatement. Si l'information n'est pas disponible dans le cache, le
serveur doit chercher à quel serveur de noms s'adresser pour obtenir une réponse. Il obtient la liste
des serveurs responsables de cette zone en fonction du découpage de la base de données. Ce
découpage est stocké dans la base de données elle-même (notion de délégation).
3
Dossier IRQ75 ©
BTS 2001
Puis il fait suivre la requête à l'un des serveurs possibles (mode récursif). Celui-ci renvoie la
réponse au serveur, qui la renvoie finalement au client. Au passage le serveur a ajouté l'information
dans son cache.
Cache :
Chaque enregistrement contient une durée de validité des informations. Une fois qu'une
machine cliente a obtenu une information, l'enregistrement est valide pour le temps donné. Après
cette durée, il faut à nouveau demander cette information. Pendant cette durée, l'information est
stockée dans un cache.
La présence de ce mécanisme de cache dans tous les serveurs de noms ainsi que dans un certain
nombre de clients permet de limiter le nombre de requêtes faites, au prix d'une certaine latence dans
la mise à jour d'informations quand un changement est fait.
Mode itératif ou récursif
Les clients interrogent en général toujours le même serveur, souvent une machine "de
service" ayant pour vocation de "faire tourner un DNS". Bien sûr, cette machine ne connaît pas
toutes les réponses (base de données réparties) et il y a d'autres machines plus appropriées pour
répondre à certaines question sur un domaine. Une fois une requête reçue pour un domaine dont le
serveur n'est pas autoritaire, deux cas sont possibles:
Mode itératif
Le serveur renvoie une réponse au client en indiquant qu'il ne connaît pas la réponse mais
qu'il suppose que tel serveur est plus renseigné que lui. Le client va envoyer la requête à un premier
serveur puis à un second, peut être à un troisième, etc.
Mode récursif
4
Dossier IRQ75 ©
BTS 2001
Le serveur envoie la question à un serveur supposé plus renseigné que lui, attend la réponse
et la fait suivre au client. Le client envoie la requête à un serveur, celui-ci la fait suivre à un second
serveur, ce dernier l'envoie peut-être à un troisième serveur, etc.
Notion de zone
Une zone est la partie d'un domaine parcourue sans franchir d'arc délégant la responsabilité.
C'est à dire qu'une zone est la partie de l'arbre gérée par le même serveur.
Dans ce schéma, les arcs en pointillés sont des délégations, les arcs continus signifient que
l'on reste dans la même zone.
Délégation
En utilisant la structure d'arbre, il est possible de définir des domaines de responsabilité dans
le nommage. Chaque arc reliant un nœud à un nœud inférieur peut convoyer une information
précisant qui est responsable du niveau inférieur. En des termes plus informatiques, le domaine à
5
Dossier IRQ75 ©
BTS 2001
l'origine de l'arc (le père) contient des informations précisant quels sont les serveurs possédant des
informations sur les fils (éventuels).
À chaque niveau cela peut se répéter, d'où la création d'une répartition des responsabilités de
nommage et de fonctionnement.
Un arc peut également indiquer qu'il n'y a pas de délégation de responsabilité.
Contenu de zone (Enregistrement)
Une zone contient un ensemble de noms de domaines compris dans la zone. Pour chaque
nom de domaine, il y a un certain nombre d'enregistrements de données. Ces données peuvent être
des adresses, des relais de messagerie, etc.
Dans chaque zone un certain nombre d'enregistrements sont obligatoire sauf pour la zone
cache. Il s'agit de:
Un enregistrement SOA. Cet enregistrement décrit la zone.
Des enregistrements NS. Ces enregistrements décrivent la liste des serveurs de noms pour la zone.
Enregistrements de données, en anglais Ressource Record (RR).
Ces enregistrements contiennent les données sur un nom de domaine. Chaque nom de
domaine dans une zone peut avoir plusieurs enregistrements, ces enregistrements peuvent être de
types différents. Il peut y avoir plus d'un enregistrement de même type, mais dans ce cas le serveur
de noms les envoie au client dans n'importe quel ordre.
Chaque enregistrement est de la forme nom de domaine, type, donnée.
<nom> [TTL] [CLASSE] <TYPE> <valeur>
La classe est toujours IN pour Internet. La liste
des types de données figure ci-dessous. Chaque
enregistrement a également une durée de vie Time To Live (TTL) qui indique le temps pendant
lequel un serveur de noms ayant obtenu l'enregistrement peut le garder dans son cache.
Nota: la syntaxe utilisée pour présenter les types d'enregistrements est celle de RFC1034.
Les types d'enregistrements sont: A, AAAA, MX, CNAME, NS, SOA, PTR, TXT, HINFO, WKS, RP, MA,
MB.
A (Address)
C'est l'enregistrement le plus courant. Il indique une adresse IP associée à un nom (le DNS a été fait
pour cela).
Quand une machine dispose de plus d'une adresse IP (un routeur ou une machine avec plusieurs
cartes), on doit indiquer plusieurs enregistrements A, un par adresse, mais il faut alors que tous les
enregistrements PTR pointent vers ce nom là.
nom
IN
A
193.10.20.30
AAAA (Address IPv6)
Le format précis n'est pas encore connu. Si le type d'enregistrement est nommé AAAA, c'est car
l'adresse IP version 6 est quatre fois plus longue que pour un enregistrement de type A.
MX (Mail eXchanger)
Cet enregistrement indique pour un nom de domaine quelle est la machine à laquelle il faut envoyer
le courrier pour ce domaine. Un paramètre précise le poids relatif de cet enregistrement.
Si plusieurs enregistrements MX sont présents, le MTA va essayer d'envoyer le courrier en premier
à la machine ayant le poids associé le plus faible, puis ensuite dans l'ordre croissant des poids.
Si la machine qui relaie le courrier est dans la liste des MX pour le domaine, elle envoie le courrier
aux machines de poids inférieur au sien.
6
Dossier IRQ75 ©
nom
IN
IN
MX
MX
10
20
BTS 2001
nom.du.relais.
nom.du.deuxieme.relais.
CNAME (Canonical Name)
Cet enregistrement indique que le nom de domaine donné est un alias vers un autre nom (le nom
canonique). Il est possible d'avoir une chaîne d'alias, mais la longueur de celle-ci est limitée, en
général autour de 10.
Remarque : Quand un nom de domaine figure en partie droite d'un enregistrement, ce dernier ne
doit pas être une alias. C'est à dire que les noms figurant à droite dans les enregistrements NS,
MX, etc. ne doivent pas être des alias, mais les noms canoniques (au bout de la chaîne des alias),
l'exception est qu'un CNAME peut pointer vers un autre CNAME, mais attention aux boucles.
Remarque : Quand pour un nom on a un enregistrement CNAME, il est interdit de faire figurer
d'autres enregistrements. S'il y a à faire figurer des enregistrements, il faut les faire figurer pour le
nom canonique.
alias
IN
CNAME
nom.canonique.
SOA (Start Of Authority)
L'enregistrement SOA est l'acte de naissance d'une zone. Il contient un certain nombre de
paramètres:
Le nom du primaire
C'est le nom du serveur primaire pour la zone.
L'adresse de courrier électronique du responsable technique de la zone (zone-contact).
Il faut l'écrire en replaçant le @ par un point. On a alors par exemple: [email protected] qui
devient root.inria.fr
Le numéro de série de la zone
Les serveurs secondaires interrogent régulièrement le serveur primaire de chaque zone pour
déterminer si la zone a été mise à jour selon le mécanisme décrit ici.
L'intervalle entre les rafraîchissements (refresh)
Temps en secondes entre les vérifications du numéro de série par les secondaires. La valeur
conseillée est 24 heures, soit 86400 secondes.
L'intervalle entre les rafraîchissements (retry)
Temps en secondes entre les vérifications du numéro de série par les secondaires si la
première vérification a échoué. La valeur conseillée est 6 heures, soit 21600 secondes.
La durée d'expiration des enregistrements d'un secondaire
Si un secondaire n'arrive pas à contacter le serveur primaire de la zone, il continue à
répondre aux requêtes pendant la durée donnée. La valeur conseillée est de 41 jours, soit
3600000 secondes.
La durée de vie par défaut des enregistrements (défaut TTL)
Quand le TTL d'un enregistrement n'est pas spécifiée, cette valeur est utilisée. La valeur
conseillée est de 24 heures, soit 86400 secondes.
Les différentes valeurs sont toujours telles que l'inégalité suivante est vérifiée (avec un rapport au
moins 10 entre les termes):
retry << refresh << expire
zone
IN
SOA
nom.du.primaire. adresse.du.hostmaster. (
95021502
; numéro de série
86400
; refresh
21600
; retry
3600000
; expire
86400 )
; default TTL
le symbole @ représente le nom de la
Dans la syntaxe bind,
au début du fichier pour une zone:
@
IN
IN
IN
SOA
NS
NS
zone courante, donc nous avons souvent
...
...
...
7
Dossier IRQ75 ©
IN
MX
10
BTS 2001
...
NS (Name Server)
Cet enregistrement indique une délégation pour la gestion du nom donné. C'est à dire que
le nom donné devient une zone, dont la gestion est déléguée au serveur indiqué en partie droite.
L'enregistrement donne le nom d'un des serveurs de noms autoritaire pour la zone, comme il y a
toujours plus d'un serveur de noms pour une zone, on répète l'enregistrement NS autant de fois qu'il
y a de serveurs pour la zone.
Quand pour un nom, on a des enregistrements NS, il est interdit de faire figurer dans la zone parente
(celle là) d'autres enregistrements. S'il y a à faire figurer des enregistrements, il faut les mettre dans
la zone fille.
zone
IN
IN
IN
NS
NS
NS
serveur.nom.de.domaine.
autreServeur.nom.de.domaine.
encoreUn.autreNom.de.domaine.
TXT (Texte)
Cet enregistrement permet de stocker une chaîne de caractères.
nom
IN
TXT
"Bonjour !"
PTR (Pointer)
Les enregistrements PTR permettent d'indiquer une correspondance vers un autre nom dans l'arbre
de nommage. Ils sont discutés dans la section sur le domaine in-addr.arpa.
10.20.30.192.in-addr.arpa.IN
PTR
ma.machine.fr.
HINFO (Host Info)
L'enregistrement HINFO permet de préciser pour une machine quel est son système d'exploitation
et le matériel. Cet enregistrement est peu utilisé.
serveur
IN
HINFO "ZX81" "BASIC"
Nota: Il existe un certain nombre de valeurs légales pour l'enregistrement HINFO.
Si vous utilisez l'enregistrement HINFO, n'oubliez pas de mettre les deux valeurs car c'est une
cause importante d'erreur de syntaxe qui apparaît dans les fichiers de zone. Suivant la version de
votre serveur de nom, cela cause des messages d'insulte, des plantages, ou cela empêche le transfert
de la zone du primaire vers les secondaires.
WKS (Well known services)
Ce type d'enregistrement est à peu près obsolète.
RP (Responsible Person)
Cet enregistrement permet de donner les noms des responsables d'un nom de domaine. Le nom de
domaine en question peut être une zone, ou simplement un nom de machine. Ce type
d'enregistrement n'étant pas encore répandu, il faut vérifier que votre serveur de nom ainsi que tous
les secondaires de la zone le supportent. Les deux paramètres sont d'une part une adresse de courrier
électronique formatée de manière similaire à celle de l'enregistrement SOA, et d'autre part un autre
nom de domaine. Pour cet autre nom de domaine, on fait figurer un enregistrement TXT donnant
plus d'informations (téléphone, numéro de beep, etc.).
zone.fr.
IN RP
sysadmins.zone.fr. IN
postmaster.zone.fr.
sysadmins.zone.fr.
TXT
"Telephone d'urgence: +33 (1) 99 99 99 99"
MA (Mail Alias)
Ce type d'enregistrement est obsolète.
MB (Mail box)
Ce type d'enregistrement est obsolète.
8
Dossier IRQ75 ©
BTS 2001
2.) Mise en Oeuvre d'un Service de Nom de Domaine
Pour pouvoir utiliser le Service de Nom de Domaine, il faut en premier lieu installer le
service dans l’onglet services des propriétés du voisinage réseau.
2.1) Comment installer un Service de nom de Domaine?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dans le menu Démarrer, choisissez Paramètres puis Panneau de configuration.
Dans le Panneau de configuration, faites un double clic sur l’icône Réseau, cliquez sur
l’onglet Services puis sur Ajouter.
La boîte de dialogue Sélectionner Service réseau apparaît.
Sélectionnez Service de Nom de Domaine, puis cliquez sur OK.
La boîte de dialogue Installation de Windows NT apparaît, vous demandant le chemin
complet des fichiers Windows NT.
Taper le chemin complet des fichiers Windows NT, puis cliquer sur Continuer.
Les fichiers appropriés sont copiés sur l’ordinateur, puis la boîte de dialogue Réseau
apparaît.
Cliquer sur Fermer.
Une boîte de dialogue Modification des paramètres réseau apparaît, indiquant que
l’ordinateur doit avoir redémarré pour initialiser la nouvelle configuration.
Cliquer sur Oui.
2.2) Comment configurer un Service de nom de Domaine?
L’icône du gestionnaire DNS est installée dans le groupe de programmes Outils d’administration.
Au départ, aucun serveur n’est présent, il faut donc dans un premier temps en ajouter un en
faisant un clic droit sur l’icône Liste des serveurs et sélectionner la commande nouveau serveur
dans le menu déroulant. Ensuite il faut entrer le nom du serveur DNS, soit le nom de machine soit
l’adresse IP de la machine, il est conseillé d’opter pour l’adresse IP.
9
Dossier IRQ75 ©
BTS 2001
Une zone cache est créée automatiquement, elle recense tous les serveurs de noms qui ont
autorité sur le domaine racine. Ces informations sont vitales aux réseaux qui se connecte à Internet,
car les hôtes doivent résoudre les noms en partant de la racine et en descendant dans l’espace de
noms DNS. Les entrées de ce fichier ne changent pas souvent, et il est possible d’utiliser cette zone
tel que le gestionnaire DNS la crée. Des enregistrements peuvent être ajoutés dans la zone cache, il
seront de type NS.
Ajout de zone
Avant de créer une zone pour le domaine à gérer, il faut créer les zones qui supporteront la
recherche indirecte, les zones in-addr.arpa. Elles contiennent des enregistrements PTR qui associent
les adresses IP à des noms d’hôtes. En créant d’abord les zones de recherche indirecte, les
enregistrements PTR seront ajoutés automatiquement lors d’ajout d’enregistrement de type A à la
zone principale du domaine.
Pour ajouter une zone de recherche indirecte dit zone inverse, il faut faire un clic droit sur
l’icône du serveur DNS principal, sélectionné nouvelle zone, une fenêtre de création de zone
s’ouvre. Sélectionner principal puis cliquer suivant. Il est demandé un nom de zone. Le nom de
zone inverse est le début de l’adresse IP de la machine serveur DNS inversé suivit de in-addr.arpa
(ex : 5.168.192.inaddr.arpa).Le nom du fichier de zone se génère automatiquement en cliquant dans
la case. Le nom de fichier n’est pas important mais celui proposé respecte les conventions du
serveur DNS de Microsoft. En cliquant sur suivant le message Toutes les informations pour la
création de la nouvelle zone ont été entrées s’affiche. Un clic sur Terminer permet la création de la
zone. Ensuite il faut créer la zone primaire, le principe est le même que pour une zone inverse, mise
à par le nom de la zone qui sera plutôt du type nom de domaine (ex : fazer.fr). Un enregistrement A
10
Dossier IRQ75 ©
BTS 2001
devrait ce s’inscrire automatiquement, si ce n’est pas le cas il faut l’ajouter et si l’hôte est
multirésident il faudra ajouter un enregistrement A pour chaque carte.
Ajout d’enregistrement
Il faut ajouter un enregistrement PTR aux domaines de recherche inverse qui définissent les
réseaux auxquels cet hôte est attaché.
Pour cela il suffit de faire un click droit sur la zone inverse qui doit contenir l’enregistrement. Dans
la boite de dialogue Nouvel enregistrement ressource d’une zone de recherche indirecte, seul trois
type d’enregistrements peuvent être créés. Sélectionnons PTR puis indiquons l’adresse IP dans le
champ ainsi nommé. Dans le champ Nom DNS de l’hôte, entrons le nom pleinement qualifié du
serveur DNS (ex: fazer2.fazer.fr), puis cliquons ensuite sur OK.
Le principe est le même pour tous autres enregistrements dans les zones de recherche directe ou
indirecte.
Il est possible de modifier certaines valeurs dans les enregistrements SOA.
Le numéro de série représente le niveau de révision du fichier.
11
Dossier IRQ75 ©
BTS 2001
Résoudre les noms avec WINS
Pour ce faire il faut au moins un serveur WINS en activité. La recherche WINS doit être
activée dans la base de données de la zone.
Ajout de zone secondaire
Pour ce faire, il faut que la zone primaire soit affichée dans le gestionnaire DNS. La
procédure est simple et la suivante :
1.
2.
3.
4.
Cliquer du bouton droit sur l’icône du serveur et sélectionner Nouvelle zone.
Sélectionner l’option Secondaire, vous noterez une icône main. Utiliser la souris pour faire
glisser l’icône et la déposer dans la zone primaire voulue. Tous les champs de la boite de
dialogue Créer une nouvelle zone seront remplis.
Cliquer sur suivant pour voir les champs de la boite de dialogue.
Cliquer enfin sur terminer pour achever la création de la zone secondaire.
12
Dossier IRQ75 ©
BTS 2001
2.3) DNS dit Secondaire
Il n’existe pas réellement de Serveur DNS secondaire mais plutôt d’autres Serveurs DNS
peuvent être sollicités par les clients en cas de non-réponse du dit Serveur DNS primaire. C’est
indication sont précisées lors de la configuration des clients, il suffit de préciser l’adresse du second
serveur DNS.
3.) Configuration du client
3.1) Configuration d’un client pour qu'il utilise le service de nom de
domaine
Pour configurer un client Windows, il suffit de préciser un nom d’hôte puis le nom de
domaine ainsi que l’adresse IP du serveur DNS, toutes ces informations se trouve dans les
propriétés réseau.
13