Sie haben einen Eintrag beim Registrar geändert, doch die Website wird weiterhin vom alten Server geladen. E-Mails an die Domain kommen nicht an, oder ein Dienst verlangt eine Bestätigung der Domain per TXT-Eintrag und behauptet, ihn nicht zu sehen. In all diesen Fällen müssen Sie DNS direkt fragen, was es genau jetzt antwortet. Dafür gibt es zwei Befehle, nslookup und dig. In diesem Artikel sehen wir uns an, worin sie sich unterscheiden, und lernen, Einträge verschiedener Typen abzufragen, einen bestimmten DNS-Server anzusprechen und die gesamte Kette von den Root-Servern bis zur Antwort durchzugehen. Alle Beispiele wurden auf einem Testserver mit Debian 12 ausgeführt.
Warum DNS-Antworten unterschiedlich ausfallen
Wenn Sie DNS nach der Adresse einer Domain fragen, kommt die Antwort fast nie direkt von dem Server, der für diese Domain zuständig ist. Der Computer wendet sich an seinen Resolver, zum Beispiel an den Server des Providers oder an den öffentlichen 1.1.1.1, und der Resolver gibt entweder eine Antwort aus seinem Speicher zurück oder geht die Kette durch. Zuerst fragt er einen Root-Server, dieser verweist ihn an die Server der Zone, zum Beispiel .com, und diese wiederum an die NS-Server der Domain selbst, auf denen die Einträge gespeichert sind. Ausführlich ist diese Kette im Artikel darüber beschrieben, wie Sie eine Domain mit einem VPS verbinden.
Aus diesem Aufbau folgt, dass verschiedene Resolver im selben Moment unterschiedlich antworten können. Der eine hat den neuen Eintrag bereits erhalten, während der andere noch den alten aus seinem Speicher ausliefert, bis dessen Speicherdauer TTL abgelaufen ist. Deshalb lohnt es sich, bei der Prüfung die Antworten mehrerer Resolver zu vergleichen und, wenn Sie ganz sicher sein wollen, den NS-Server der Domain direkt zu fragen. Beide Befehle können das, und dig kann zusätzlich die gesamte Kette selbst durchgehen und zeigen, welcher Server was geantwortet hat.
Der Unterschied zwischen den Befehlen liegt vor allem im Komfort. nslookup ist fast überall vorhanden, auch unter Windows, und gibt die Antwort in einfacher Form aus. dig ist in Linux und macOS enthalten, zeigt die Antwort ausführlicher, mit TTL und technischen Feldern, und eignet sich besser für Skripte. Unter Debian und Ubuntu werden beide Befehle mit einem einzigen Paket installiert.
apt install -y dnsutils1. Ermitteln Sie die IP-Adresse der Domain
# Ausführliche Antwort von dig, nur der Abschnitt mit der Antwort
dig example.com +noall +answer
# Nur die Adressen, ohne Überflüssiges
dig example.com +short
# Dasselbe mit nslookup, funktioniert auch unter Windows
nslookup example.comDie Zahl in der zweiten Spalte der Antwort von dig ist die verbleibende TTL in Sekunden, also wie lange sich der Resolver diese Antwort noch merkt. IPv6-Adressen fragen Sie genauso mit dem Typ AAAA ab, zum Beispiel dig example.com AAAA +short.
2. Sehen Sie sich Einträge anderer Typen an
Den Typ des Eintrags geben Sie bei dig nach dem Domainnamen an, bei nslookup mit dem Parameter -type=.
# Mailserver der Domain, die Zahl vor dem Namen ist die Priorität
dig gmail.com MX +short
# TXT-Einträge, hier stehen oft SPF und Bestätigungscodes von Diensten
dig example.com TXT +short
# NS-Server, die die Domain bedienen
dig example.com NS +short
# Reverse-Eintrag PTR, welche Domain zu einer IP-Adresse gehört
dig -x 1.1.1.1 +short
Einträge verschiedener Typen in einem Fenster
Bei nslookup sehen dieselben Anfragen so aus.
nslookup -type=mx gmail.com
nslookup -type=txt example.com
nslookup -type=ns example.com
nslookup zeigt dieselben MX-Einträge in anderer Form
3. Fragen Sie einen bestimmten DNS-Server ab
Um herauszufinden, was ein bestimmter Resolver oder der NS-Server der Domain selbst antwortet, geben Sie ihn bei dig nach @ an, bei nslookup als letzten Parameter.
# Öffentliche Resolver von Google und Cloudflare
dig @8.8.8.8 example.com +short
dig @1.1.1.1 example.com +short
# Der NS-Server der Domain selbst, Antwort ohne Cache
dig @elliott.ns.cloudflare.com example.com +short
# Dasselbe mit nslookup
nslookup example.com 8.8.8.8Wenn der NS-Server der Domain den neuen Eintrag bereits ausliefert, die öffentlichen Resolver aber noch nicht, haben Sie alles richtig gemacht, und Sie müssen nur noch warten, bis die TTL der alten Antwort abgelaufen ist.
4. Gehen Sie mit dig +trace die gesamte Kette durch
Der Parameter +trace bewirkt, dass dig sich nicht an den Resolver wendet, sondern den Weg selbst geht, beginnend bei den Root-Servern. So sehen Sie, wer bei jedem Schritt für die Domain zuständig ist.
dig +trace example.comDie vollständige Ausgabe ist lang, deshalb haben wir für den Screenshot nur die Zeilen mit den Schritten und den gefundenen Einträgen behalten.

Root-Server, Server der Zone .com und NS-Server der Domain nacheinander
Die Zeilen Received … from zeigen, welcher Server bei jedem Schritt geantwortet hat. Hier hat der Root-Server e.root-servers.net an die Server der Zone .com verwiesen, der Server c.gtld-servers.net hat mitgeteilt, dass die Domain von Cloudflare bedient wird, und der NS-Server elliott.ns.cloudflare.com hat die Adressen geliefert. Bricht die Kette ab, sehen Sie, bei welchem Schritt. Das ist zum Beispiel der Fall, wenn beim Registrar NS-Server eingetragen sind, die nichts über die Domain wissen.
Häufige Fragen
dig: command not found
Der Befehl gehört zum Paket dnsutils. Installieren Sie es mit dem Befehl apt install -y dnsutils. In unserem Image von Debian 12 ist dieses Paket bereits installiert.
Antwort status: NXDOMAIN
Diesen Namen gibt es im DNS nicht. Prüfen Sie die Schreibweise der Domain und ob der Eintrag für den richtigen Namen angelegt wurde, zum Beispiel separat für www. Wenn die Domain gerade erst registriert wurde, prüfen Sie die NS-Server mit dem Befehl dig example.com NS +short.
Die Antwort ist leer, aber es gibt keinen Fehler
Die Domain existiert, hat aber keinen Eintrag des gesuchten Typs. Zum Beispiel hat die Domain einen A-Eintrag, aber keinen MX-Eintrag. Prüfen Sie, ob der Eintrag mit dem richtigen Typ angelegt wurde.
Ein neuer Eintrag ist auf einem Resolver sichtbar und auf einem anderen nicht
Der zweite Resolver speichert noch die alte Antwort. Sehen Sie sich die TTL in der Ausgabe von dig +noall +answer an, das ist die Zeit in Sekunden bis zur Aktualisierung. Auf Ihrem eigenen Computer können Sie den DNS-Cache leeren. Unter Windows geht das mit dem Befehl ipconfig /flushdns.
Unsere Ressourcen
Telegram-Kanal: https://t.me/f3cloud_news
Hosting-Website: https://f3cloud.com