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.