DNS : Le systeme de Noms de Domains

dns

1. Système DNS

1.1. Définition

DNS (Domain Name System) est une base de données distribuée hiérarchisée qui contient les mappages de noms d’hôtes DNS à des adresses IP.
Il permet de repérer des ordinateurs et des services en utilisant des noms alphanumériques faciles à retenir. DNS permet également de découvrir des services réseau comme des serveurs de messagerie et des contrôleurs de domaine dans le service d’annuaire Active Directory.

1.2. Fonction de DNS

DNS est à la base du système de noms Internet, mais aussi du système de noms de domaine Active Directory d’une organisation. Il prend en charge l’accès aux ressources à l’aide de noms alphanumériques. Sans DNS, vous devriez trouver les adresses IP des ressources pour accéder à ces ressources. Comme les adresses IP des ressources peuvent changer, il serait difficile d’en tenir à jour une liste exacte. Au lieu de cela, DNS permet aux utilisateurs de faire appel à des noms alphanumériques, lesquels restent assez stables dans une organisation. Avec DNS, les noms d’hôtes résident dans une base de données qui peut être distribuée entre plusieurs serveurs, ce qui diminue la charge de chaque serveur et permet d’administrer le système de noms par partitions. DNS prend en charge des noms hiérarchiques et permet d’inscrire divers types de données en plus du mappage de noms d’hôtes à adresse IP qui est utilisé dans les fichiers Hosts. Comme la base de données DNS est distribuée, sa taille est illimitée et l’ajout de serveurs ne dégrade guère ses performances.

1.3. Historique de DNS

L’histoire du système DNS commence au tout début d’Internet qui n’était alors qu’un petit réseau créé par le Département de la Défense des États-Unis à des fins de recherche. Les noms d’hôtes des ordinateurs de ce réseau étaient gérés à l’aide d’un unique fichier Hosts qui se trouvait sur un serveur central. Les sites qui avaient besoin de résoudre des noms d’hôtes sur le réseau téléchargeaient ce fichier. Avec la multiplication des hôtes sur Internet, le trafic généré par le processus de mise à jour a augmenté, ainsi que la taille du fichier Hosts. Il était de plus en plus nécessaire d’instaurer un nouveau système qui se caractériserait par son évolutivité, une administration décentralisée et la prise en charge de divers types de données. Instauré en 1984, DNS est devenu ce nouveau système.

2. Espace de noms de domaines

Un espace de noms DNS comprend le domaine racine, des domaines de niveau supérieur, des domaines de niveau secondaire et (éventuellement) des sous domaines. La combinaison de l’espace de noms DNS et du nom d’hôte constitue le nom de domaine pleinement qualifié (FQDN, fully qualified domain name).



2.1. Fonction d’un espace de noms de domaines

L’espace de noms DNS permet d’organiser les noms affichés des
ressources en une structure logique, facile à comprendre pour les
utilisateurs. La structure hiérarchique de l’espace de noms DNS simplifie
considérablement l’organisation et la recherche des ressources.

2.2. Espace de noms de domaine

L’espace de noms de domaine est une arborescence hiérarchisée de noms
utilisée par DNS pour identifier et trouver un hôte donné dans un domaine
donné, par rapport à la racine de l’arborescence.
Les noms inscrits dans la base de données DNS constituent une arborescence logique appelée espace de noms de domaine. Le nom de domaine identifie la position d’un domaine par rapport à son domaine parent dans l’arborescence. Pour utiliser et administrer un service DNS, l’espace de noms de domaine fait référence à l’intégralité de la structure d’un nom de domaine, de la racine au niveau supérieur de l’arborescence jusqu’aux branches de bas niveau. L’arborescence doit être conforme aux conventions acceptées pour la représentation des noms DNS. La convention principale est simple : pour chaque domaine, un point (.) est utilisé pour séparer chaque sous-domaine de son domaine parent, de bas en haut dans l’arborescence.

2.3. Domaine

Dans le système DNS, on appelle domaine toute arborescence ou sousarborescence se trouvant dans l’espace de noms de domaine. Bien que les noms de domaine DNS soient utilisés pour nommer les domaines Active Directory, ils ne coïncident pas et ne doivent pas être confondus avec les domaines Active Directory.

