VMware ESXi and vSphere Cluster Management

nslookup-Befehl unter Linux: DNS-Abfragen für Namen, IP-Adressen und DNS-Records

Lerne nslookup unter Linux kennen: Forward- und Reverse-Lookups, DNS-Record-Typen, Resolver-Tests, interaktiver Modus und typische Fehler.

nslookup ist ein Kommandozeilenwerkzeug für DNS-Abfragen unter Linux. Damit prüfst du beispielsweise, welche IPv4- oder IPv6-Adresse zu einem Domainnamen gehört, welcher Hostname zu einer IP-Adresse eingetragen ist oder welche Mailserver eine Domain verwendet.

Das Werkzeug eignet sich besonders für einzelne, manuelle Prüfungen im Terminal und für die erste Fehlersuche. Für tiefere DNS-Diagnosen werden häufig dig oder host bevorzugt.

Was ist nslookup?

Das Domain Name System (DNS) verteilt Namen, IP-Adressen und weitere Dienstinformationen. Ein Linux-Client fragt dafür einen Resolver ab. Ein Resolver nimmt DNS-Anfragen entgegen und liefert Antworten aus seinem Cache oder ermittelt sie rekursiv bei anderen DNS-Servern.

Mit nslookup kannst du unter anderem:

  • Hostnamen und voll qualifizierte Domainnamen (FQDNs) in IPv4-Adressen auflösen,
  • IPv6-Adressen gezielt über AAAA-Records abfragen,
  • Reverse Lookups über PTR-Records ausführen,
  • einzelne DNS-Record-Typen wie MX, NS, SOA, CNAME oder TXT anzeigen,
  • einen bestimmten lokalen, öffentlichen oder internen DNS-Server testen.

Ein autoritativer Nameserver liefert die verbindlichen Daten für eine DNS-Zone. Ein rekursiver Resolver übernimmt dagegen typischerweise die vollständige Auflösung für den Client. nslookup kann beide Arten von Servern direkt abfragen, sofern der Server Anfragen aus deinem Netz akzeptiert.

Verfügbarkeit und Installation

nslookup wird üblicherweise mit einem Paket aus den BIND-DNS-Werkzeugen installiert. Der Paketname ist distributionsabhängig.

# Verfügbarkeit und Version prüfen
nslookup -version

# Debian, Ubuntu und verwandte Distributionen
sudo apt update && sudo apt install dnsutils

# Fedora, RHEL und verwandte Distributionen
sudo dnf install bind-utils

Prüfe zusätzlich, ob das Programm im PATH liegt:

command -v nslookup

Wenn kein Pfad ausgegeben wird, ist nslookup entweder nicht installiert oder nicht über die aktuelle Shell-Umgebung erreichbar. Auf anderen Distributionen kann das benötigte Paket anders heißen.

Die wichtigsten Betriebsarten und Syntax

ZweckSyntaxBeispielHinweis
Standardabfragenslookup NAMEnslookup example.comFragt den konfigurierten Resolver ab.
Reverse Lookupnslookup IP-ADRESSEnslookup 203.0.113.25Sucht nach einem PTR-Record.
Expliziter DNS-Servernslookup NAME SERVERnslookup example.com 9.9.9.9Umgeht den normalerweise verwendeten Resolver.
Bestimmter Record-Typnslookup -type=TYP NAMEnslookup -query=MX example.com-type und -query sind gebräuchliche Schreibweisen.
Interaktiver StartnslookupnslookupMehrere Abfragen und Einstellungen in einer Sitzung.

Nicht-interaktiver Modus

Im nicht-interaktiven Modus steht die vollständige Abfrage in einer Zeile. Das ist praktisch für einzelne Prüfungen, Terminal-Dokumentation und einfache Skripte.

Forward Lookup für einen Domainnamen

nslookup example.com

Ohne weitere Option fragt nslookup den standardmäßig konfigurierten Resolver ab. Die Antwort kann einen oder mehrere Adressdatensätze enthalten.

A- und AAAA-Records gezielt abfragen

Ein A-Record enthält eine IPv4-Adresse. Ein AAAA-Record enthält eine IPv6-Adresse.

nslookup -type=A example.com
nslookup -type=AAAA example.com

Das Fehlen eines AAAA-Records bedeutet nicht, dass auch kein A-Record vorhanden ist. IPv4 und IPv6 werden unabhängig voneinander veröffentlicht.

