Wie teste ich, ob sich DNS-Informationen verbreitet haben?


16

Ich habe einen neuen DNS-Eintrag für eine meiner Subdomains eingerichtet (ich habe noch keine virtuellen Apache-Hosts oder ähnliches eingerichtet). Wie kann ich überprüfen, ob die DNS-Informationen weitergegeben wurden?

Ich ging davon aus, dass ich einfach ping my.subdomain.comdavon ausgehen könnte , dass bei einer Auflösung die im A-Datensatz angegebene IP-Adresse angezeigt wird. Ich weiß jedoch nicht, ob ich richtig davon ausgehe. Wie können diese Informationen am besten überprüft werden?


3
Keine blöde Frage. Es ist nicht so einfach, so etwas herauszufinden.
aseq

1
Ich stimme @aseq zu, dass dies keine blöde Frage ist, aber "probieren Sie es aus und sehen Sie" hätte Ihnen auch die Antwort gegeben. Es ist auch etwas Google genauso einfach mit den kleinsten wenig Mühe antworten kann (Suche nach How to test if DNS information has propagated- der blutige Frage Titel erzeugt gute Google - Ergebnisse).
Voretaq7

4
Ich glaube nicht, dass Sie die Zeit der Leute verschwendet haben. Ihre Frage hat einige wertvolle Antworten hervorgerufen. Man kann nie wissen, wie sich eine scheinbar einfache Frage herausstellen kann, die "nur gegoogelt werden kann". Einer der Werte dieses Forums ist, dass die Antworten und Fragen sehr einfach erweitert werden können.
aseq

1
@andrew nichts falsches daran zu fragen, was viele von uns als einfache Fragen ansehen - dies wird wahrscheinlich das beste Google-Ergebnis für diesen String in ein paar Tagen sein, da die Site indiziert / eingestuft wird. Im Allgemeinen ist Google ein besserer (schnellerer) Ort, um zu suchen: Wenn Google es nicht weiß, dann frage hier (und Google wird es lernen) :-)
voretaq7