2.4. Domaine racine

Il s’agit du noeud racine de l’arborescence DNS. Le domaine racine n’a pas de nom. Il est parfois représenté dans les noms DNS par un point final (.) indiquant que le nom est à la racine, c’est-à-dire au plus haut niveau, de la hiérarchie des domaines.

2.5. Domaine de niveau supérieur

Il s’agit de la portion finale (à l’extrême droite) d’un nom de domaine. En général, un domaine de niveau supérieur est représenté par un nom de deux ou trois caractères qui identifie le statut organisationnel ou géographique du nom de domaine. Par exemple, dans www.microsoft.com., la portion « .com » représente le nom du domaine de niveau supérieur et indique que ce nom a été inscrit auprès d’une organisation commerciale pour un usage commercial.

2.6. Domaine de second niveau

Un nom de domaine de second niveau est un nom unique de longueur variable, formellement inscrit par InterNIC auprès d’un individu ou d’une organisation qui se connecte à Internet. Dans l’exemple www.microsoft.com, le nom de second niveau est la portion « .microsoft » du nom de domaine, inscrite par InterNIC et affectée à Microsoft Corporation.

2.7. Sous-domaine

Outre le nom de second niveau inscrit auprès de InterNIC, une organisation de grande envergure peut choisir de subdiviser encore son nom de domaine en ajoutant des départements ou des services représentés chacun par une portion distincte dans le nom de domaine. Voici quelques exemples de noms de sousdomaines:
 DRIF.ofppt.ma
 DOSI.ofppt.ma
 DMG.ofppt.ma

2.8. Nom de domaine pleinement qualifié

Un nom de domaine pleinement qualifié (FQDN, fully qualified domain name) est un nom de domaine DNS qui a été défini de façon non ambiguë pour indiquer avec certitude son emplacement dans l’arborescence de l’espace de noms de domaine.

3. Conventions d’appellation standard DNS

Les conventions d’appellation standard DNS sont conçues pour assurer la cohérence entre toutes les implémentations de DNS. La manière dont les clients DNS inscrivent et mettent à jour leurs propres conventions constituent des règles globales dont l’implémentation peut entrer en interaction avec d’autres implémentations DNS, quel que soit leur auteur.
Grâce aux conventions d’appellation standard DNS, les organisations qui implémentent un espace de noms DNS peuvent aussi utiliser ce dernier sur Internet. Les conventions d’appellation standard DNS autorisent un sous-ensemble limité du jeu de caractères ASCII. La RFC (Request for Comments) 1123 spécifie les caractères valides dans les noms DNS : A-Z a-z 0-9 Trait d’union (-) Tous les caractères non valides sont remplacés par des traits d’union. Par exemple, si vous utilisez le trait de soulignement dans un nom d’ordinateur, il est remplacé par un trait d’union.

4. Installation du service Serveur DNS

Pour installer DNS on suit la procédure suivante :
1. Ouvrez une session avec un compte d’utilisateur sans droits d’administration.
2. Cliquez sur Démarrer, puis sur Panneau de configuration.
3. Dans le Panneau de configuration, ouvrez Outils d’administration, cliquez avec le bouton droit sur Gérer votre serveur, puis sélectionnez Exécuter en tant que.
4. Dans la boîte de dialogue Exécuter en tant que, sélectionnez L’utilisateur suivant, entrez un compte d’utilisateur et un mot de passe bénéficiant des autorisations nécessaires à la réalisation de cette tâche, puis cliquez sur OK.
5. Dans la fenêtre Assistant Gérer votre serveur, cliquez sur Ajouter ou supprimer un rôle.
6. Dans la page Étapes préliminaires, cliquez sur Suivant.
7. Dans la page Rôle du serveur, sélectionnez Serveur DNS, puis cliquez sur Suivant.
8. Dans la page Aperçu des sélections, cliquez sur Suivant.
9. Si un message vous y invite, insérez le CD-ROM de Microsoft Windows Server 2003.
10. Dans la page Bienvenue dans l’Assistant Configurer un serveur DNS, cliquez sur Annuler. Vous aurez l’occasion de configurer le service DNS dans une application pratique ultérieure.
11. Dans la page Assistant Configurer votre serveur, cliquez sur Terminer.

