DNS : Enregistrement NS pour un domaine

Bonjour tout le monde,

supposons que j’ai une machine ns.example.com d’adresse ip 88.777.666.555.
Il contient les enregistrements DNS classiques du domaine example.com, comme suit :

example.com NS ns.example.com
example.com NS dns.ovh.net

example.com A 88.777.666.555
...

Comme vous le voyez ci-dessus, le serveur DNS primaire du domaine exemple.com est la machine ns.example.com, car la valeur de NS de example.com est ns.example.com. Donc c’est la machine ns.example.com qui informe tous les enregistrements (A, CNAME, MX…) du domaine example.com.

Maintenant, si par exemple, je change ns.example.com par ns.autre.com dans la 1ère ligne, donc le serveur DNS primaire est ns.autre.com. Est-ce que ça veut dire que tous les enregistrements (A, CNAME, MX…) du domaine example.com dans la machine ns.example.com seront ignorés, et que la machine ns.example.com redirige la requête dns du client vers le serveur DNS ns.autre.com ?

Merci d’avance, cordialement.

L’adresse IP de ns.example.com n’est pas définie par un enregistrement A ni AAAA alors qu’il fait partie de la zone, en tout cas dans l’extrait fourni.

D’autre part, un fichier de zone ne dit pas si un NS est primaire ou pas. Tous les NS sont équivalents, l’ordre est sans importance.

Note : dans un fichier de zone, il faudrait que tous les noms complets se terminent pas un point à moins que l’origine soit le domaine racine “.”.

Non. Si ns.example.com reste configuré comme faisant autorité pour la zone example.com (zone de type “master” ou “slave”) et reçoit des requêtes la concernant, il continuera à y répondre avec ses propres informations. Dans le cas contraire, il ne retransmettra les requêtes que s’il est configuré comme serveur récursif.

Bonjour et merci pascalHambourg pour la réponse.

Je vais cogiter par rapport à tes éléments de réponse.

Je reviens sur ce fil,

[quote=“PascalHambourg”][quote=“fluo”]
Comme vous le voyez ci-dessus, le serveur DNS primaire du domaine exemple.com est la machine ns.example.com[/quote]

L’adresse IP de ns.example.com n’est pas définie par un enregistrement A ni AAAA alors qu’il fait partie de la zone, en tout cas dans l’extrait fourni.[/quote]
=> effectivement, j’ai oublié de faire un enregistrement de type A (ou AAAA) pour ns.example.com, comme ceci :

example.com NS ns.example.com
example.com NS dns.ovh.net

ns.example.com A 88.777.666.555

example.com A 88.777.666.555

[quote=“PascalHambourg”]
Non. Si ns.example.com reste configuré comme faisant autorité pour la zone example.com (zone de type “master” ou “slave”) et reçoit des requêtes la concernant, il continuera à y répondre avec ses propres informations. [/quote]
=> effectivement, c’est dans le fichier /etc/bind9/named.conf qu’on doit définir les serveurs DNS primaire et secondaire pour un domaine. Exemple :

=>Mais il y a un truc que je ne comprend pas : si on précise déjà le serveur DNS primaire et secondaire du domaine example.com dans le fichier /etc/named.conf, alors quel est intérêt de rajouter les enregistrements NS dans le fichier de zone du serveur DNS primaire du domaine example.com (càd dans /etc/bind9/db.example.com) ? :

example.com NS ns.example.com
example.com NS dns.ovh.net

example.com A 88.777.666.555
...

Les enregistrements contenus dans le fichier de zone et les options de la définition de la zone dans named.conf ne servent pas à la même chose.

Les enregistrements sont les données de la zone publiées par tous les serveurs DNS faisant autorité pour la zone (maîtres ou esclaves), et accessibles aux autres serveurs DNS ou résolveurs récursifs. Les enregistrements NS permettent à n’importe qui de savoir quels serveurs ont délégation pour une zone.

Les options de la définition de zone sont uniquement à l’usage interne du serveur afin de savoir comment il doit gérer la zone. Pour une zone esclave, il faut lui indiquer les adresses des serveurs maîtres (qui peuvent eux-mêmes être esclaves d’autres serveurs maîtres) qu’il peut contacter pour mettre à jour sa copie de la zone par transfert de zone. Pour une zone maître, il faut lui indiquer les serveurs esclaves qui ont le droit de demander un transfert de cette zone si on a restreint ce droit dans la configuration globale, et le cas échéant les adresses des serveurs à notifier d’un changement de la zone qui ne font pas partie des enregistrement NS de la zone.

Il est important de garder à l’esprit que les adresses utilisées par les serveurs maîtres et esclave pour communiquer entre eux (privées) ne sont pas forcément les mêmes que celles des serveurs définis dans les enregistrements NS (publics).

Merci beaucoup PascalHambourg pour tous ces éclaircissements.

Tu as parlé de résolveur récursif. Qu’est-ce que c’est exactement ?

Un résolveur (traduction libre de “resolver”) est un service, démon ou bibliothèque, qui agit comme un client DNS pour effectuer la résolution de noms des processus locaux. Dans un système GNU/Linux, ce rôle est joué par la bibliothèque libresolv qui fait partie de la glibc (libc6).

Un résolveur récursif est capable d’effectuer la résolution récursive en interrogeant les différents serveurs DNS faisant autorité, de la zone racine jusqu’au nom de domaine complet.

A l’inverse, un résolver “stub” ne sait pas faire la résolution récursive et doit interroger des serveurs DNS récursifs qui vont à leur tour faire la résolution récursive en interrogeant les serveurs DNS faisant autorité.

Merci beaucoup PascalHambourg pour ton aide et bonne année.