Reverse Lookup einer IP-Adresse

nslookup 203.0.113.25

Bei einer IPv4-Adresse sucht nslookup nach einem PTR-Record in der entsprechenden in-addr.arpa-Zone. Für IPv6 wird das Prinzip mit ip6.arpa umgesetzt. Ein Reverse Lookup funktioniert nur, wenn der zuständige Betreiber einen PTR-Record eingerichtet hat.

Der zurückgegebene PTR-Name muss nicht mit dem Namen übereinstimmen, der im Forward Lookup auf dieselbe IP-Adresse zeigt. Forward und Reverse DNS werden getrennt verwaltet.

Einen bestimmten Resolver abfragen

nslookup example.com 1.1.1.1
nslookup example.com 9.9.9.9

Damit vergleichst du beispielsweise den lokalen Resolver mit einem externen Resolver. Für interne Namen ist normalerweise der interne Unternehmensresolver erforderlich; ein öffentlicher Resolver kennt private Zonen meist nicht.

Interaktiver Modus

Starte nslookup ohne Positionsargumente:

nslookup

Danach erscheint eine Eingabeaufforderung. Der verwendete DNS-Server und der ausgewählte Record-Typ bleiben für weitere Abfragen aktiv, bis du sie änderst.

> server 1.1.1.1
> set type=MX
> example.com
> exit

Wichtige interaktive Befehle sind:

  • server SERVER wechselt den DNS-Server,
  • set type=TYPE setzt den Record-Typ,
  • set querytype=TYPE ist eine alternative Schreibweise für den Abfragetyp,
  • ein Name oder eine IP-Adresse startet die eigentliche Abfrage,
  • exit beendet die Sitzung.

Der interaktive Modus ist sinnvoll, wenn du mehrere Namen mit demselben Resolver oder mehrere Record-Typen einer Zone nacheinander untersuchen möchtest. Für einzelne Abfragen und Skripte ist der nicht-interaktive Modus übersichtlicher.

Forward Lookup: Namen zu IP-Adressen

Ein Forward Lookup löst einen FQDN wie host.example.com in DNS-Daten auf. Bei einer Adressabfrage sind vor allem A- und AAAA-Records relevant.

$ nslookup example.com
Server:         192.0.2.53
Address:        192.0.2.53#53

Non-authoritative answer:
Name:   example.com
Address: 203.0.113.10
Address: 2001:db8::10

Mehrere IP-Adressen sind normal. Sie können beispielsweise für Load Balancing, Hochverfügbarkeit oder Content Delivery Networks veröffentlicht werden. Eine Antwort kann außerdem einen CNAME enthalten. Ein CNAME ist ein Alias und keine IP-Adresse; sein kanonisches Ziel kann eine weitere Abfrage benötigen.

nslookup -type=CNAME www.example.com

Reverse Lookup: IP-Adresse zu Hostname

Ein Reverse Lookup verwendet einen PTR-Record. Bei IPv4 wird die Adresse umgekehrt und unter in-addr.arpa abgefragt. Die Adresse 203.0.113.25 gehört dabei grundsätzlich zur Reverse-DNS-Struktur 25.113.0.203.in-addr.arpa.

Bei IPv6 werden die einzelnen Hexadezimalziffern umgekehrt unter ip6.arpa verwendet. Für private oder nicht öffentlich delegierte Adressen existiert häufig kein öffentlich sichtbarer PTR-Record.

Wichtige DNS-Record-Typen

Record-TypBedeutungTypischer EinsatzzweckBeispieloption
AIPv4-AdresseForward Lookup für IPv4-type=A
AAAAIPv6-AdresseForward Lookup für IPv6-type=AAAA
PTRName für eine IP-AdresseReverse DNS-type=PTR
MXMailserver mit PrioritätErmittlung der zuständigen Mailserver-query=MX
NSNameserver einer ZoneDelegation und autoritative Server prüfen-query=NS
SOAStart of Authority mit VerwaltungsdatenPrimären Nameserver, Seriennummer und Zeitwerte prüfen-query=SOA
CNAMEAlias auf einen kanonischen NamenAliasziel untersuchen-type=CNAME
TXTTextbasierte DNS-InformationSPF-, Verifizierungs- und andere Richtliniendaten prüfen-query=TXT
ANYHistorischer SammelabfragetypNur eingeschränkt brauchbar-type=ANY