5. Configuration des propriétés du service Serveur DNS

5.1. Composants d’une solution DNS

Les composants d’une solution DNS sont les clients DNS, les serveurs DNS et les enregistrements de ressources DNS. Les enregistrements de ressources se trouvent dans la base de données du serveur DNS. Si votre solution DNS est connectée à Internet, les serveurs DNS situés sur Internet peuvent être utilisés


5.2. Qu’est-ce qu’une requête DNS

Une requête est une demande de résolution de noms envoyée à un
serveur DNS. Il existe deux types de requêtes : requêtes récursives et
requêtes itératives.

5.2.1. Requête récursive

Une requête récursive est une requête envoyée à un serveur DNS dans
laquelle le client DNS demande au serveur de fournir une réponse
complète. En retour, le serveur peut uniquement renvoyer une réponse
complète ou indiquer qu’il ne sait pas résoudre le nom. Une requête
récursive ne peut pas être redirigée vers un autre serveur DNS.
Les requêtes récursives sont lancées par un client DNS ou par un serveur
DNS configuré pour utiliser des redirecteurs. Une requête récursive place
toute la responsabilité de la réponse finale sur le serveur interrogé. La réponse à une requête récursive peut être positive ou négative. Dans une requête récursive, le serveur DNS interrogé est sommé de renvoyer l’une des trois réponses suivantes :
 Les données demandées.
 Un message d’erreur indiquant que les données du type demandé n’existent pas.
 Un message indiquant que le nom de domaine spécifié n’existe pas.




5.2.2. Fonctionnement d’une requête récursive

Le fonctionnement d’une requête récursive envoyée par un client à son serveur DNS configuré comprend les étapes suivantes : 1. Le client envoie une requête récursive au serveur DNS local. 2. Le serveur DNS local essaie de trouver une réponse dans la zone de recherche directe et dans le cache. 3. S’il trouve la réponse à la requête, le serveur DNS la renvoie au client. 4. S’il ne trouve pas de réponse, le serveur DNS utilise l’adresse d’un redirecteur ou des indications de racine pour chercher plus haut dans l’arborescence.

5.2.3. Requêtes itératives

Une requête itérative est une requête envoyée à un serveur DNS dans laquelle le client DNS demande la meilleure réponse que peut fournir le serveur DNS sans faire appel à d’autres serveurs DNS. Les requêtes itératives sont parfois appelées requêtes non récursives. Le résultat d’une requête itérative est souvent une référence à un autre serveur DNS situé plus bas dans l’arborescence DNS. Dans le cas d’une requête récursive, une référence n’est pas une réponse acceptable.
Une requête itérative vise à ce que le serveur DNS, désormais en mesure d’utiliser la requête récursive du client, soit chargé de trouver une réponse à la question de ce dernier. Le serveur DNS interroge alors sa propre base de données ou s’adresse à d’autres serveurs DNS, situés à différents niveaux de l’espace de noms de domaines, afin de trouver le serveur DNS qui fait autorité pour la requête d’origine. En règle générale, un serveur DNS envoie une requête itérative à d’autres serveurs DNS après avoir reçu d’un client une requête récursive. Dans une requête itérative, le serveur de noms interrogé renvoie au demandeur la meilleure réponse qu’il possède. La réponse à une requête itérative peut être :
 une réponse positive ;
 une réponse négative ;
 une référence à un autre serveur.

5.2.4. Fonctionnement d’une requête itérative



