DNS A vs NS-Eintrag

42

Ich versuche, DNS ein bisschen besser zu verstehen, bekomme aber immer noch keine A- und NS-Einträge vollständig.

Soweit ich verstanden habe, gibt der A-Record an, welche IP-Adresse zu einer (Sub-) Domain gehört, soweit mir das noch klar war. Wie ich jedoch verstanden habe, gibt der NS-Eintrag an, welche Nameserver-Punkte zu einer (Sub-) Domain gehören, und dieser Nameserver sollte angeben, welche IP-Adresse zu einer (Sub-) Domain gehört. Aber das war schon im A-Eintrag in der gleichen DNS-Datei angegeben. Kann mir also jemand erklären, was die NS-Records und Nameserver genau machen, weil ich wohl etwas falsch verstanden habe.

edit: Wie ich Sie richtig verstehe, sagt Ihnen ein NS-Eintrag, dass Sie den DNS-Server mit dem A-Eintrag für eine bestimmte Domain finden sollen, und der A-Eintrag sagt Ihnen, welche IP-Adresse zu einer Domain gehört. Aber wozu dient es, einen A- und einen NS-Eintrag in dieselbe DNS-Datei zu kopieren? Wenn es bereits einen A-Eintrag für eine bestimmte Domain gibt, warum müssen Sie dann auf einen anderen DNS-Server verweisen, der Ihnen wahrscheinlich die gleichen Informationen geben würde?

Tiddo
quelle
Verzeihen Sie die Hybris auf eine alte Frage, aber ich bin ein DNS-Administrator, und ich betrachte keine der überarbeiteten Antworten, um das Problem angemessen zu erklären. Ich kann mich auf diese Frage beziehen, weil ich selbst in meinen frühen Tagen die gleiche Verwirrung hatte. Ich habe eine eigene Antwort beigesteuert.
Andrew B

Antworten:

44

Einige Beispiele aus der fiktiven foo.comZonendatei

 ....... 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 = "Der angerufene Host foo.comwohnt unter der Adresse 192.168.100.1"
NS Record = "Wenn Sie foo.comInformationen zu Hosts in der Zone erhalten möchten, wenden Sie sich an den Nameserver ns1.bar.com."

voretaq7
quelle
3
Ich liebe Referenzen. : D
JohnThePro
2
@Tiddo Ein wichtiger Grund ist, dass Slave-Server normalerweise über Zonenänderungen benachrichtigt werden, da sie als NS-Einträge aufgelistet sind. Auch wenn Sie beim ns1.foo.comSuchen nach etwas anderem die Adresse des autorisierenden Servers abfragen und der Datensatz dort nicht vorhanden ist, werden Sie NXDOMAINschlechte Dinge feststellen (dies funktioniert jedoch für Personen, die den comübergeordneten Server abgefragt haben) vermutlich gäbe es da
kleber
1
@ JohnThePro - meine andere Option war example.com, und ich hasse example.com Referenzen :-)
voretaq7
3
@ voretaq7 werden also im grunde die ns records als backup mechanismus verwendet und um diese nameserver zu benachrichtigen wenn sich die ip-adresse der domain ändert?
Tiddo
2
@tiddo und als Wegweiser wie oben beschrieben & in vielen anderen Antworten. Es mag andere Dinge geben, die sich mit NS-Aufzeichnungen befassen, die ich vergesse, aber das sind die beiden großen Dinge, die mir in den Sinn kommen.
Voretaq7
18

Dies ist eine alte Frage, aber ich denke, die anderen Antworten berühren die Quelle der Verwirrung nicht wirklich. NSDatensätze am Scheitelpunkt folgen anderen Regeln als NSDatensätze unter dem Scheitelpunkt.

Aus diesen Regeln können wir zwei unterschiedliche Verhaltensweisen ableiten, wenn ein ADatensatz auf einem DNS-Server mit demselben Namen vorhanden ist:

  • Wenn der NSDatensatz keine Verweisung definiert, können andere Daten in derselben Zone daneben vorhanden sein. Da sich der Server sowohl für den NSDatensatz als auch für den Datensatz als autorisierend erachtet A, liegt kein Konflikt vor. Aus diesem Grund befinden sich andere Daten in der Regel neben den NSDatensätzen am Scheitelpunkt einer Zone.
  • Wenn der NSDatensatz hat eine Verweisungs definieren, dann ist die Asich Aufzeichnung effektiv „maskiert“ durch eine Zone geschnitten . Dieser ADatensatz ist nicht autorisierend und darf nicht im Antwortbereich einer autorisierenden Antwort angezeigt werden. Es kann möglicherweise als Leimdaten verwendet werden, die im zusätzlichen Abschnitt der Überweisung angezeigt werden, aber das war's.

Verwirrend? Ja, ist es. Schreiben Sie eine Anmerkung in die Kommentare, wenn Sie Probleme damit haben, und ich werde sehen, was ich tun kann.

Andrew B
quelle
Was meinst du mit APEX?
Ryan-Neal Mes
@ Ryan-Neal Die NSDatensätze oben in der Zonendatei.
Andrew B
9

Die NS-Einträge geben die Server an, die DNS-Dienste für diesen Domänennamen bereitstellen.

Die A-Einträge zeigen Hostnamen (wie www, ftp, mail) auf eine oder mehrere IP-Adressen.

mrdenny
quelle
7

Ein A-Datensatz ordnet einen Namen einer IP-Adresse zu. z.B

