Table des matières

Notions de base

Découverte du serveur DNS utilisé

Donc, notre fournisseur d'accès nous propose une ou plusieurs adresses de serveurs DNS récursifs, et notre système va les récupérer lors de sa configuration IP. Pour connaitre ces adresses, il faut savoir retrouver sa configuration. La façon de faire varie suivant le système d'exploitation utilisé.

Le clicodrome Windows propose quelques chemins plus ou moins détournés. Le plus simple étant sans doute d'utiliser la commande nslookup dans une invite de commandes :

C:\Documents and Settings\chris>nslookup
Serveur par défaut :  dns1.proxad.net
Address:  212.27.40.240

Nous sommes ici dans le cas d'une machine sous MS Windows, connectée à une FreeBox en mode pont ethernet (nous n'exploitons pas les fonctions de routage). Il est également possible de récupérer l'information avec la commande :

C:\Documents and Settings\chris>ipconfig /all

Configuration IP de Windows
        ...
Carte Ethernet Connexion au réseau local:
        ...
        Serveurs DNS . . . . . . . . . .  : 212.27.40.240
                                            212.27.40.241

Pour les distributions Debian GNU/Linux et dérivées, l'information se trouve généralement dans le fichier /etc/resolv.conf :

# cat /etc/resolv.conf
nameserver 212.27.40.240
nameserver 212.27.40.241

Test de résolution

Windows XP propose la commande nslookup, qui permet d'effectuer une résolution manuellement. Exemple :

C:\Documents and Settings\caleca>nslookup irp.nain-t.net
Serveur par défaut :  dns1.proxad.net
Address:  212.27.40.240

Réponse ne faisant pas autorité :
Nom :    irp.nain-t.net
Address:  213.186.40.149

Ça fonctionne, et le Réponse ne faisant pas autorité est à se mettre sous le coude, nous comprendrons plus tard ce que cela veut dire.

Dans les systèmes GNU/Linux, la commande nslookup n'est plus maintenue. Les outils à retenir sont host et dig.

# host irp.nain-t.net
irp.nain-t.net has address 213.186.40.149

Quel que soit le service que nous utilisons sur un réseau, navigateur web, client de messagerie, IRC, dès lors que nous identifions le serveur interrogé par son nom, le système devra effectuer une résolution de ce nom, de manière à trouver l'adresse IP correspondante, et exploitera les services du serveur DNS, comme nous l'avons fait avec nslookup ou host.

Analyse d'un FQDN

Prenons un exemple un peu compliqué, comme www.education.gouv.fr ; en toute rigueur, il serait plus correct d'écrire www.education.gouv.fr. (avec un point final, subtile différence).

FQDN

Ainsi, un serveur (un hôte), ici www appartiendrait à un sous-domaine (education) du domaine gouv, lui-même étant un élément du domaine générique fr (la réalité n'est hélas pas si simple, comme l'avenir va le montrer). Notons qu'il serait plus judicieux de parler d'un nœud ; en effet, un hôte peut disposer de plusieurs interfaces réseau et donc disposer de plusieurs adresses IP.

Nous avons donc une structure arborescente dont l'origine est le fameux point final, que l'on omet généralement, mais qui existe bel et bien et qui représente la racine de l'arbre. Nous pouvons d'ailleurs utiliser la commande host comme ceci :

$ host www.education.gouv.fr.
www.education.gouv.fr is an alias for front.webedu.men.aw.atosorigin.com.
front.webedu.men.aw.atosorigin.com has address 160.92.130.142

Tiens, voilà autre chose…

www.education.gouv.fr ne serait pas un « vrai nom », mais simplement un synonyme de front.webedu.men.aw.atosorigin.com ? Encore une remarque à se mettre sous le coude. En effet, DNS prévoit qu'un hôte (un nœud) puisse s'appeler de diverses manières, parfois très différentes comme c'est le cas ici. L'éclaircissement viendra sans doute dans la suite de ce chapitre.

Pourquoi « serveur récursif » ?

Dans la suite de ce chapitre, nous allons voir d'un peu plus près comment un serveur DNS est structuré et comment l'architecture arborescente d'un FQDN est en fait l'image d'une arborescence de serveurs DNS spécialisés.

A priori, un serveur DNS récursif n'a par lui-même aucune réponse, du moins aucune réponse « qui fait autorité ». en revanche il sait exactement rechercher qui et dans quel ordre il faut interroger pour obtenir une réponse « qui fait autorité ». Comme en informatique, la paresse et la mémoire sont deux qualités fondamentales, notre serveur DNS récursif va conserver dans sa mémoire pendant « un certain temps » les résultats de recherche qu'il a obtenus et s'en servira en priorité, pour avoir moins de travail. Nous étudierons tout ceci plus loin, mais cette fonctionnalité explique déjà la réponse « ne faisant pas autorité » vue plus haut. En effet, lorsqu'un serveur DNS sert une réponse issue de son cache, il signale de cette manière qu'elle ne vient pas d'un serveur de référence.