Dans l’illustration, le serveur DNS local n’a pas réussi à résoudre le nom demandé en utilisant sa mémoire cache et il ne fait pas autorité pour le domaine. Il commence donc à rechercher le serveur DNS qui fait autorité en interrogeant d’autres serveurs DNS. Pour trouver le serveur DNS qui fait autorité pour le domaine, le serveur DNS résout le nom de domaine pleinement qualifié, de la racine jusqu’à l’hôte, en utilisant des requêtes itératives. Le traitement de cet exemple se déroule comme suit : 1. Le serveur DNS local reçoit une requête récursive d’un client DNS. Par exemple : Le serveur DNS local reçoit une requête récursive de Computer1 concernant mail1.nwtraders.com. 2. Le serveur DNS local envoie une requête itérative au serveur racine pour obtenir un serveur de noms faisant autorité. 3. Le serveur Racine répond par une référence à un serveur DNS plus proche du nom de domaine demandé. Par exemple : Le serveur racine répond par une référence au serveur DNS associé au domaine .com. 4. Le serveur DNS local envoie ensuite une requête itérative au serveur DNS plus proche du nom de domaine demandé. Par exemple : Le serveur DNS local envoie une requête itérative au serveur DNS de .com. 5. Le processus continue jusqu’à ce que le serveur DNS local reçoive une réponse faisant autorité.
Par exemple : Le serveur DNS de .com répond par une référence au serveur DNS de nwtraders.com. Ensuite, le serveur DNS local envoie une requête itérative au serveur DNS de nwtraders.com pour obtenir un nom faisant autorité du serveur de noms faisant autorité. Le serveur DNS local reçoit une réponse faisant autorité du serveur DNS de nwtraders.com. 6. Cette réponse est alors envoyée au client DNS.
Par exemple : Le serveur DNS local envoie la réponse faisant autorité à Computer1 qui peut alors se connecter à mail1.nwtraders.com en utilisant l’adresse IP correcte.

5.3. Les indications de racine

Les indications de racine sont des enregistrements de ressources DNS stockés sur un serveur DNS qui répertorient les adresses IP des serveurs racines du système DNS.

5.4. Fonction d’une indication de racine

Lorsque le serveur DNS reçoit une requête DNS, il consulte sa mémoire cache. Il essaie ensuite de trouver le serveur DNS qui fait autorité pour le domaine demandé. S’il n’a pas l’adresse IP du serveur DNS faisant autorité pour ce domaine et qu’il est configuré avec les adresses IP des indications de racine, le serveur DNS interroge un serveur racine sur le domaine situé à gauche du domaine racine de la requête. Le serveur racine DNS renvoie alors l’adresse IP du domaine à gauche du domaine racine et le serveur DNS continue de parcourir le nom de domaine pleinement qualifié jusqu’à ce qu’il trouve le domaine qui fait autorité. Les indications de racine sont stockées dans le fichier Cache.dns qui se trouve dans le dossier %Systemroot%\System32\Dns.

5.5. Les redirecteurs

Un redirecteur est un serveur DNS que d’autres serveurs DNS internes désignent comme responsable du transfert des requêtes pour la résolution de noms de domaines externes ou hors site. Lorsqu’un serveur de noms DNS reçoit une requête, il tente de trouver l’information demandée dans ses propres fichiers de zone. Si cette méthode échoue (parce que le serveur ne fait pas autorité pour le domaine demandé ou parce qu’il n’a pas mis l’enregistrement en mémoire cache lors d’une recherche précédente), le serveur doit communiquer avec d’autres serveurs de noms pour résoudre la requête. Dans un réseau mondial comme Internet, les requêtes DNS hors d’une zone locale exigent parfois une interaction avec des serveurs de noms DNS via des liaisons de réseau étendu (WAN), à l’extérieur de l’organisation. La création de redirecteurs DNS permet de désigner des serveurs de noms particuliers pour le trafic DNS qui emprunte des liaisons WAN. Vous pouvez sélectionner comme redirecteurs des serveurs de noms DNS spécifiques qui ésoudront des requêtes DNS pour le compte d’autres serveurs DNS.







Dans l’illustration, le serveur DNS local n’a pas réussi à résoudre le nom demandé en utilisant sa mémoire cache et ses fichiers de zone. Il transmet donc la demande au redirecteur. Le redirecteur commence alors à interroger d’autres serveurs de noms à l’aide de requêtes itératives. Les redirecteurs DNS procèdent comme suit :
1. Le serveur DNS local reçoit une requête récursive d’un client DNS. Par exemple : Le serveur DNS local reçoit une requête récursive de Computer1.
2. Le serveur DNS local transmet la demande au redirecteur.
3. Le redirecteur envoie une requête itérative au serveur racine pour obtenir une réponse d’un serveur de noms faisant autorité.
4. Le serveur racine répond par une référence à un serveur DNS plus proche du nom de domaine demandé.
Par exemple : Le serveur racine répond par une référence au serveur DNS associé au domaine .com.
5. Le redirecteur envoie ensuite une requête itérative au serveur DNS plus proche du nom de domaine demandé.
Par exemple : Le redirecteur envoie une requête itérative au serveur DNS de .com.
6. Le processus continue jusqu’à ce que le redirecteur reçoive une réponse faisant autorité.
Par exemple : Le serveur DNS de .com répond par une référence au serveur DNS de nwtraders.com. Ensuite, le redirecteur envoie une requête itérative au serveur DNS de nwtraders.com pour obtenir un serveur de noms faisant autorité. Le redirecteur reçoit alors une réponse faisant autorité du serveur DNS de nwtraders.com.
7. Le redirecteur envoie la réponse au serveur DNS local qui la transmet au client DNS.
Par exemple : Le redirecteur envoie la réponse au serveur DNS local qui la transmet à Computer1.

