Enregistrement DNS A vs NS

42

J'essaie de comprendre un peu mieux le DNS, mais je n'ai toujours pas les enregistrements A et NS complètement.

Pour autant que je sache, l'enregistrement A indique quelle adresse IP appartient à un (sous) domaine, jusqu'à présent, cela était encore clair pour moi. Mais si j'ai bien compris, l'enregistrement NS indique quels points de serveur de noms appartiennent à un (sous) domaine, et ce serveur de noms doit indiquer quelle adresse IP appartient à un (sous) domaine. Mais cela était déjà spécifié dans l'enregistrement A dans le même fichier DNS. Alors, quelqu'un peut-il m'expliquer ce que font exactement les enregistrements et les serveurs de noms NS, car j'ai probablement compris quelque chose qui n'allait pas.

edit: Si je vous ai bien compris, un enregistrement NS indique que vous devez trouver le serveur DNS avec l’enregistrement A pour un certain domaine, et l’enregistrement A vous indique quelle adresse IP appartient à un domaine. Mais à quoi sert-il de mettre un enregistrement A et un enregistrement NS dans le même fichier DNS? S'il existe déjà un enregistrement A pour un certain domaine, pourquoi devez-vous indiquer un autre serveur DNS qui vous donnerait probablement les mêmes informations?

Tiddo
la source
Pardonnez l'orgueil sur une vieille question, mais je suis un administrateur DNS et je ne considère aucune des réponses votées pour expliquer correctement le problème. Je peux comprendre cette question parce que j’ai eu moi-même la même confusion à mes débuts. J'ai fourni une réponse personnelle.
Andrew B

Réponses:

44

Quelques exemples hors du foo.comfichier de zone fictif

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

A Record = "L'hôte appelé foo.comhabite à l'adresse 192.168.100.1"
NS Record = "Si vous voulez en savoir plus sur les hôtes de la foo.comzone, demandez au serveur de noms ns1.bar.com"

voretaq7
la source
3
J'adore les références de foobar. : D
JohnThePro
2
@ Tiddo, l'une des principales raisons est que les serveurs esclaves sont généralement informés des changements de zone car ils sont répertoriés comme des enregistrements NS. De même, si vous interrogez l' ns1.foo.comadresse du serveur faisant autorité pour rechercher quelque chose d'autre et que l'enregistrement n'existe pas, vous obtiendrez des NXDOMAINincidents inattendus (mais cela fonctionnera pour les personnes ayant interrogé le comserveur parent, car il y aurait probablement de la colle A enregistre là-bas)
voretaq7
1
@JohnThePro - mon autre option était example.com, et je déteste les références à example.com :-)
voretaq7
3
@ voretaq7 Donc, fondamentalement, les enregistrements NS sont utilisés comme mécanisme de sauvegarde et pour avertir ces serveurs de noms lorsque l'adresse IP du domaine change?
Tiddo
2
@tiddo et comme poteau indicateur comme décrit ci-dessus et dans de nombreuses autres réponses. J'oublie peut-être d'autres aspects liés aux disques de NS, mais ce sont les deux plus importants qui me viennent à l'esprit.
voretaq7
18

C'est une vieille question, mais je pense que les autres réponses ne concernent pas vraiment la source de la confusion. NSles enregistrements au sommet suivent un ensemble de règles différent de celui des NSenregistrements situés au-dessous du sommet.

À partir de ces règles, nous pouvons dériver deux comportements différents pour ce qui se produit lorsqu'un Aenregistrement existe sur un serveur DNS portant le même nom:

  • Si l' NSenregistrement ne définit pas de référence, d'autres données peuvent exister parallèlement dans la même zone. Étant donné que le serveur se considère comme faisant autorité pour l' NSenregistrement et l' Aenregistrement, il n'y a pas de conflit. C'est pourquoi d'autres données cohabitent généralement avec les NSenregistrements situés au sommet d'une zone.
  • Si le NSdossier ne définit un renvoi, le Adossier est effectivement « masquée » par une coupure de zone . Cet Aenregistrement ne fait pas autorité et ne doit pas apparaître dans la section réponse d'une réponse faisant autorité. Il peut potentiellement être utilisé comme donnée de collage qui apparaît dans la section supplémentaire de la référence, mais c'est tout.

Déroutant? Ouais c'est ça. Laissez une note dans les commentaires si vous avez du mal à suivre cela et je verrai ce que je peux faire.

Andrew B
la source
Qu'entendez-vous par APEX?
Ryan-Neal Mes
@ Ryan-Neal Les NSenregistrements en haut du fichier de zone.
Andrew B
9

Les enregistrements NS spécifient les serveurs qui fournissent des services DNS pour ce nom de domaine.

Les points d’hôte A enregistrent les noms d’hôte (tels que www, ftp, mail) sur une ou plusieurs adresses IP.

mrdenny
la source
7

un enregistrement A mappe un nom sur une adresse IP. par exemple

binary.example.com. DANS UN 192.168.1.42

