DNS secondaire

Le Domain Name System, abrégé en DNS, est un système mondial permettant la traduction de domaines Internet en adresses IP. Le DNS fournit une adresse IP pour chaque nom de domaine et fonctionne ainsi comme un « annuaire » Internet. En termes de concept, l’adresse IP correspond à l’adresse postale à laquelle les paquets peuvent être envoyés. Voici quelques exemples de requêtes DNS :

Nom de domaine interrogé Adresse IP renvoyée
« example.com » « 93.184.216.34 »
« ionos.fr » « 217.160.86.7 »

Au vu de l’importance cruciale du DNS, il est judicieux de conserver les informations DNS de façon redondante sur différents systèmes. De cette manière, les informations restent accessibles même si une panne des différents composants du DNS se produit. D’autre part, la proximité géographique d’un serveur détermine la rapidité des réponses. Dans le cas d’un système redondant, on opère une distinction entre la source et la ou les copies éventuelles. En pratique, un tel dispositif nécessite un mécanisme permettant de répercuter les modifications de la source dans les copies redondantes.

Serveurs virtuels (VPS)
Faites le choix de la performance
  • Virtualisation complète avec accès root
  • Trafic illimité et jusqu'à 1 Gbit/s de bande passante
  • Stockage SSD NVMe rapide et édition Plesk Web Host

Qu'est-ce qu’un DNS secondaire ?

Un mécanisme essentiel permettant de diffuser les informations du DNS pour une zone DNS à plusieurs serveurs a vu le jour dans la spécification publiée par l’Internet Engineering Task Force (IETF) en 1996. Cette spécification définit la façon dont un serveur DNS primaire (ou primary DNS en anglais), à l'époque encore appelé « maître », informe un groupe de serveurs DNS secondaires (ou secondary DNS en anglais), appelés « esclaves », des modifications apportées à la zone DNS. Les serveurs DNS secondaires doivent envoyer une requête au serveur DNS primaire afin d’obtenir les modifications.

Citation

« Ce document décrit le NOTIFY opcode pour le DNS par lequel un serveur primaire informe un groupe de serveurs secondaires du fait que les données du serveur primaire ont été modifiées et demandant aux serveurs secondaires d’adresser une requête pour obtenir les nouvelles données. » – Internet Engineering Task Force » (IETF), source : https://www.ietf.org/rfc/rfc1996.txt, traduction : IONOS