5.6. La mise en cache du serveur DNS

La mise en cache est le processus qui consiste à stocker temporairement dans un sous-système de mémoire spécial des informations ayant fait l’objet d’un accès récent pour y accéder plus rapidement ensuite. La mise en cache permet de répondre plus rapidement aux requêtes et réduit le trafic DNS sur le réseau. En plaçant en mémoire cache les réponses fournies par le système DNS, le serveur DNS peut ensuite résoudre certaines requêtes déjà traitées à partir de sa seule mémoire cache. Cela réduit considérablement le temps de réponse et élimine le trafic réseau associé à l’envoi de la requête à un autre serveur DNS.

5.7. Fonctionnement du cache des serveurs DNS

Pendant qu’il traite une requête récursive, un serveur peut être amené à envoyer plusieurs requêtes pour obtenir la réponse définitive. Dans un scénario du pire cas, le serveur de noms local commence en haut de l’arborescence DNS par l’un des serveurs de noms racines, puis descend progressivement dans l’arborescence jusqu’à ce qu’il obtienne les données demandées. Le serveur place en mémoire cache toutes les informations reçues au cours de ce processus, pendant une durée spécifiée dans les données qu’il reçoit. Cette durée de conservation, appelée durée de vie (TTL, time to live), est exprimée en secondes. Elle est déterminée par l’administrateur de serveur associé à la zone principale qui contient les données. Une durée de vie courte permet de garantir une meilleure cohérence des informations concernant le domaine à travers le réseau dans l’éventualité où ces données changent souvent. D’un autre côté, cela alourdit la charge des serveurs qui contiennent ces données et augmente le trafic Internet. À partir du moment où les données sont placées en mémoire cache, les modifications affectant les enregistrements de ressources risquent de ne pas être disponibles immédiatement sur Internet tout entier.
Une fois que les données sont placées en mémoire cache, leur durée de vie commence à décrémenter, de sorte que le serveur DNS sait quand il doit les supprimer du cache. Quand le serveur DNS répond à une requête grâce à sa mémoire cache, il fournit également la durée de vie restante des données. Le programme de résolution met ensuite les données dans son propre cache et utilise la durée de vie communiquée par le serveur.

6. Configuration des zones DNS

6.1. Enregistrements de ressources

Un enregistrement de ressource est une structure de base de données DNS standard qui contient des informations utilisées pour traiter les requêtes DNS. Après avoir installé le service Serveur DNS et configuré les propriétés du service DNS, il ne vous reste plus qu’à achever le service en ajoutant des mappages de nom d’hôte à adresse IP. Ces mappages sont appelés enregistrements de ressources dans le système DNS. Il existe différents types d’enregistrements de ressources. Les types d’enregistrements de ressources que vous créez dans le système DNS dépendent de vos besoins en matière de résolution de noms.


6.2. zones DNS

Avant d’ajouter des enregistrements de ressources, vous devez créer dans le système DNS la structure qui va les accueillir. Dans DNS, ces conteneurs logiques sont appelés des zones. Lorsque vous créez une
zone, vous créez un fichier de zone pour stocker les propriétés et les enregistrements de ressources de la zone. Il existe plusieurs configurations de zone possibles dans DNS. Les zones que vous allez créer
seront déterminées par les besoins en matière de résolution de noms dans votre environnement.
Une fois que les zones DNS sont créées et remplies avec des enregistrements de ressources, le service DNS est en mesure de prendre en charge la résolution de noms d’hôtes.