déclare que binary.example.com. résout en 192.168.1.42

un enregistrement NS mappe un nom sur un autre serveur de noms, c’est-à-dire un autre serveur DNS desservant ce domaine. C'est-à-dire "Je n'ai aucune idée de l'adresse IP de ce nom, mais si vous allez demander à ce serveur de noms là-bas, il le saura peut-être"

binary.example.com. EN NS otherbox.example.com
otherbox.example.com. DANS UN 192.168.1.2

Si vous demandez à un serveur DNS qui a les 2 enregistrements ci-dessus pour binary.example.com. (ou www.binary.example.com. ou foo.bar.binary.example.com). cela vous indiquera que vous devrez demander à 192.168.1.2 de traduire ces noms (bon, ou le serveur DNS peut le faire pour vous, ou les noms résolus pourraient être mis en cache et vous être renvoyés.)

non
la source
vous verrez souvent des enregistrements DNS spécifiant les enregistrements NS et A pour les mêmes domaines. Mais si un enregistrement NS indique qu'il faut trouver l'enregistrement A, quelle est l'utilisation de l'enregistrement NS dans ce même fichier, si l'enregistrement A est déjà là?
Tiddo
Ce fut mon explication préférée parmi tous!
Benjamin
6

Il est important d’avoir les enregistrements NS et A dans la zone si vous devez déléguer une sous-zone à un serveur DNS différent.

Par exemple, nous avons un serveur DNS ns1.bar.com faisant autorité pour zone bar.com. Et nous devons déléguer foo.bar.com à ns1.foo.bar.com. Nous devons donc créer la zone foo.bar.com et y mettre les enregistrements suivants:

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

Si nous n’avons pas, une délégation d’enregistrements ne fonctionnera pas. Ces paires d'enregistrement sont appelées enregistrements de colle.

Les enregistrements collés sont le seul moyen pour le système DNS de trouver l'adresse IP exacte du serveur DNS faisant autorité pour la zone non racine. Si vous vérifiez n'importe quel domaine pour un enregistrement NS en utilisant digou que vous voyez un vidage de la circulation avec Wirehark, vous verrez qu'il y a une section "supplémentaire" dans la réponse.

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

Lorsque vous effectuez une requête récursive, par exemple www.foo.bar.com, votre client DNS demande le nom DNS faisant autorité pour la zone foo.bar.com et obtient la réponse ns1.foo.bar.com.

Pour aller plus loin, il faut envoyer une demande à ns1.foo.bar.com, qui est desservie par ... ns1.foo.bar.com. Pour rompre la boucle, la délégation du serveur DNS doit ajouter cette section supplémentaire, avec un enregistrement.

Le serveur ns1.foo.bar.com doit avoir les mêmes enregistrements dans sa zone, il peut donc faire autorité pour la zone foo.bar.com.

Duc Duc
la source
Avoir du mal à comprendre le problème de la poule et de l’œuf jusqu’à ce que j’aie vu votre explication concernant le disque de colle!
Jon Skarpeteig
3

Les enregistrements NS existent UNIQUEMENT dans le but de définir quels noms de serveurs sont responsables d'un domaine particulier.

Un enregistrement A existe pour "ADRESSE" une machine ou un service particulier.

Exemples pour vous:

Dans votre panneau de configuration DNS, vous verrez des enregistrements NS, il s’agit de NOMSERVER, ou de votre ordinateur principal chargé de dire à Internet où se trouvent les éléments de votre domaine.

NS1.CP.COM NS2.CP.COM

De plus, à l'intérieur de votre panneau DNS, vous aurez un domaine que vous possédez (par exemple, -mikesfunhouse.com) sur lequel vous devez disposer de certains services, comme un site Web.

Donc, ce que vous ferez est d’avoir un enregistrement Primaire A, en pointant "mikesfunhouse.com" sur "76.19.87.956" (évidemment une fausse adresse IP).

Ensuite, vous ferez un autre enregistrement, un enregistrement www, qui redirigera le sous-domaine "www." partie à votre site principal.

En bref, vous utilisez les enregistrements A pour convertir un espace-noms en une adresse IP.

JohnThePro
la source
1

L'enregistrement de serveur de noms indique à Internet quel serveur DNS contient les enregistrements A; par conséquent, pour rechercher un enregistrement A dans un sous-domaine, vous devez procéder comme suit:

Rechercher les serveurs de noms du domaine -> Interroger le serveur de noms pour l'enregistrement A du sous-domaine

James L
la source
Mais si les enregistrements A sont déjà dans ce même fichier, pourquoi devriez-vous spécifier les enregistrements NS?
Tiddo
1
C'est tout ce que vous cherchez. Le disque NS est comme le point de départ. Si un serveur n'avait JAMAIS JAMAIS visité votre domaine, il trouverait d'abord que le serveur NS répond pour votre domaine. Après avoir identifié ce serveur, il le demandera pour l’enregistrement A du domaine en question.
JohnThePro