MX-Records

nslookup -query=MX example.com

MX-Antworten enthalten Mailserver und Prioritätswerte. Ein niedrigerer Zahlenwert bedeutet üblicherweise eine höhere Zustellpriorität. Der MX-Name muss anschließend selbst in eine IP-Adresse aufgelöst werden.

NS- und SOA-Records

nslookup -query=NS example.com
nslookup -query=SOA example.com

NS-Records nennen die für eine Zone zuständigen Nameserver. Der SOA-Record enthält unter anderem den primären Nameserver, eine Seriennummer und Zeitwerte wie Refresh- und Expire-Intervalle. Die Seriennummer ist bei der Kontrolle von Änderungen an einer DNS-Zone besonders nützlich.

TXT und ANY

nslookup -query=TXT example.com
nslookup -type=ANY example.com

TXT-Records enthalten textbasierte Informationen, beispielsweise SPF-Richtlinien oder Besitznachweise. ANY ist kein zuverlässiger Weg, alle DNS-Daten einer Zone abzurufen. Viele autoritative Server beschränken oder verweigern diese Abfrage; Antworten können unvollständig sein. Frage benötigte Record-Typen daher einzeln ab.

Ausgabe von nslookup lesen

Eine typische Antwort besteht aus mehreren Bereichen:

  • Server: Name des befragten DNS-Resolvers, sofern er bekannt ist.
  • Address: IP-Adresse des Resolvers, oft mit dem DNS-Port #53.
  • Non-authoritative answer: Die Antwort stammt nicht direkt aus der autoritativen Zone, sondern meist aus einem rekursiven Resolver oder dessen Cache.
  • Name: der angefragte oder beantwortete DNS-Name.
  • Address: bei A- oder AAAA-Abfragen die gefundene IP-Adresse.
  • Aliases: gegebenenfalls CNAME-Aliase, die auf den Namen zeigen.
  • Record-spezifische Felder: beispielsweise MX-Prioritäten oder SOA-Zeitwerte.

Non-authoritative bedeutet nicht, dass die Antwort falsch ist. Es beschreibt lediglich, dass der befragte Server nicht der autoritative Nameserver für die Zone ist.

Ausgabe oder FehlerBedeutungMögliche UrsacheNächster Prüfschritt
Non-authoritative answerAntwort aus einem rekursiven Resolver oder CacheNormaler BetriebBei Bedarf autoritativen NS gezielt vergleichen.
NXDOMAINDer Domainname existiert aus Sicht der DNS-Zone nicht.Schreibfehler, fehlender Record oder falscher DNS-StandFQDN prüfen, NS ermitteln und Resolver vergleichen.
SERVFAILDer Resolver konnte keine gültige Antwort liefern.DNSSEC-Problem, nicht erreichbarer autoritativer Server oder ResolverfehlerAnderen Resolver sowie NS- und SOA-Records testen.
REFUSEDDer Server lehnt die Anfrage ab.Zugriffsregeln oder nicht erlaubte RekursionGeeigneten internen oder autoritativen Server verwenden.
DNS request timed outKeine rechtzeitige AntwortResolver, Netzwerk, Firewall, VPN oder Port 53 nicht erreichbarResolveradresse und Netzwerk prüfen; anderen Resolver vergleichen.
Fehlender PTR-RecordKein Reverse-Name veröffentlichtPTR nicht eingerichtet oder Adresse nicht öffentlich delegiertProvider oder IP-Adressinhaber prüfen.
Abweichende Resolver-AntwortenResolver sehen unterschiedliche DNS-Daten.Cache, TTL, Split-DNS oder geografische SteuerungResolver explizit angeben und Zeitpunkt sowie TTL dokumentieren.

Eine erfolgreiche DNS-Antwort garantiert außerdem nicht, dass der Zielhost erreichbar ist oder der gewünschte Dienst funktioniert. DNS liefert Namensdaten; Erreichbarkeit, Routing, Firewallregeln und der Dienst selbst müssen separat geprüft werden.

Gezielte Resolver-Tests

Ohne Serverargument verwendet nslookup den Resolver aus der lokalen Systemkonfiguration. Diese Konfiguration kann beispielsweise durch NetworkManager, DHCP oder systemd-resolved verwaltet werden.

