VMware ESXi and vSphere Cluster Management
host-Befehl unter Linux: DNS-Abfragen für Domains und IP-Adressen
Lerne den Linux-Befehl host kennen: Forward- und Reverse-DNS, A-, AAAA-, NS-, TXT- und SOA-Abfragen, -C, -a, DNS-Server und Fehlersuche.
Der Linux-Befehl host ist ein Kommandozeilenwerkzeug für DNS-Lookups. DNS steht für Domain Name System und verteilt Namen, IP-Adressen sowie weitere Informationen über Domains. Mit host kannst du beispielsweise prüfen, welche IP-Adresse zu einem Hostnamen gehört, ob eine IP-Adresse einen PTR-Eintrag besitzt oder welche Nameserver für eine Zone zuständig sind.
Was macht der host-Befehl?
host fragt einen DNS-Server nach einem Namen, einer IP-Adresse oder einem bestimmten Resource Record ab. Ein Resource Record ist ein DNS-Datensatz eines bestimmten Typs, zum Beispiel ein A-, MX- oder TXT-Record.
- Forward Lookup: Ein Domain- oder Hostname wird in eine oder mehrere IP-Adressen aufgelöst.
- Reverse Lookup: Eine IP-Adresse wird über einen PTR-Record in einen Hostnamen aufgelöst.
- Record-Abfrage: Ein bestimmter DNS-Datensatz wie NS, SOA oder TXT wird abgefragt.
- DNS-Diagnose: Antworten verschiedener Resolver oder autoritativer Nameserver lassen sich vergleichen.
Der Befehl prüft dabei vor allem die DNS-Konfiguration. Eine erfolgreiche DNS-Auflösung beweist nicht automatisch, dass ein Webserver, Mailserver oder anderer Dienst erreichbar ist. DNS und Dienst-Erreichbarkeit sind getrennte Prüfungen.
Installation und Verfügbarkeit
host gehört zu den DNS-Werkzeugen aus BIND. Prüfe zunächst, ob das Programm vorhanden ist:
host -V
command -v host
Auf Debian, Ubuntu und verwandten Systemen wird das Programm typischerweise mit bind9-host installiert:
sudo apt update && sudo apt install bind9-host
Auf Fedora, RHEL und verwandten Systemen ist meist das Paket bind-utils zuständig:
sudo dnf install bind-utils
Auf älteren Systemen kann statt dnf noch yum verwendet werden. Paketnamen können je nach Distribution und Version abweichen.
Grundsyntax und Aufruf
Das allgemeine Syntaxmuster lautet:
host [Optionen] Name [DNS-Server]
Nameist normalerweise ein Domain- oder Hostname. Bei einer IP-Adresse führthosteinen Reverse Lookup aus.[Optionen]schränkt die Abfrage ein oder erweitert die Ausgabe.[DNS-Server]ist optional. Wird er angegeben, fragthostdiesen Server gezielt ab.
Ohne Argumente zeigt host normalerweise eine Nutzungs- oder Hilfeübersicht:
host
Die genaue Hilfeausgabe kann von der installierten BIND-Version abhängen.
Vorwärtsauflösung von Domains und Hostnamen
Bei einer normalen Namensauflösung fragt host die A- und gegebenenfalls AAAA-Datensätze eines Namens ab:
host example.com
Ein A-Record enthält eine IPv4-Adresse. Ein AAAA-Record enthält eine IPv6-Adresse. Eine typische Ausgabe kann sinngemäß so aussehen:
example.com has address 203.0.113.10
example.com has IPv6 address 2001:db8::10
Die tatsächlich ausgegebenen Adressen hängen von der DNS-Zone und vom verwendeten Resolver ab. Mehrere Adressen sind normal. Sie können beispielsweise für Lastverteilung, Redundanz, geografische Verteilung oder getrennte IPv4- und IPv6-Erreichbarkeit veröffentlicht werden.
Praktische Beispiele:
host linux-bible.com
host example.com
Ohne expliziten DNS-Server verwendet host normalerweise den im System konfigurierten Resolver.
Reverse-DNS-Abfragen mit IP-Adressen
Bei einem Reverse Lookup wird eine IP-Adresse nach ihrem PTR-Record gefragt:
host 203.0.113.10
host 208.117.229.34
Eine mögliche Antwort lautet:
10.113.0.203.in-addr.arpa domain name pointer host.example.com.
Bei IPv4 werden Reverse-DNS-Daten unter in-addr.arpa verwaltet. Bei IPv6 wird der Bereich ip6.arpa verwendet. Du musst diese Namen normalerweise nicht selbst bilden, weil host die Umwandlung übernimmt.
Ein PTR-Record wird vom Inhaber des jeweiligen IP-Adressbereichs gepflegt, häufig also von einem Hosting- oder Internetprovider. Eine Domain kann vorwärts auflösbar sein, ohne dass die zugehörige IP-Adresse rückwärts einen Hostnamen liefert. Forward- und Reverse-DNS sind unabhängig voneinander.
Bestimmte DNS-Record-Typen abfragen
Mit -t wählst du den gewünschten Record-Typ aus:
host -t TYP NAME
Beispiele:
host -t A example.com
host -t AAAA example.com
host -t CNAME www.example.com
host -t MX example.com
host -t NS google.com
host -t SOA example.com
host -t TXT google.com
| Typ | Bedeutung | Typischer Einsatz | Beispielabfrage |
|---|---|---|---|
| A | IPv4-Adresse | Auflösung eines Namens zu IPv4 | host -t A example.com |
| AAAA | IPv6-Adresse | Auflösung eines Namens zu IPv6 | host -t AAAA example.com |
| CNAME | Alias auf einen kanonischen Hostnamen | Aliasziel eines Hostnamens ermitteln | host -t CNAME www.example.com |
| MX | Mailserver einer Domain | Prüfung der Mailzustellung | host -t MX example.com |
| NS | Zuständiger Nameserver einer Zone | Delegierte beziehungsweise autoritative Nameserver anzeigen | host -t NS example.com |
| PTR | Hostname zu einer IP-Adresse | Reverse DNS | host -t PTR 10.113.0.203.in-addr.arpa |
| SOA | Start of Authority, Verwaltungsdaten der Zone | Seriennummer und Zeitwerte prüfen | host -t SOA example.com |
| TXT | Frei definierbare Zeichenkette | SPF, Domain-Verifikation und Richtlinien | host -t TXT example.com |
| SRV | Dienstbezogene Serverangabe mit Port | Automatische Suche bestimmter Netzwerkdienste | host -t SRV _service._tcp.example.com |
| CAA | Zertifikatsaussteller-Richtlinie | Festlegen oder Prüfen erlaubter Certificate Authorities | host -t CAA example.com |
Je nach Version werden außerdem Typen wie DNSKEY beziehungsweise ältere Bezeichnungen wie KEY und SIG unterstützt. Diese Records stehen unter anderem im Zusammenhang mit DNSSEC und kryptografischen Signaturen. Nicht jeder DNS-Server liefert jeden Typ für jede Zone.
NS-Records
NS-Records nennen die Nameserver, die für eine DNS-Zone zuständig sind:
host -t NS google.com
Ein autoritärer Nameserver liefert die verbindlichen DNS-Daten seiner Zone. Ein rekursiver DNS-Server nimmt dagegen Anfragen von Clients entgegen und beschafft Antworten gegebenenfalls aus seinem Cache oder von autoritativen Servern.
TXT-Records
TXT-Werte sind frei definierte Textzeichenketten. Häufig enthalten sie SPF-Informationen, Domain-Verifikationen oder Richtlinien für Sicherheitsverfahren:
host -t TXT google.com
host -t TXT example.com
Eine TXT-Abfrage zeigt nur den veröffentlichten Inhalt. Sie bewertet nicht automatisch, ob eine SPF-, DKIM- oder DMARC-Konfiguration fachlich korrekt ist.
SOA-Records
Der SOA-Record, kurz für Start of Authority, beschreibt zentrale Verwaltungsdaten einer DNS-Zone:
host -t SOA example.com
Eine Antwort enthält typischerweise:
- den primären Nameserver der Zone,
- eine verantwortliche Kontaktadresse in DNS-Schreibweise,
- die Seriennummer der Zone,
- Refresh-, Retry- und Expire-Zeitwerte für sekundäre Nameserver,
- die minimale beziehungsweise negative Cache-Zeit, abhängig von der verwendeten DNS-Implementierung.
Die Seriennummer wird bei Änderungen der Zone üblicherweise erhöht. Sekundäre Nameserver verwenden sie, um festzustellen, ob ihre Zonendaten aktualisiert werden müssen.
SOA-Konsistenz mit -C prüfen
host -t SOA example.com zeigt den SOA-Record einer normalen Abfrage. Die Option -C geht weiter: Sie prüft die SOA-Antworten der autoritativen Nameserver auf Konsistenz.
host -C example.com
Abweichende SOA-Seriennummern oder unterschiedliche Antworten können auf Probleme bei Zonentransfers, NOTIFY-Nachrichten, Erreichbarkeit oder Replikation hindeuten. Eine solche Abweichung ist besonders relevant, wenn ein sekundärer Nameserver noch veraltete Zonendaten ausliefert.
Umfangreiche Abfragen mit -a und -v
Mit -a forderst du eine ausführliche Abfrage an:
host -a example.com
Diese Option wird häufig als umfangreiche beziehungsweise ANY-Abfrage verwendet. Viele DNS-Server schränken ANY-Abfragen aus Sicherheits-, Last- oder Datenschutzgründen ein. Deshalb liefert host -a nicht zwingend eine vollständige Liste aller vorhandenen DNS-Datensätze.
Mit -v kann eine detailliertere Ausgabe angefordert werden:
host -v example.com
Für zuverlässige Prüfungen solltest du benötigte Record-Typen einzeln abfragen, beispielsweise mit -t MX, -t TXT oder -t CAA. Eine reduzierte ANY-Antwort bedeutet nicht automatisch, dass ein bestimmter Record fehlt.
Einen DNS-Server gezielt abfragen
Standardmäßig verwendet host den lokal konfigurierten Resolver. Der DNS-Server kann als zweites Argument angegeben werden:
host example.com 1.1.1.1
host -t TXT example.com 1.1.1.1
Das ist nützlich, um einen öffentlichen rekursiven Resolver mit dem lokalen Resolver zu vergleichen. Du kannst außerdem einen autoritativen Nameserver aus einer NS-Antwort direkt abfragen:
host -t NS example.com
host -t SOA example.com ns1.example.net
Beim Vergleich musst du Caching, TTLs und unterschiedliche Validierungs- oder Filtereinstellungen berücksichtigen. Ein rekursiver Resolver kann eine zwischengespeicherte Antwort liefern, während ein autoritativer Server die Zonendaten direkt bereitstellt.
Die Ausgabe richtig interpretieren
| Ausgabe oder Fehler | Bedeutung | Mögliche Ursache | Nächster Prüfschritt |
|---|---|---|---|
has address | Ein A-Record wurde gefunden. | Der Name besitzt mindestens eine IPv4-Adresse. | Bei Bedarf zusätzlich host -t A NAME ausführen. |
has IPv6 address | Ein AAAA-Record wurde gefunden. | Der Name besitzt mindestens eine IPv6-Adresse. | Mit host -t AAAA NAME gezielt prüfen. |
domain name pointer | Ein PTR-Record ordnet der IP-Adresse einen Namen zu. | Reverse DNS ist für diese Adresse eingerichtet. | Vorwärtsauflösung des zurückgegebenen Namens separat testen. |
not found: 3(NXDOMAIN) | Der DNS-Name existiert aus Sicht des antwortenden Servers nicht. | Schreibfehler, nicht angelegte Domain oder fehlender Record. | Name prüfen sowie NS- und SOA-Records der übergeordneten Zone abfragen. |
connection timed out | Keine rechtzeitige Antwort. | Resolver, Netzwerk, VPN oder Firewall blockiert oder ist nicht erreichbar. | Anderen Resolver testen und DNS-Verbindung prüfen. |
SERVFAIL | Der Server konnte die Anfrage nicht erfolgreich abschließen. | DNSSEC-Validierung, autoritative Server oder Zonendaten problematisch. | Mit anderem Resolver vergleichen sowie NS- und SOA-Daten prüfen. |
Bei SOA-Antworten solltest du insbesondere den primären Nameserver, den Kontakt, die Seriennummer und die Zeitwerte betrachten. Bei NS-Antworten sind die genannten Nameserver die maßgeblichen Anlaufstellen für die Zone. TXT-Ausgaben sind Zeichenketten und müssen je nach Zweck, etwa SPF oder Verifikation, inhaltlich interpretiert werden.
Typische Fehler und ihre Behebung
NXDOMAIN oder „not found“
Prüfe zuerst die Schreibweise des Namens. Teste anschließend die grundsätzliche Auflösung ohne -t und frage die NS- sowie SOA-Records der übergeordneten Domain ab. Ein vorhandener Domainname bedeutet nicht, dass jeder gewünschte Hostname oder jeder angeforderte Record existiert.
Keine Antwort auf einen Reverse Lookup
Ein fehlender Hostname bedeutet nicht automatisch, dass die IP-Adresse ungültig ist. Der Inhaber des Adressbereichs kann den PTR-Record weggelassen oder anders konfiguriert haben. Bei Provider-Adressen wird Reverse DNS oft über ein Kundenportal oder den Provider verwaltet. Vorwärts- und Rückwärtsauflösung müssen getrennt bewertet werden.
Timeout
Ein Timeout kann auf einen nicht erreichbaren lokalen Resolver, Netzwerkprobleme oder blockierten DNS-Verkehr hindeuten. Teste einen anderen DNS-Server:
host example.com 1.1.1.1
Prüfe außerdem die lokale Resolver-Konfiguration, VPN-Regeln und Firewalls. DNS verwendet häufig UDP auf Port 53; für bestimmte Antworten kann auch TCP auf Port 53 erforderlich sein.
SERVFAIL
SERVFAIL bedeutet, dass der Resolver die Anfrage nicht erfolgreich abschließen konnte. Häufige Ursachen sind fehlerhafte DNSSEC-Validierung, nicht erreichbare autoritative Nameserver oder widersprüchliche Zonendaten. Ein Vergleich mit einem anderen Resolver hilft bei der Eingrenzung.
Unvollständige Ausgabe bei -a
Eine ANY-Abfrage ist keine Garantie für eine vollständige Zonenübersicht. Frage die benötigten Typen einzeln ab:
host -t A example.com
host -t MX example.com
host -t TXT example.com
host -t CAA example.com
Abweichende SOA-Daten bei -C
Unterschiedliche Seriennummern können bedeuten, dass Änderungen noch nicht auf alle autoritativen Nameserver übertragen wurden. Prüfe Zonentransfer, NOTIFY, Erreichbarkeit und die Antworten der einzelnen Nameserver. Wiederhole die Prüfung nach der Synchronisation.
Praxisübersicht der wichtigsten Optionen
| Option | Zweck | Beispiel | Hinweis |
|---|---|---|---|
-t | Record-Typ auswählen | host -t MX example.com | Typen wie A, AAAA, NS, SOA, TXT oder CNAME verwenden. |
-C | SOA-Konsistenz autoritativer Nameserver prüfen | host -C example.com | Nicht mit einer einfachen -t SOA-Abfrage verwechseln. |
-a | Ausführliche beziehungsweise ANY-nahe Abfrage | host -a example.com | Server können solche Abfragen einschränken. |
-v | Detailliertere Ausgabe | host -v example.com | Die genaue Darstellung hängt von der BIND-Version ab. |
Zusammenfassung
host NAMEprüft die normale Namensauflösung über den lokalen Resolver.host IP-Adresseführt einen Reverse Lookup über einen PTR-Record aus.- Mit
-tfragst du bestimmte DNS-Record-Typen wie A, AAAA, MX, NS, SOA, TXT oder CNAME ab. -Cvergleicht SOA-Daten der autoritativen Nameserver und hilft bei der Suche nach Replikationsproblemen.-akann umfangreiche Informationen anfordern, liefert wegen Einschränkungen von ANY-Abfragen aber nicht zwingend alle Records.- Mit einem zweiten Argument wie
1.1.1.1lässt sich ein bestimmter DNS-Server testen. - DNS-Auflösung und die tatsächliche Erreichbarkeit eines Dienstes sind unterschiedliche Prüfungen.