DNS Debuggen und Analyiseren unter Windows
Wenn man neue Eintragungen auf DNS-Servern vorgenommen hat, eine Domain nicht richtig funktioniert oder man einfach kurz nachschauen möchte, welcher Mailserver hinter einer Domain steckt, gibt es unter Windows ein gutes Tool, welches leider auch von vielen Fachleuten überhaupt nicht oder nicht richtig verwendet wird. Das Befehlszeilentool „nslookup.exe“ hat mir schon in vielen Situationen den Tag gerettet.
In diesem Post möchte ich einige Funktionen des nicht interaktiven Modus von Nlsookup zeigen.
Beispiel 1: Herausfinden, welche Mailserver eine Domain verwendet (bspw. post@nicomerz.ch)
Mit dem Parameter „-ty“ kann man die Zonenausgabe auf einen bestimmten Typ filtern. Im Beispiel werden alle Einträge des Typs „MX“ der Zone „nicomerz.ch“ aufgelistet.
C:\Users\nm> nslookup -ty=mx nicomerz.ch Server: UnKnown Address: 192.168.20.10 Nicht autorisierende Antwort: nicomerz.ch MX preference = 5, mail exchanger = alt1.aspmx.l.google.com nicomerz.ch MX preference = 10, mail exchanger = aspmx3.googlemail.com nicomerz.ch MX preference = 1, mail exchanger = aspmx.l.google.com nicomerz.ch MX preference = 5, mail exchanger = alt2.aspmx.l.google.com nicomerz.ch MX preference = 10, mail exchanger = aspmx2.googlemail.com alt1.aspmx.l.google.com internet address = 173.194.69.26 aspmx3.googlemail.com internet address = 173.194.71.27 aspmx.l.google.com internet address = 173.194.65.26 alt2.aspmx.l.google.com internet address = 173.194.71.27 aspmx2.googlemail.com internet address = 173.194.69.27
Beispiel 2: Änderungen wurden beim Nameserver eingetragen, funktionieren allerdings noch nicht
Manchmal dauert es eine gewisse Zeit, bis DNS-Einstellungen übernommen wurden, da entweder der Cache des aktuell verwendeten DNS-Servers (z.B. der des Providers oder der eigene DNS-Server) die gecacheten Informationen verwerfen und neu abfragen. Um dies zu überprüfen, kann ein Lookup für einen bestimmten Server abgesetzt werden.
In einem ersten Schritt schauen wir, was für ein Server als primärer Nameserver für eine Domain verwendet wird:
C:\Users\nm>nslookup -ty=soa nicomerz.ch Server: UnKnown Address: 192.168.20.10 Nicht autorisierende Antwort: nicomerz.ch primary name server = ns1.he.net responsible mail addr = hostmaster.he.net serial = 2013052002 refresh = 10800 (3 hours) retry = 1800 (30 mins) expire = 604800 (7 days) default TTL = 86400 (1 day) ns1.he.net internet address = 216.218.130.2
Im zweiten Schritt schauen wir, ob die Einstellungen (bspw. des Typs „A“) auf unserem primären Nameserver richtig eingetragen sind:
C:\Users\nm>nslookup -ty=a nicomerz.ch ns1.he.net Server: ns1.he.net Address: 216.218.130.2 Name: nicomerz.ch Address: 194.209.225.18
Es kann aber auch daran liegen, dass die getätigten Einstellungen noch nicht vollständig auf die anderen Nameserver repliziert wurden. Um dies zu überprüfen, müssen zunächst alle verwendeten Nameserver einer Domain aufgelistet werden.
C:\Users\nm>nslookup -ty=ns nicomerz.ch Server: UnKnown Address: 192.168.20.10 Nicht autorisierende Antwort: nicomerz.ch nameserver = ns2.he.net nicomerz.ch nameserver = ns1.he.net nicomerz.ch nameserver = ns3.he.net nicomerz.ch nameserver = ns4.he.net nicomerz.ch nameserver = ns5.he.net ns2.he.net internet address = 216.218.131.2 ns2.he.net AAAA IPv6 address = 2001:470:200::2 ns1.he.net internet address = 216.218.130.2 ns3.he.net internet address = 216.218.132.2 ns3.he.net AAAA IPv6 address = 2001:470:300::2 ns4.he.net internet address = 216.66.1.2 ns4.he.net AAAA IPv6 address = 2001:470:400::2 ns5.he.net internet address = 216.66.80.18
Nun überprüft man, ob alle Nameserver die selben Werte zurückliefern.
C:\Users\nm>nslookup -ty=a nicomerz.ch ns2.he.net Server: ns2.he.net Address: 216.218.131.2 Nicht autorisierende Antwort: Name: nicomerz.ch Address: 194.209.225.15
Im Beispiel ist zu sehen, dass die Replikation noch nicht stattgefunden hat! Der zweite Nameserver zeigt eine andere Ausgabe, als der erste. In diesem Fall muss die Replikation manuell angekickt werden oder man muss bei fehlenden Berechtigungen etwas Geduld haben.