Chapitre 11. Les serveurs DNS

DNS (Domain Name System) est un système de base de données distribué utilisé pour associer les noms d'hôtes à leurs adresses IP respectives. Pour les utilisateurs, cela a l'avantage qu'ils peuvent faire référence à des machines du réseau par leur nom, ce qui est normalement plus facile à mémoriser que les adresses numériques de réseau. Pour les administrateurs de système, l'utilisation d'un serveur DNS (ou nameserver) permet de changer l'adresse IP pour un hôte sans affecter pour autant les recherches basées nom. L'utilisation des bases de données DNS sert non seulement à résoudre les adresses IP en noms de domaine, mais leur utilisation s'élargit de plus en plus au fur et à mesure que DNSSEC se déploie.

11.1. Introduction à DNS

DNS est généralement implémenté à l'aide d'un ou plusieurs serveurs centralisés qui font autorité pour certains domaines. Lorsqu'un hôte client demande des informations à un serveur de noms, il se connecte généralement au port 53. Le serveur de noms tente alors de résoudre le nom demandé. Si le serveur de noms est configuré en serveur de noms récursifs et qu'il n'a pas une réponse faisant autorité, ou n'a pas la réponse en cache suite à une requête antérieure, il interroge d'autres serveurs de noms, appelés serveurs de noms racine, pour déterminer quels serveurs de noms font autorité pour le nom en question, puis, il les interroge pour obtenir le nom demandé. Les noms de serveurs configurés comme étant purement autoritatifs, avec la récurrence désactivée, ne feront pas de recherches pour les compte des clients.

11.1.1. Zones de noms de serveurs

Dans un serveur DNS, toutes les informations sont stockées dans des éléments de base de données appelés enregistrements de ressources (RR). Les enregistrements de ressources sont définis dans RFC 1034. Les noms de domaine sont organisés en structure arborescente. Chaque niveau de la hiérarchie est divisé par un point (.). Par exemple : le domaine racine, précédé de ., correspond à la racine de l'arborescence DNS, qui est au niveau zéro. Le nom de domaine com, dénommé le domaine de premier niveau (TLD) est un enfant du domaine racine (.) et correspond donc au premier niveau de la hiérarchie. Le nom de domaine example.com est au deuxième niveau de la hiérarchie.

Exemple 11.1. Un simple enregistrement de ressource

Exemple d'enregistrement de ressource ou enregistrement de ressource (RR) simple :
example.com.      86400    IN         A           192.0.2.1
Le nom de domaine example.com est le propriétaire du RR (enregistrement de ressource). La valeur 86400 correspond à la durée de vie (ou TTL). Les lettres IN (remplaçant « système Internet »), indiquent la classe de l'enregistrement de ressource ( RR). La lettre A indique le type de RR (dans cet exemple, une adresse d'hôte). L'adresse de l'hôte 192.0.2.1 représente les données contenues dans la dernière partie de cet enregistrement de ressource (RR). C'est un exemple d'enregistrement de ressource (RR) en une ligne. Un ensemble d'enregistrements de ressources avec les mêmes type, propriétaire et classe est appelé un resource record set (RRSet).
Les zones sont définies sur les serveurs de noms autoritatifs par l'utilisation des fichiers de zone, qui contiennent des définitions des enregistrements de ressources dans chaque zone. Les fichiers sont stockés sur des serveurs de noms primaires (également appelés serveurs de noms maîtres), où des modifications sont apportées aux fichiers et aux serveurs de noms secondaires (également appelés noms de serveurs esclaves), qui reçoivent des définitions de zones des serveurs de noms primaires. Les serveurs de noms primaires et secondaires font autorités pour la zone et se ressemblent pour le client. Selon la configuration, un serveur de noms peut également servir de serveur principal ou secondaire pour plusieurs zones à la fois en même temps.
Notez que les administrateurs de serveurs DNS et DHCP, ainsi que toute application de provisioning, doivent s'accorder sur le format des noms d'hôtes utilisé dans une organisation. Veuillez consulter le Section 3.1.1, « Pratiques de nommage conseillées » pour obtenir davantage d'informations sur les formats de noms d'hôtes.

11.1.2. Types de noms de serveurs

Il existe deux types de déclarations dans le fichier de configuration :
authoritative
Les serveurs de noms autoritatifs répondent à des enregistrements de ressources qui font partie de leur zone uniquement. Cette catégorie inclut à la fois les serveurs primaires (master) et secondaires (esclave).
recursive
Les serveurs de noms récursifs offrent des services de résolution, mais ils ne font pas autorité pour toutes les zones. Des réponses pour toutes les résolutions sont mises en cache en mémoire pour une période déterminée, qui est spécifiée par l'enregistrement de ressource obtenue.
Bien qu'un serveur de noms puisse être à la fois faire valoir d'autorité et être récursif, il est recommandé ne pas de combiner les types de configuration. Pour être en mesure d'exécuter leur travail, les serveurs faisant autorités doivent être disponibles à tous les clients à tout moment. Mais comme la recherche récursive prend beaucoup plus de temps que les réponses qui font autorité, les serveurs récursifs doivent être accessibles à un nombre restreint de clients uniquement, sinon, ils auront tendance à lancer des attaques par déni de service (DDoS).

11.1.3. BIND en tant que serveur de noms

BIND représente un ensemble de programmes liés à DNS. Il comprend un serveur de noms intitulé named, un utilitaire d'administration intitulé rndc, et un outil de déboggage intitulé dig. Voir le guide Red Hat Enterprise Linux 7 System Administrator's Guide pour obtenir plus d'informations sur la façon d'exécuter un service dans Red Hat Enterprise Linux.