Une zone est également la représentation physique d’un ou plusieurs domaines DNS.
Par exemple, si vous avez un espace de noms de domaines DNS south.nwtraders.com, vous pouvez créer sur un serveur DNS une zone south.nwtraders.com qui contient tous les enregistrements de ressources situés dans le domaine Training. Le système DNS permet de diviser un espace de noms DNS en zones. Pour chaque nom de domaine DNS inclus dans une zone, la zone devient la source qui fait autorité pour les informations concernant ce domaine. Les fichiers de zone sont gérés sur des serveurs DNS. Vous pouvez configurer un serveur DNS unique pour héberger zéro, une ou plusieurs zones. Chaque zone peut faire autorité pour un ou plusieurs domaines DNS, à condition que ces domaines soient contigus dans l’arborescence DNS. Les zones peuvent être stockées dans des fichiers texte plats ou dans la base de données Active Directory. Les caractéristiques d’une zone sont les suivantes :
 Une zone est un ensemble de mappages de nom d’hôte à adresse IP pour des hôtes situés dans une portion contiguë de l’espace de noms DNS.
 Les données d’une zone sont gérées sur un serveur DNS et peuvent être stockées de deux manières :
• En tant que fichier de zone plat contenant des listes de mappages ; • Dans une base de données Active Directory.
 Un serveur DNS fait autorité pour une zone s’il héberge les enregistrements de ressources correspondant aux noms et aux adresses que les clients demandent dans le fichier de zone.
Une zone DNS est :
 soit une zone principale, secondaire ou de stub.
 soit une zone de recherche directe ou inversée.

6.3. Sécurisation d’une zone DNS

Pour plus de sécurité, vous pouvez contrôler les personnes autorisées à administrer les zones DNS en modifiant la liste de contrôle d’accès discrétionnaire (DACL, discretionary access control list) sur les zones DNS qui sont stockées dans Active Directory. La liste DACL permet de contrôler les autorisations accordées aux utilisateurs et aux groupes Active Directory qui peuvent contrôler les zones DNS

6.4. Types de zones DNS

Lorsque vous configurez un serveur DNS, vous pouvez définir plusieurs types de zones ou aucun, selon le type de rôle du serveur DNS dans le réseau. Il existe de nombreuses options pour obtenir une configuration optimale du serveur DNS en fonction des décisions que vous prenez concernant notamment la topologie du réseau et la taille de l’espace de noms. Le fonctionnement normal des serveurs DNS fait intervenir trois zones :
 zone principale ;
 zone secondaire ;
 zone de stub.

6.4.1. Zone principale

Une zone principale est l’exemplaire faisant autorité de la zone DNS. Les enregistrements de ressources y sont créés et gérés. Lorsque vous configurez des serveurs DNS pour héberger les zones d’un domaine, le serveur principal est normalement situé à un emplacement où il est accessible pour administrer le fichier de zone.

6.4.2. Zone secondaire

Une zone secondaire est une copie en lecture seule de la zone DNS. Les enregistrements contenus dans la zone secondaire ne peuvent pas être modifiés ; les administrateurs peuvent modifier uniquement les enregistrements de la zone DNS principale.
Normalement, un serveur secondaire au moins est configuré pour la tolérance de panne. Toutefois, il est possible de configurer plusieurs serveurs secondaires à d’autres emplacements, de telle sorte que les
enregistrements de la zone puissent être résolus sans que la requête ne franchisse des liaisons WAN.

6.4.3. Zone de stub

Les zones de stub sont des copies d’une zone qui contiennent uniquement les enregistrements de ressources nécessaires à l’identification du serveur DNS faisant autorité pour la zone en question. Une zone de stub contient un sousensemble des données de la zone qui se compose d’un enregistrement SOA, NS et A, également appelé enregistrement de résolution par requêtes successives. Une zone de stub est en quelque sorte un signet qui pointe simplement vers le serveur DNS qui fait autorité pour la zone DNS concernée. Vous pouvez utiliser des zones de stub lorsque les indications de racine pointent vers un serveur DNS interne et non vers les serveurs racines situés sur Internet. À des fins de sécurité, le serveur DNS est conçu pour résoudre certaines zones seulement.