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
| Zweck | Syntax | Beispiel | Hinweis |
|---|---|---|---|
| Standardabfrage | nslookup NAME | nslookup example.com | Fragt den konfigurierten Resolver ab. |
| Reverse Lookup | nslookup IP-ADRESSE | nslookup 203.0.113.25 | Sucht nach einem PTR-Record. |
| Expliziter DNS-Server | nslookup NAME SERVER | nslookup example.com 9.9.9.9 | Umgeht den normalerweise verwendeten Resolver. |
| Bestimmter Record-Typ | nslookup -type=TYP NAME | nslookup -query=MX example.com | -type und -query sind gebräuchliche Schreibweisen. |
| Interaktiver Start | nslookup | nslookup | Mehrere 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 SERVERwechselt den DNS-Server,set type=TYPEsetzt den Record-Typ,set querytype=TYPEist eine alternative Schreibweise für den Abfragetyp,- ein Name oder eine IP-Adresse startet die eigentliche Abfrage,
exitbeendet 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-Typ | Bedeutung | Typischer Einsatzzweck | Beispieloption |
|---|---|---|---|
| A | IPv4-Adresse | Forward Lookup für IPv4 | -type=A |
| AAAA | IPv6-Adresse | Forward Lookup für IPv6 | -type=AAAA |
| PTR | Name für eine IP-Adresse | Reverse DNS | -type=PTR |
| MX | Mailserver mit Priorität | Ermittlung der zuständigen Mailserver | -query=MX |
| NS | Nameserver einer Zone | Delegation und autoritative Server prüfen | -query=NS |
| SOA | Start of Authority mit Verwaltungsdaten | Primären Nameserver, Seriennummer und Zeitwerte prüfen | -query=SOA |
| CNAME | Alias auf einen kanonischen Namen | Aliasziel untersuchen | -type=CNAME |
| TXT | Textbasierte DNS-Information | SPF-, Verifizierungs- und andere Richtliniendaten prüfen | -query=TXT |
| ANY | Historischer Sammelabfragetyp | Nur 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 Fehler | Bedeutung | Mögliche Ursache | Nächster Prüfschritt |
|---|---|---|---|
| Non-authoritative answer | Antwort aus einem rekursiven Resolver oder Cache | Normaler Betrieb | Bei Bedarf autoritativen NS gezielt vergleichen. |
| NXDOMAIN | Der Domainname existiert aus Sicht der DNS-Zone nicht. | Schreibfehler, fehlender Record oder falscher DNS-Stand | FQDN prüfen, NS ermitteln und Resolver vergleichen. |
| SERVFAIL | Der Resolver konnte keine gültige Antwort liefern. | DNSSEC-Problem, nicht erreichbarer autoritativer Server oder Resolverfehler | Anderen Resolver sowie NS- und SOA-Records testen. |
| REFUSED | Der Server lehnt die Anfrage ab. | Zugriffsregeln oder nicht erlaubte Rekursion | Geeigneten internen oder autoritativen Server verwenden. |
| DNS request timed out | Keine rechtzeitige Antwort | Resolver, Netzwerk, Firewall, VPN oder Port 53 nicht erreichbar | Resolveradresse und Netzwerk prüfen; anderen Resolver vergleichen. |
| Fehlender PTR-Record | Kein Reverse-Name veröffentlicht | PTR nicht eingerichtet oder Adresse nicht öffentlich delegiert | Provider oder IP-Adressinhaber prüfen. |
| Abweichende Resolver-Antworten | Resolver sehen unterschiedliche DNS-Daten. | Cache, TTL, Split-DNS oder geografische Steuerung | Resolver 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