1
Ich fand heraus, warum nichts, was ich versuchte, funktionierte. Anscheinend ist unser Netzwerk so konfiguriert, dass auch in unserem lokalen DNS eine neue Subdomain hinzugefügt werden muss. Die Subdomain war also von außen zugänglich, nur nicht in unserem Netzwerk, in dem ich getestet habe. = [Die Verwendung nslookupund digAngabe eines externen Servers hat es jedoch ermöglicht, die externen DNS-Informationen zu überprüfen.
Andrew

Antworten:


15

Sie können dig oder nslookup verwenden. Sagen Sie, Ihr Nameserver (oder der Ihres Providers, falls Sie keinen eigenen betreiben) ist ns1.example.com.

Nslookup verwenden:

nslookup - ns1.example.com

Bei Eingabeaufforderung geben Sie Folgendes ein:

my.example.com

Wenn es sich so auflöst, wie Sie es erwartet haben, funktioniert es. Es sollte dir etwas geben wie:

Name:   example.com
Address: 192.0.43.10

Es kann noch eine Weile dauern, bis Sie sich im Rest des Internets verbreitet haben. Dies liegt außerhalb Ihrer Kontrolle.

Mit dig:

dig@ns1.example.com my.example.com

Sie sollten etwas sehen wie:

;; ANSWER SECTION:
example.com.        172800  IN  A   192.0.43.10

Die Verwendung von Ping kann Ihnen eine Idee geben, aber nur, wenn es sich verbreitet hat (zwischengespeichert von entfernten Nameservern ist möglicherweise eine bessere Möglichkeit, es zu beschreiben) und Ihr lokaler DNS-Cache muss möglicherweise geleert werden. Obwohl dies in Ihrem Fall nicht zutrifft, da es sich um einen neuen Datensatz handelt. In diesem Fall sollte es sofort verfügbar sein. Der obige Weg ist präziser, wenn Sie eine Idee haben, als nur zu pingen.

Wenn Sie Windows verwenden, unterscheiden sich die Befehle und die Syntax möglicherweise geringfügig, sind sich jedoch ziemlich ähnlich.


3
+1 Wenn Sie etwas mit DNS machen, besorgen Sie sich eine Kopie von dig(* nix-Systeme haben diese bereits, es gibt verschiedene Versionen für Windows).
Chris S

3
-1. Es tut mir Leid. Ich bin es wirklich, aber diese Antwort "propagiert" den Mythos, den DNS-Einträge verbreiten, den sie mit Sicherheit NICHT tun. Der Begriff, den Sie suchen, ist "Caching". Dies geschieht bei DNS-Einträgen basierend auf der TTL des Eintrags. Da das OP auf einen neuen DNS-Eintrag verweist, kann kein Caching aufgetreten sein. Daher erhält jeder DNS-Client, der versucht, den betreffenden Eintrag aufzulösen, die Antwort ... sofort ..., da er von diesem Client nicht zwischengespeichert werden kann ... oder der DNS-Server des Clients ... oder ein anderer DNS-Server. DNS-Einträge verbreiten sich nicht zum "Rest des Internets".
Joeqwerty

1
Joeqwerty ist absolut richtig. DNS-Server zwischenspeichern einen positiven oder negativen Treffer für eine vordefinierte Zeit. Zusätzlich zum ursprünglichen Post gibt es jedoch mehrere öffentliche Nameserver, gegen die Sie prüfen können, einschließlich der alten GTE (4.2.2.1, 4.2.2.2, 4.2.2.3 und 4.2.2.4) und Google (8.8.8.8, 8.8. 4.4). Einfache Faustregel, neue Änderungen können bei positiven oder negativen Treffern bis zur Dauer des TTL dauern. Es gibt jedoch Fälle, in denen Apps für einen längeren Zeitraum schlechte Logik und Cache-Antworten implementieren.
Bangdang

2
Ich glaube nicht, dass man sich wirklich an die genaue Definition halten muss, um einen Punkt zu vermitteln. Außerdem denke ich, dass Propagierung kein schlechtes Wort ist. Es behandelt das Thema in dem Sinne, dass sich das Caching des DNS-Eintrags auf einen größeren Bereich von Servern ausbreitet. Auf diese Ausbreitung bezieht sich die Ausbreitung. Ich habe meine Antwort aktualisiert, um darauf hinzuweisen, dass ein neuer Datensatz sofort verfügbar ist.
aseq

1
@aseq, das ist ein irreführender Begriff. Und es stellt sich meistens heraus, dass Leute, die über DNS als eine Art "Verbreitung" denken / sprechen, nicht wissen, wie DNS funktioniert. In der Regel wird ein Mist wie "Es dauert 2-3 Tage, bis Ihre DNS-Informationen über das Internet / die Erde verbreitet werden" und so weiter angegeben.
Poige

7

Sie können die Weitergabe von DNS-Einträgen nicht testen, da keine DNS-Weitergabe erfolgt. Sie können testen, ob auf einem DNS-Client oder -Server ein bestimmter DNS-Eintrag zwischengespeichert ist.

Da es sich um einen neuen DNS-Eintrag handelt, kann kein Caching aufgetreten sein. Angenommen, Ihre Nameserver sind ordnungsgemäß auf den übergeordneten Servern registriert und Ihre Nameserver funktionieren ordnungsgemäß, sollte dieser DNS-Eintrag jedem DNS-Client oder -Server sofort zur Verfügung stehen.


Gerne helfen ...
Joeqwerty

Kann ich überprüfen, ob ich eine gültige IP eingegeben habe? Ich wollte nur sichergehen, dass die von mir verwendete IP-Adresse die richtige ist. Jemand, mit dem ich gesprochen habe, schien zu glauben, dass Ping fehlschlagen würde, wenn ich noch keinen Apache VHost eingerichtet hätte.
Andrew

Ping ist kein DNS-Testtool. Dig und Nslookup sind DNS-Testtools. Verwenden Sie Dig oder Nslookup, um den neuen DNS-Eintrag zu testen. Fragen Sie nach dem Datensatz für Ihren Nameserver und danach nach dem Datensatz für andere Nameserver, um sicherzustellen, dass sie Ihren Nameserver finden und Ihr Nameserver mit der richtigen Antwort antwortet.
Joeqwerty

1
"Propagation" ist ein Begriff, der für den Fall gedacht ist, dass die Menschen die tatsächliche Situation nicht verstehen können, nämlich Cache-Alterung und Verfallsdatum. Was von DNS-Anbietern gesagt werden musste, ist "Ihre Daten werden möglicherweise erst nach XX Stunden angezeigt". Eine Erklärung, warum dies nötig war, damit es nicht so aussah, als ob der DNS-Anbieter die Verzögerung war. Zu viele Menschen "können nicht mit der Wahrheit umgehen". Die erfundene "Propagation" ist eine wirkungsvolle Titelgeschichte. Echte DNS-Geeks wissen, was wirklich passiert, weil sie die technischen Details lesen.
Skaperen

Richtig ... Ich hasse es, einen Begriff zu verwenden, der ein Missverständnis darüber verbreitet, wie DNS funktioniert.
Joeqwerty

5

Die anderen Antworten sind zwar ziemlich gut, aber denken Sie daran, dass das, was an Sie weitergegeben wird, möglicherweise nicht an mich weitergegeben wird. Anstatt DIG oder NSlookup zu verwenden und eine Stunde damit zu verbringen, DNS-Server auf der ganzen Welt zu überprüfen, verwende ich normalerweise http://www.whatsmydns.net/, um zu sehen, wie die Verbreitung verläuft.


Es gibt keine Weitergabe in DNS, dieser Begriff ist eher irreführend für alle Arten von Lamern, die RFCs nicht lesen. Verwenden Sie diesen Begriff also bitte nicht <strike> propagate </ strike>. ;-D
poige

1
Natürlich gibt es eine Weitergabe in DNS. Die RFCs gehen davon aus, dass der Leser versteht, dass Informationen weitergegeben werden können, wenn Server Lookups und Cache-Vorgänge ausführen. Es ist besonders offensichtlich, wenn Spieler RFCs lesen und sich dann fragen, warum ein Datensatz auf ihrem Server nicht mit den Ergebnissen einer Suche von einem anderen Server übereinstimmt. Sie entdecken, dass Propaganda die Definition von "weit verbreitet" hat (was genau überprüft werden muss - die Verteilung aktualisierter Aufzeichnungen)
Jim B

Weder Verteilung noch Verbreitung (außer von Master zu Slave).
Poige

Es ist wahrscheinlich ein Relikt aus der Zeit, in der es manchmal fast einen Tag
gedauert hat,

@ poige- danke, dass Sie nicht verstanden haben, wie DNS-Caching funktioniert. Ich würde vorschlagen, die RFCs zur Funktionsweise von DNS zu lesen und auf der von mir verlinkten Website nach Beispielen aus der Praxis zu suchen.
Jim B

3

Der einfachste Weg, um sicherzustellen, dass Ihre autorisierenden DNS-Server in Ihrem Delegierungspfad korrekt antworten, ist, Folgendes zu verwenden dig +trace:

; <<>> DiG 9.7.3 <<>> +trace www.google.com a
;; global options: +cmd
.           80050   IN  NS  m.root-servers.net.
.           80050   IN  NS  f.root-servers.net.
.           80050   IN  NS  i.root-servers.net.
.           80050   IN  NS  h.root-servers.net.
.           80050   IN  NS  c.root-servers.net.
.           80050   IN  NS  k.root-servers.net.
.           80050   IN  NS  d.root-servers.net.
.           80050   IN  NS  g.root-servers.net.
.           80050   IN  NS  a.root-servers.net.
.           80050   IN  NS  b.root-servers.net.
.           80050   IN  NS  e.root-servers.net.
.           80050   IN  NS  l.root-servers.net.
.           80050   IN  NS  j.root-servers.net.
;; Received 509 bytes from 192.168.1.1#53(192.168.1.1) in 0 ms

com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
;; Received 504 bytes from 198.41.0.4#53(a.root-servers.net) in 127 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
;; Received 168 bytes from 192.43.172.30#53(i.gtld-servers.net) in 20 ms

www.google.com.     604800  IN  CNAME   www.l.google.com.
www.l.google.com.   300 IN  A   173.194.35.180
www.l.google.com.   300 IN  A   173.194.35.178
www.l.google.com.   300 IN  A   173.194.35.176
www.l.google.com.   300 IN  A   173.194.35.177
www.l.google.com.   300 IN  A   173.194.35.179
;; Received 132 bytes from 216.239.34.10#53(ns2.google.com) in 27 ms

Dies folgt den Delegationen an die Nameserver, die für Ihre Abfrage maßgeblich sind. Die letzte Antwort ist normalerweise die, um die Sie sich am meisten sorgen, aber der Trace ist hilfreich, da er anzeigt, wer für jede Delegation antwortet. Wenn Sie jedoch den Nameserver wechseln, kann dies sehr nützlich sein.

Beachten Sie, dass der Trace die autorisierenden Server direkt abfragt, sodass kein Caching stattfindet. Dies ist der beste Hinweis darauf, dass die Antworten wie erwartet zurückgegeben werden, aber kein guter Hinweis darauf, was Endbenutzer möglicherweise erleben. Da Sie jedoch ohnehin nicht oft die Kontrolle über die Caching-Nameserver anderer Leute haben (abgesehen von der Voraussicht, Ihre TTL zu senken, die ursprüngliche TTL zu warten, die Änderung vorzunehmen und dann die TTL wiederherzustellen), lohnt es sich in der Regel nicht, diese nachträglich zu überprüfen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.