binary.example.com. IN A 192.168.1.42

gibt an, dass binary.example.com. wird in 192.168.1.42 aufgelöst

Ein NS-Eintrag ordnet einen Namen einem anderen Nameserver zu, dh einem anderen DNS-Server, der diese Domäne bedient. dh "Ich habe keine Ahnung von der IP-Adresse dieses Namens, aber wenn Sie diesen Nameserver dort fragen, könnte es wissen"

binary.example.com. IN NS otherbox.example.com
otherbox.example.com. IN A 192.168.1.2

Wenn Sie einen DNS-Server fragen, der die obigen 2 Einträge für binary.example.com enthält. (oder www.binary.example.com oder foo.bar.binary.example.com). Es wird Ihnen sagen, dass Sie 192.168.1.2 fragen müssen, um diese Namen zu übersetzen.

nos
quelle
Häufig werden DNS-Einträge angezeigt, die NS- und A-Einträge für dieselben Domänen angeben. Aber wenn ein NS-Datensatz angibt, dass er den A-Datensatz finden soll, wozu dient dann der NS-Datensatz in derselben Datei, wenn der A-Datensatz bereits vorhanden ist?
Tiddo
das war meine lieblingserklärung unter allen!
Benjamin
6

Es ist wichtig, dass NS- und A-Einträge in der Zone vorhanden sind, wenn Sie die Subzone an einen anderen DNS-Server delegieren müssen.

ZB haben wir DNS-Server ns1.bar.com, der für Zone bar.com maßgeblich ist. Und wir müssen foo.bar.com an ns1.foo.bar.com delegieren. Also müssen wir die Zone foo.bar.com erstellen und dort die folgenden Datensätze einfügen:

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

Wenn wir nicht haben, funktioniert eine Datensatzdelegierung nicht. Solche Datensatzpaare werden Leimdatensätze genannt.

Glue Records ist nur eine Möglichkeit für das DNS-System, die genaue IP des autorisierenden DNS-Servers für Nicht-Root-Zonen zu ermitteln. Wenn Sie eine Domain nach NS- digEinträgen durchsuchen oder einen Traffic-Dump mit wireshark sehen, finden Sie in der Antwort einen zusätzlichen Abschnitt.

;; 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

Bei rekursiven Anfragen, z. B. www.foo.bar.com, fragt Ihr DNS-Client nach dem für die Zone foo.bar.com maßgeblichen DNS und erhält die Antwort ns1.foo.bar.com.

Um weiter zu gehen, muss eine Anfrage für ns1.foo.bar.com gesendet werden, die von ... ns1.foo.bar.com bereitgestellt wird. Um die Schleife aufzubrechen, sollte der delegierende DNS-Server diesen zusätzlichen Abschnitt mit einem Eintrag hinzufügen.

Der Server ns1.foo.bar.com sollte dieselben Datensätze in seiner Zone haben, daher kann er für die Zone foo.bar.com autorisierend sein.

DukeLion
quelle
Es fiel mir schwer, mich mit dem Problem mit Hühnchen und Eiern auseinander zu setzen, bis ich Ihre Erklärung für den Leimrekord sah!
Jon Skarpeteig
3

NS-Einträge existieren AUSSCHLIESSLICH zum Zweck der Definition, WELCHE NAMENSERVER für eine bestimmte Domain verantwortlich sind.

Ein A-Eintrag existiert, um einen bestimmten Rechner oder Dienst "anzusprechen".

Beispiele für Sie:

In Ihrer DNS-Systemsteuerung werden einige NS-Einträge angezeigt. Dies sind Ihre NAMESERVERS oder der primäre Computer, der dafür verantwortlich ist, dem Internet mitzuteilen, wo sich die Inhalte Ihrer Domain befinden.

NS1.CP.COM NS2.CP.COM

Außerdem haben Sie in Ihrem DNS-Panel eine Domain (z. B. -mikesfunhouse.com), auf der Sie Dienste benötigen, z. B. eine Website.

Sie müssen also einen Primär-A-Datensatz haben, der "mikesfunhouse.com" auf "76.19.87.956" zeigt (offensichtlich gefälschte IP).

Dann erstellen Sie eine weitere Aufzeichnung, eine WWW-Aufzeichnung, die die Unterdomäne "WWW" umleitet. Teil Ihrer primären Website.

Kurz gesagt, Sie verwenden A-Datensätze, um einen Namespace in eine IP-Adresse zu konvertieren.

JohnThePro
quelle
1

Der Nameserver-Datensatz teilt dem Internet mit, auf welchem ​​DNS-Server die A-Datensätze gespeichert sind. Um also einen A-Datensatz für eine Unterdomäne zu suchen, gehen Sie ungefähr wie folgt vor:

Suchen Sie die Nameserver für die Domain -> Fragen Sie den Nameserver nach dem A-Record der Subdomain ab

James L
quelle
Aber wenn sich die A-Datensätze bereits in derselben Datei befinden, warum sollten Sie die NS-Datensätze angeben?
Tiddo
1
Es dreht sich alles um das, wonach Sie suchen. Der NS-Datensatz ist wie der Ausgangspunkt. Wenn ein Server NIEMALS zuvor Ihre Domain besucht hat, findet er zuerst den NS-Server, der auf Ihre Domain antwortet. Nachdem der Server identifiziert wurde, wird der A-Datensatz der betreffenden Domäne abgefragt.
JohnThePro