Recherche de site Web

Configurer un serveur DNS de mise en cache récursive de base et configurer des zones pour le domaine


Imaginez ce que ce serait si nous devions mémoriser les adresses IP de tous les sites Web que nous utilisons quotidiennement. Même si nous avions une mémoire prodigieuse, le processus de navigation vers un site Web serait ridiculement lent et prendrait beaucoup de temps.

Et qu’en est-il si nous devions visiter plusieurs sites Web ou utiliser plusieurs applications résidant sur la même machine ou hôte virtuel ? Ce serait l’un des pires maux de tête auquel je puisse penser – sans parler de la possibilité que l’adresse IP associée à un site Web ou à une application puisse être modifiée sans préavis.

Le simple fait d’y penser serait une raison suffisante pour cesser d’utiliser Internet ou les réseaux internes au bout d’un certain temps.

C’est précisément ce que serait un monde sans Système de noms de domaine (également connu sous le nom de DNS). Heureusement, ce service résout tous les problèmes mentionnés ci-dessus, même si la relation entre une adresse IP et un nom change.

C'est pourquoi, dans cet article, nous apprendrons comment configurer et utiliser un simple serveur DNS, un service qui permettra de traduire les noms de domaine en adresses IP et vice versa.

Présentation de la résolution de noms DNS

Pour les petits réseaux qui ne sont pas soumis à des modifications fréquentes, le fichier /etc/hosts peut être utilisé comme méthode rudimentaire de résolution de nom de domaine en adresse IP.

Avec une syntaxe très simple, ce fichier permet d'associer un nom (et/ou un alias) à une adresse IP de la manière suivante :

[IP address] [name] [alias(es)]

Par exemple,

192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com

Ainsi, vous pouvez accéder à la machine web soit par son nom, soit par l'alias web.mydomain.com, soit par son adresse IP.

Pour les réseaux plus grands ou ceux soumis à des changements fréquents, l'utilisation du fichier /etc/hosts pour résoudre les noms de domaine en adresses IP ne serait pas une solution acceptable. C’est là qu’intervient le besoin d’un service dédié.

Sous le capot, un serveur DNS interroge une grande base de données sous la forme d'une arborescence, qui commence à la zone racine (“. ”).

L’image suivante nous aidera à illustrer :

Dans l'image ci-dessus, la zone racine (.) contient les domaines com, edu et net. Chacun de ces domaines est (ou peut être) géré par différentes organisations pour éviter de dépendre d'une grande organisation centrale. Cela permet de bien répartir les requêtes de manière hiérarchique.

Voyons ce qui se passe sous le capot :

1. Lorsqu'un client envoie une requête à un serveur DNS pour web1.sales.me.com, le serveur envoie la requête au serveur DNS supérieur (racine), qui pointe la requête vers le serveur de noms dans la zone .com.

Ceci, à son tour, envoie la requête au serveur de noms de niveau suivant (dans la zone me.com), puis à sales.me.com. Ce processus est répété autant de fois que nécessaire jusqu'à ce que le FQDN (Nom de domaine entièrement qualifié, web1.sales.me.com dans cet exemple) est renvoyé par le serveur de noms de la zone à laquelle il appartient.

2. Dans cet exemple, le serveur de noms dans sales.me.com. répond à l'adresse web1.sales.me.com et renvoie l'association nom de domaine-IP souhaitée et d'autres informations également (si configurées pour le faire).

Toutes ces informations sont envoyées au serveur DNS d'origine, qui les renvoie ensuite au client qui les a demandées en premier lieu. Pour éviter de répéter les mêmes étapes pour de futures requêtes identiques, les résultats de la requête sont stockés dans le serveur DNS.

Ce sont les raisons pour lesquelles ce type de configuration est communément appelé serveur DNS récursif avec mise en cache.