cat /etc/resolv.conf

Die Datei kann automatisch erzeugt oder überschrieben werden. Ändere sie daher nicht blind direkt, sondern prüfe zuerst, welcher Netzwerkdienst die Resolvereinstellungen verwaltet.

Für einen Vergleichstest kannst du denselben Namen über mehrere Resolver abfragen:

nslookup example.com
nslookup example.com 9.9.9.9
nslookup example.com 1.1.1.1

Unterschiede können durch DNS-Cache und TTL, Split-DNS, geografische Antwortsteuerung oder fehlerhafte interne Weiterleitungen entstehen. Bei internen Namen sollte der Unternehmensresolver Vorrang haben, weil öffentliche Resolver private DNS-Zonen normalerweise nicht kennen.

Typische Fehler systematisch untersuchen

nslookup wird nicht gefunden

command -v nslookup
nslookup -version

Installiere anschließend das passende DNS-Werkzeugpaket für deine Distribution. Prüfe danach erneut den PATH und die Version.

DNS request timed out

  • Teste einen anderen bekannten Resolver.
  • Prüfe Netzwerkverbindung und die Adresse in /etc/resolv.conf.
  • Berücksichtige UDP und TCP über Port 53; Firewalls, VPNs und Unternehmensregeln können DNS blockieren.
  • Prüfe bei internen Netzen, ob der explizit angegebene DNS-Server Anfragen aus deinem Netz akzeptiert.

NXDOMAIN für einen erwarteten Namen

  • Überprüfe Schreibweise und FQDN.
  • Frage die NS-Records ab, um die autoritativen Nameserver zu ermitteln.
  • Vergleiche den internen Resolver mit einem öffentlichen Resolver.
  • Berücksichtige TTL und DNS-Caches, wenn der Record gerade geändert wurde.

SERVFAIL oder REFUSED

SERVFAIL weist auf ein Verarbeitungs- oder Validierungsproblem hin, beispielsweise bei DNSSEC, der Zonenkonfiguration oder der Erreichbarkeit eines autoritativen Servers. REFUSED bedeutet dagegen, dass der Server die Anfrage absichtlich aufgrund seiner Richtlinien ablehnt.

nslookup -query=NS example.com
nslookup -query=SOA example.com

Bei einer eigenen Zone prüfst du zusätzlich Delegation, Zonendaten, DNSSEC und Weiterleitungen. Für detaillierte Fehlerursachen ist dig geeigneter.

Kein Reverse-Lookup-Ergebnis

Prüfe, ob die IP-Adresse öffentlich routbar ist und ob der Provider oder IP-Adressinhaber einen PTR-Record eingerichtet hat. Forward und Reverse DNS müssen nicht symmetrisch sein.

ANY liefert wenig oder keine Daten

Das ist bei modernen autoritativen Servern normal. Frage stattdessen A, AAAA, MX, NS, SOA, CNAME oder TXT jeweils einzeln ab.

nslookup, dig und host im Vergleich

nslookup ist für einfache manuelle Abfragen weiterhin nützlich und auf vielen Systemen vorhanden. Für präzise DNS-Diagnosen wird jedoch häufig dig verwendet, weil die Ausgabe strukturierter ist, mehr Diagnoseoptionen bietet und sich besser für Skripte auswerten lässt. host ist ebenfalls ein kompaktes Werkzeug für einfache Namens- und Record-Abfragen.

  • Verwende nslookup für schnelle Einzelabfragen und den interaktiven Modus.
  • Verwende dig für Flags, Statuscodes, Autoritätsinformationen, DNSSEC und detaillierte Vergleichstests.
  • Verwende host für besonders kurze Standardabfragen.

Praktische Befehlsübersicht

# Name zu IPv4/IPv6 auflösen
nslookup example.com

# IPv4 und IPv6 getrennt prüfen
nslookup -type=A example.com
nslookup -type=AAAA example.com

# Reverse Lookup
nslookup 203.0.113.25

# Mailserver
nslookup -query=MX example.com

# Autoritative Nameserver und Zonendaten
nslookup -query=NS example.com
nslookup -query=SOA example.com

# Alias und Textinformationen
nslookup -query=CNAME www.example.com
nslookup -query=TXT example.com

# Bestimmten Resolver testen
nslookup example.com 9.9.9.9