(En anglais : « This memo describes the NOTIFY opcode for DNS, by which a master server advises a set of slave servers that the master's data has been changed and that a query should be initiated to discover the new data. »)

Note

L’utilisation des termes « maître » et « esclave » dans les technologies de l'information a été déconsidérée au vu de l'histoire liée à ces termes. De nos jours, ils sont de plus en plus remplacés par des termes équivalents.

Par définition, il n’existe qu’un seul serveur DNS primaire par zone DNS. Ce serveur conserve les informations DNS source pour la zone et sert de point d’entrée pour l’administrateur de la zone. Les modifications apportées à une zone DNS sont réalisées sur le serveur DNS primaire. Le cas échéant, plusieurs serveurs DNS secondaires répartis dans le monde entier peuvent être utilisés pour dupliquer les informations DNS. Pour l’hébergement du serveur DNS secondaire, on utilise souvent un fournisseur de DNS séparé.

Veuillez noter que les termes « primaire » et « secondaire » sont employés à deux occasions lorsque l’on s’intéresse au DNS. Vous avez peut-être déjà remarqué que vous aviez la possibilité de modifier les serveurs DNS dans les paramètres système de votre connexion réseau. Il n’est pas rare que ces serveurs soient également désignés par les termes « primaire » et « secondaire ». Il s’agit toutefois d’un double emploi de ces termes. Lorsque l’on parle de zone DNS, les deux types de serveurs que vous paramétrez peuvent être des serveurs DNS secondaires. D’autre part, vous pouvez configurer autant de serveurs que vous le souhaitez et ne pas vous limiter à deux serveurs DNS.

Quelle est la différence entre DNS secondaire et primaire ?

Tout d’abord, notons que les serveurs DNS primaires et les serveurs DNS secondaires sont des « serveurs de noms faisant autorité » pour la zone concernée. Cela signifie que les informations enregistrées pour la zone DNS sont totalement fiables. Les serveurs de noms faisant autorité sont à opposer aux serveurs de noms procédant à une mise en cache qui enregistrent uniquement les informations DNS des requêtes DNS déjà résolues.

La principale différence entre un serveur DNS primaire et un serveur DNS secondaire est que le second est avant tout à visée administrative. Le serveur DNS primaire contient les informations DNS d’une zone DNS dans le fichier de zone (« Zone File »). Les éventuelles modifications apportées au fichier de zone sont effectuées par l’administrateur de la zone directement. En revanche, le fichier de zone d’un serveur DNS secondaire ne peut pas être modifié directement. En effet, les modifications du fichier de zone sont obtenues via le serveur DNS primaire.

En cas de modification du fichier de zone, les serveurs DNS secondaires sont informés de la modification et demandent à obtenir les données modifiées. La transmission des informations DNS entre les serveurs DNS est connue sous le nom de transfert de zone (« Zone Transfer »). Dans le cas d’un transfert de zone, le destinataire est un serveur DNS secondaire et la source est le serveur DNS primaire. Veuillez noter qu’un même serveur physique peut être à la fois le serveur DNS primaire d’une zone DNS et un serveur DNS secondaire pour une autre zone.

Comment fonctionne un serveur DNS secondaire ?

La caractéristique déterminante d’un serveur DNS secondaire est que le fichier de zone est transmis au serveur depuis une source externe. Différents mécanismes sont utilisés pour le transfert de zone. L’entrée DNS « Start of Authority » (SOA) joue un rôle fondamental dans le règlement du transfert de zone. Cette entrée contient plusieurs champs :

  • le champ « MNAME » contient l’adresse IP du serveur DNS primaire.
  • Par ailleurs, l’entrée SOA contient une série de champs définissant à quel intervalle le serveur DNS secondaire demande de lui-même les modifications au serveur primaire.

Ci-dessous, nous analysons trois configurations DNS fréquemment utilisées.

Primary/Secondary

En un sens, il s’agit de la configuration « classique » pour diffuser les informations DNS d’une zone à plusieurs serveurs DNS faisant autorité. Pour ce faire, on utilise un serveur DNS primaire indiqué dans le champ MNAME de l’entrée SOA. Les serveurs DNS secondaires vérifient régulièrement si une modification a été apportée aux informations DNS pour leur zone et initient un transfert des données modifiées si nécessaire. De plus, le serveur primaire peut informer les serveurs DNS secondaires des modifications via une instruction Notify.

Hidden Primary

L’approche qualifiée de « Hidden Primary » est une variante intéressante de la configuration classique « Primary/Secondary ». Dans ce cas, le serveur primaire travaille toutefois secrètement. Le serveur indiqué dans le champ MNAME de l’entrée SOA n’est pas le véritable serveur primaire. Par conséquent, les serveurs DNS secondaires ne peuvent pas demander les modifications de la zone DNS par eux-mêmes et le serveur « Hidden Primary » doit explicitement leur demander de procéder aux modifications via une instruction Notify.

Une approche populaire consiste à configurer un ordinateur du réseau local comme serveur DNS et à l’utiliser comme « Hidden Primary ». Cette méthode comporte deux avantages directs :

  • Les modifications apportées au fichier de zone peuvent être effectuées localement, en toute simplicité.
  • L’ensemble du trafic DNS entrant est géré par les serveurs DNS secondaires.

Pour cette approche, il est recommandé de sécuriser la communication entre les serveurs DNS secondaires et le serveur Hidden Primary à l’aide de la technologie de chiffrement DNSSEC.

Primary/Primary

Cette configuration est une évolution plus récente dans laquelle on utilise plusieurs serveurs DNS faisant autorité pour une zone DNS, chacun d’entre eux contenant les données source. Aucun transfert de zone n’a lieu et il n’existe donc aucun serveur DNS secondaire à proprement parler. Chaque modification apportée à la zone DNS requiert un recoupement coordonné des serveurs DNS primaires. Pour ce faire, on utilise des systèmes propriétaires. Imaginez par exemple un système externe, doté d’une interface graphique utilisateur et d’une interface de programmation d’application, utilisé pour modifier les informations DNS et diffuser les modifications.

Pourquoi utiliser un serveur DNS secondaire ?

Les avantages à l’utilisation de serveurs DNS secondaires sont nombreux. Afin de mieux comprendre ces avantages, imaginons un instant ce qui se produirait s’il existait un seul serveur DNS pour une zone DNS. Une telle configuration aurait notamment les effets négatifs suivants :

  • Les utilisateurs situés à une plus grande distance du serveur DNS primaire subiraient un retard dans les réponses par rapport aux utilisateurs situés à proximité.

Dans ce cadre, un serveur DNS secondaire garantit la performance des réponses aux requêtes DNS.

  • En cas de panne du serveur DNS primaire, les informations faisant autorité pour la zone DNS ne seraient soudainement plus disponibles.

Dans un tel cas, un serveur DNS secondaire assure une redondance et une disponibilité élevée des informations DNS.

  • À partir d’un certain point, l’augmentation des requêtes DNS entrantes entraînerait une surcharge du serveur DNS primaire.

Dans ce cas, un serveur DNS secondaire permet de répartir la charge offrant ainsi une disponibilité élevée des informations DNS.

Comme vous pouvez le constater, une configuration sans serveur DNS secondaire serait fortement exposée aux erreurs techniques et aux cyberattaques.

Les avantages liés à l’utilisation d’un serveur DNS secondaire que nous venons de présenter sont de nature technique. Cependant, les serveurs secondaires comportent un autre avantage d’ordre administratif. Cet avantage devient manifeste lorsqu’une organisation souhaite passer à un nouveau fournisseur de DNS. Dans un tel cas, le concept de gestion de la zone DNS existant peut toujours être utilisé, par ex. dans une configuration « Hidden Primary ». En tant que serveur DNS secondaire, le nouveau fournisseur de DNS se charge alors de répondre aux requêtes DNS entrantes.

Comment trouver le serveur DNS secondaire ?

La différence entre un serveur DNS primaire et un serveur DNS secondaire est avant tout de nature administrative. Pour un observateur externe, il est impossible de déterminer de façon concluante si un serveur DNS faisant autorité est un serveur primaire ou un serveur secondaire. Par ailleurs, un même serveur peut être un serveur DNS primaire pour une zone et un serveur DNS secondaire pour une autre. Le champ MNAME de l’entrée SOA ne fournit ici aucune indication puisque le serveur DNS primaire véritable peut être exploité en configuration « Hidden Primary ».

Page top