Vous êtes sur la page 1sur 15

Domain Name Service

OFPPT
Présentation

DNS (Domain Name System) est un service de noms statique et hiérarchisé. Il est très lié à
Internet. Son rôle consiste à faire correspondre des adresses IP à des noms d'ordinateurs. Ceci
permet à l'utilisateur d'utiliser le nom de l'ordinateur dans une commande plutôt que son
adresse IP difficile à retenir. Le système de noms est conçu de telle manière que la
mémorisation des noms des ordinateurs est facile. Exemples :
♦ www.ibm.com représente le serveur du site Web (WWW) de la société IBM dans la
catégorie commerciale.
♦ www.afpa.fr est le site Web de l'AFPA en France.
♦ ftp.Novell.com est le serveur ftp de la société commerciale Novell.

Espaces de noms de domaines

Chaque nom est composé d'un nom de serveur suivi d'un ou plusieurs noms de domaine de
niveaux inférieurs et en dernier d'un nom de domaine de niveau supérieur.
Pour éviter que tous les noms de tous les ordinateurs se situent sur un même niveau, le
système est organisé de façon hiérarchique à plusieurs niveaux.
La structure hiérarchique comporte une racine (comme la racine d'un disque dur) et des
niveaux situés en dessous de cette racine (comme les dossiers et les sous-dossiers dans un
disque dur). Le niveau situé en dessous de la racine est appelé "Domaine de niveau
supérieur". Le domaine situé en dessous "Domaine de second niveau"et les suivants "Sous-
domaines". Le nombre de niveaux n'est pas réellement limité, mais pour que les noms DNS
restent faciles à mémoriser et relativement courts à frapper, on utilise la plupart du temps le
premier et le second niveau seulement.

Racine

Domaines
premier arpa com edu gov int mil net org ae fr us zw
niveau

Emirats France Etats- Zim


Arabes Unis bawe
Domaines
deuxième comp1 dupont IBM
niveau
WWW
Nom de domaine pleinement qualifié
www.ibm.com.

Sous- market paye compta


domaines

Nom de domaine pleinement qualifié


serv2.paye.dupont.com.

Serv1 Serv2

Domaines génériques Domaines géographiques


Figure : Structure hiérarchisée de l'espace de noms DNS.
Nom d'hôte

Le nom de d'hôte pleinement qualifié ou FQDN (Fully Qualified Domain Name) est le nom
du serveur suivi des noms de domaine suivis d'un point. www.ibm.com.
Les domaines de niveau supérieur se composent pour l'instant en deux catégories :
♦ les noms de domaines génériques
♦ les noms de domaines géographiques
Les noms de domaine génériques sont en cours de réorganisation. En effet le nom de domaine
de premier niveau .com est complètement saturé.

Zones

Une zone est une partie de l'espace de nom de domaines. Lorsqu'un domaine Internet devient
très important, il devient aussi difficile de le gérer. Il ne faut pas oublier que chaque machine
reliée au réseau qui possède une adresse IP doit être entrée manuellement dans la base de
données du serveur DNS. On peut alors le diviser en zones. Chaque zone comporte une partie
des ordinateurs du domaine. Une zone doit englober un espace de noms de domaine contigu.
Chaque zone peut être gérée par un responsable différent pour soulager l'administrateur
principal.
Par exemple si le nom de domaine est :
dupont.com
et qu'il existe des sous domaines
- ventes.dupont.com
- markettting.dupont.com
- paie.dupont.com
- compta.dupont.com
il est possible de mettre
- dupont.com et ventes.dupont.com dans la zone 1
- Marketting.dupond.com dans la zone 2
- paie.dupont.com dans la zone 3
- compta.dupont.com dans la zone 4
Il n'est pas possible de mettre par exemple paie.dupont.com et compta.dupont.com dans la
même zone car les domaines ne sont pas contigus.

COM

Serveurs de
Zone 1 Dupont noms DNS

ventes marketting paie compta

Zone 2 Zone 3 Zone 4

Figure 1 : Division d'un espace de noms de domaine en zones.


Serveurs de noms
Un serveur de noms DNS renferme une base de données d'une zone ou de plusieurs zones. En
principe, il y a au moins deux serveurs de noms par domaine. Le premier est appelé "Serveur
DNS principal" et le second "Serveur DNS secondaire" Chaque zone doit être référencée
dans un serveur de noms DNS. Le serveur de nom secondaire contient une copie des fichiers
de zones du serveur principal. Il sert de secours à ce dernier.
Processus de résolution de nom
La résolution de noms DNS est l'opération qui consiste à transformer un nom d'ordinateur
stocké dans la base de données d'un serveur DNS en une adresse IP correspondante.
N.B. : WINS assure la résolution de noms NetBIOS dans les domaines Microsoft.
DNS assure la résolution de noms d'ordinateurs complets dans les domaines INTERNET
Requête de recherche directe
Le service DNS utilise un modèle client/serveur pour la résolution de noms. Pour obtenir
l'adresse IP d'un autre ordinateur sur un Intranet ou sur Internet, le client utilise un processus
en plusieurs étapes.
♦Le client recherche dans son propre cache s'il ne possède pas l'adresse IP correspondant au
nom de l'ordinateur.
♦S'il ne la trouve pas, il envoie une requête au serveur DNS local. Si celui-ci possède l'adresse
dans son cas, il renvoie l'adresse IP au client. Dans le cas contraire, il interroge les serveurs
DNS présents dans la racine DNS. (Tous les serveurs DNS Windows 2000 possèdent les
adresses IP de ces serveurs dans un fichier C:\%systemroot%\system32\dns\cache.dns).
♦Le serveur DNS racine interrogé renvoie la référence du serveur de premier niveau sur
serveur DNS local.
♦ Le serveur local interroge alors le serveur DNS de premier niveau qui renvoie la référence
du serveur de noms de second niveau. Si celui-ci a autorité sur l'ordinateur dont l'adresse
IP est demandée, il répond en renvoyant cette adresse.
♦ Le serveur local renvoie l'adresse IP demandée au client.
♦ Le client connaissant l'adresse IP de l'ordinateur qu'il souhaitait joindre, l'opération peut se
faire.
Cache du serveur de noms
Chaque serveur de noms possède un cache. Ce cache conserve la correspondance entre les
URL et les adresses IP déjà demandées. Ceci évite de refaire tout le processus décrit ci-dessus
plusieurs fois pour le même client ou pour des clients différents. Le cache possède une durée
de vie (TTL) modifiable, mais dont la valeur par défaut est de 60 minutes. Cette durée de vie
limitée de la sauvegarde en cache a pour but d'éviter que la taille du cache ne grandisse de
façon inconsidérée, mais aussi de garder des adresses périmées.
Requête de recherche inversée
Une requête de recherche inversée sert à trouver le nom d'un ordinateur dont on en connaît
l'adresse IP. Cette fonctionnalité est utilisée par certains outils de maintenance et de
diagnostiques comme NSLOOKUP.
Pour chaque zone de recherche directe, il faut faire correspondre une zone de recherche
inversée. Le nom de cette zone sera : adresse-réseau-inversée. in-addr.arpa.
adresse-réseau-inversée signifie que l'ordre des octets de l'adresse du réseau est inversé. Par
exemple pour un réseau dont l'adresse serait 165.123.121, le nom de zone de recherche
inversée serait :

Configurations des serveurs DNS


IV.5.1. DNS

De nos jours , L’Internet et presque tous les réseaux locaux dépendent d’un Service de Nom
de Domaine (Domain Name Service, DNS)efficace et fiable, qui est utilisé pour associer les
noms de systèmes aux adresses IP et vice-versa.
Dans le but de faciliter le DNS sur notre réseau, un serveur de noms est nécessaire pour
traduire ces noms en adresses IP nécessaires à leur connexion. De plus, un serveur de noms
peut effectuer à rebours la traduction dans le nom du système, ce que l’on appelle souvent un
reverse lookup, ou résolution inversée.
Les systèmes utilisant les réseaux IP doivent connaître l’adresse IP d’un ordinateur distant
afin de s’y connecter. Toutefois, la plupart des utilisateurs préfèrent utiliser des noms
d’ordinateur, comme un nom d’hôte ou un fully qualified domaine Name (FQDN), pour
spécifier un système au moment de la connexion. De plus, de nombreux programmes utilisent
des noms de domaine dans leurs fichiers de configuration quand ils font référence à un
système distant. Ils permettent ainsi de changer des adresses IP sans devoir modifier le nom
du système (entre autres raisons).Le service qui rend cette opération plus facile est appelé
DNS.

Le DNS est rendu possible par l’utilisation de démons de serveurs de noms qui effectue une
traduction IP/nom. Une application client demande des informations au serveur de noms, en
s’y connectant généralement sur le port de serveur 53. Le serveur de noms va tenter de
résoudre le FQDN d’après sa bibliothèque de solutions qui peut contenir des informations
importantes sur l’hôte demandé ou des données cachées sur ce nom suite à une requête
antérieure. Si le serveur de nom ne possède pas encore la réponse dans sa bibliothèque de
solutions, il se tourne vers d’autres serveurs de noms, appelés root nameservers, ou serveurs
de noms racines, afin de déterminer quels serveurs de noms qui sont autorisés pour le FQDN
en question. Il effectuera ensuite une requête auprès des serveurs de noms qui font autorité
pour déterminer l’adresse IP du nom. S’il effectue une opération dans le sens inverse (reverse
lookup), c’est la même procédure qui est utilisée, si ce n’est que la requête est présentée avec
une adresse IP inconnue au lieu d’un nom.

IV.5.1.1. Présentation des concepts


 Notion de domaine, de zone et de délégation

Un domaine est un sous-arbre de l’espace de nommage. Par exemple .ma est un domaine, il
contient toute la partie hiérarchique inférieure de l’arbre sous jacente au nœud .ma .
Un domaine peut être organisé en sous domaines. Wanadoo.ma est sous domaine .ma. Un
domaine peut être assimilé à une partie ou sous-partie de l’organisation de l’espace de
nommage.

 Zone
Une zone est une organisation logique (ou pour être plus précis, une organisation
administrative à) des domaines. Le rôle d’une zone est principalement de simplifier
l’administration des domaines. Le domaine .ma. Peut être decoupe en plusieurs zones, z1.ma,
z2.ma…zn.ma. L’administration des zones sera déléguée afin de simplifier la gestion globale
du domaine.


 La délégation
La délégation consiste à déléguer l’administration d’une zone (ou une sous-zone) aux
administrateurs de cette zone.

 Le domaine in-addr.arpa
Le principe de la résolution de nom, consiste à affecter un nom d’hôte une adresse IP.On parle
de résolution de nom directe. Le processus inverse doit pouvoir également être mis en œuvre.
On parle de résolution de nom inverse ou reverse. Le processus doit fournir, pour une adresse
ip, le nom correspondant. Pour cela il y a une zone particulière, in-addr.arpa, qui permet la
résolution inverse d’adresse IP.
Par exemple, pour le réseau 11.0.0.0, on créera une zone inverse dans le domaine in-
addr.arpa. La zone de recherche inverse dans le domaine deviendra : 0.0.11.in-addr.arpa.
Cette zone devra répondre pour toutes les adresses déclarées dans la tranche 11.0.0.0 à
11.0.0.254.
On inscrira dans cette zone tous les nœuds du réseau pour lesquels on désire que la résolution
inverse fonctionne. Un serveur de nom peut, pratiquement, fonctionner sans la définition de
cette zone tant que le réseau n’est pas relié à l’Internet. Si cela était le cas, il faudrait déclarer
cette zone, sans quoi, des services comme la messagerie électronique, ne pourrait fonctionner
correctement, notamment à causes des régles anti-spam.
IV.5.1.2. BIND en tant que serveur de nom

Fedora core 3 Linux contient BIND, qui est un serveur de nom puissant et très populaire.
BIND utilise le démon named pour fournir ses services de résolution de noms. Toutes les
informations de configuration pour BIND sont stockées dans le fichier /etc./named.conf et ses
fichiers de zone se trouvent dans le dossier /var/named.

Sur linux, nous allons utiliser deux types de fichiers :


• Le fichier /etc. / named.conf, qui décrit la configuration générale du serveur
DNS,
• Les fichiers qui contiennent les enregistrements de ressources pour la zone dans
/var/named.
Les enregistrements ont une structure et un rôle.

 Principaux types d’enregistrements

Les types d’enregistrements qui enrichissent une base de données DNS sont de plusieurs
types, dont voici les principaux :

• Enregistrement de type SOA (Start Of Authority) : Indique l’autorité sur la zone.


Ces enregistrements contiennent toutes les informations pour le domaine, par exemple le
délai de mise à jours des bases de données entre serveurs de noms primaires et
secondaires, le nom du responsable du site.

• Enregistrements de type NS (Name Server) : Ces enregistrements donnent les adresses des
serveurs de noms pour le domaine.

• Enregistrement de type A (Adresse) : Ces enregistrements permettent de définir les nœuds


fixes du réseau (ceux qui ont des adresses IP statiques). Serveurs, routeurs, switchs

• Enregistrements de type MX (Mail eXchanger) : Ils servent pour déclarer les serveurs de
messagerie.

• Enregistrements de type CNAME (Canonical Name) : Ils permettent de définir des alias sur
des nœuds existants.

• Enregistrement de type PTR (pointeur) : Ils permettent la résolution de nom inverse dans le
domaine in-addr.arpa.
Structure des enregistrements

 Structure d’un enregistrement SOA : Chaque fichier commence par un


enregistrement de type SOA. Voici un exemple d’enregistrement SOA.

IN SOA technique. Integranet.ma.


Postmaster.integranet.ma. (
20001210602 ; numéro de série
10800 ; rafaichissement
3600 ; retray
604800 ; expire
86400) ; TTL minimal de 1 jour

Caractéristiques des différentes informations :

Soa Start Of Authority, enregistrement qui contient les informations de synchronisation des
différents serveurs de nom.

-- integranet.ma, donne le nom de la zone.

-- postmaster.integranet.ma : la personne qui est responsable de la zone. Le premier point sera


remplacé par l’arobase (@) pour envoyer un courrier électronique. En général postmaster, est
une alias de messagerie électronique vers l’administrateur du DNS. Cela deviendra
postmaster@integranet.ma.

 Numéro de série : sert à identifier la dernière modification sur le serveur de nom


maître. Ce numéro sera utilisé par les serveurs de nom secondaires pour
synchroniser leur base. Si le numéro de série du serveur de nom primaire est
supérieur à celui des serveurs de noms secondaires, alors le processus de
synchronisation suppose que l’administrateur a apporté une modification sur le
serveur maître et les bases sont synchronisées.

 Rafraîchissement : Intervalle de temps donné en seconde pour indiquer au serveur


la période de test de la validité de ses données.

 Retray : Intervalle de temps avant réitération si l’essai précédent n’a pas


fonctionné.

 Expire : Temps au bout duquel le serveur ne remplit plus sa mission s’il n’a pu
contacter le serveur maître pour mettre à jour ses données.
 TTL : Time To Live, durée de vie des enregistrements. Plus la durée de vie est
courte, plus l’administrateur est susceptible de considérer que ses bases sont à
jour, par contre cela augmente le trafic sur le réseau.

 Enregistrement de type NS pour le domaine integranet.ma.

Integranet.ma. IN NS technique.integranet.ma.

 Enregistrements de type A : Nous devons décrire la correspondance Nom/Adresse

Technique.integranet.ma. IN A 11.0.0.3
Poste4.integranet.ma. IN A 11.0.0.5

S’il y avait d’autres hôtes sur la zone, il faudrait les définir ici.

 Enregistrements de type CNAME : Ce sont les alias (Canonical Name). Une


requête du type http://www.integranet.ma sera adressée à technique.integranet.ma,
puisque www est un alias de technique.

Technique.integranet.ma. IN CNAME www.integranet.ma.

 Enregistrement de type PTR : Il serviront à la résolution de nom inverse.

3.0.0.11. in-addr.arpa. IN PTR technique.integranet.ma.

5.0.0.11. in-addr.arpa IN PTR poste4.integranet.ma


IV.5.1.3. Installation d’un serveur DNS sous Unix :
Pour mettre en place le service de résolution de nom sur un serveur linux, on va procéder
successivement aux opérations suivantes (5) :
1. installer le package si cela n’est pas déjà réalisé,
2. configurer les fichiers,
3. démarrer le service serveur.

Installer le package

La résolution de nom est réalisée par les produits du package bind. La version actuelle est le
package bind-9.x. Qui remplace les versions antérieures. Dans cette version, de nombreuses
modifications ont été apportées surtout au niveau de la sécurité.

On va utiliser bind 9. Il faudra donc installer les fichiers bind-9.x et bind-utils-9.x Ce


deuxième package donne quelques outils comme host, nslookup… etc.

Procédure de configuration du serveur

L’installation a copié les fichiers. Sur une configuration simple on va avoir cinq fichiers à
créer ou à modifier sur le serveur primaire :
• /etc./named.conf (fichier de configuration globale du service DNS du serveur de nom
primaire),
• /var/named/db.integranet.ma qui contiendra la description de la correspondance nom-
adresse de toutes les machines du réseau.

• /var/named/db.0.0.11 qui contiendra la correspondance inverse adresse-nom (nom


la résolution inverse de nom in-addr.arpa),

• Un fichier /var/named/named.local pour la configuration locale (localhost-


127.0.0.1).
• Un fichier /var/named/db.0.0.127 pour la configuration reverse (127.0.0.1-
localhost).

Si le serveur était relié à Internet ou faisait office de serveur officiel, il y aurait


d’autres fichiers à configurer.

Configurer les fichiers


On peut configurer le serveur manuellement, c'est-à-dire créer les fichiers à l’aide d’un éditeur
de texte ou à l’aide d’un outil de configuration comme linuxconf. En général on n’installe,
jamais d’interface graphique sur un serveur pour des questions de sécurité. Nous allons donc
créer les fichiers complètement

IV.5.1.4. Configuration du DNS manuellement

Le fichier racine pour la configuration du serveur de nom est le fichier /etc./named.conf. Ce


fichier est lu au démarrage du service et donne la liste des fichiers qui définissent la base de
données pour la zone.

Configuration du DNS :
Le fichier racine pour la configuration du serveur de nom est le fichier
/etc./named.conf. Ce fichier est lu au démarrage du service et donne la liste des
fichiers qui définissent la base de données pour la zone.

♦ Le fichier named.conf
Le fichier commenté pour le domaine integranet.ma, d’adresse 11.0.0.0.
♦ Le fichier /var/named/db.integranet.ma

Le paramètre @, signifie qu’il s’agit du domaine ‘integranet.ma’ (le nom tapé


après le mot zone dans le fichier de configuration named.conf). Le paramétre
‘IN’, signifie qu’il s’agit d’un enregistrement de type Internet. Notez la présence
d’un point (.) après le nom des machines. Sans lui-ci, le nom serait étendu. Par
exemple, technique.integranet.ma (sans point) serait compris comme
technique.integranet.ma.integranet.ma (on rajoute le nom de domaine en
l’absence du point terminal).
♦ Le fichier /var/named/db.0.0.127

Ce fichier assure la résolution pour 1.0.0.127.in-addr.arpa