Bei der DNS-Fehlersuche musst du zuerst bestimmen, welche Ebene getestet wird. Werkzeuge für den Systemresolver beziehen lokale Dateien und Richtlinien ein, während dig und nslookup DNS-Abfragen senden und einen bestimmten Server direkt ansprechen können.
DNS · Lektion 6
DNS-Werkzeuge
Lerne, die Systemauflösung und direkte DNS-Abfragen mit getent, resolvectl und dig zu vergleichen.
Den Systemresolver testen
Verwende den normalen Namensdienstpfad des Hosts:
$ getent ahosts www.example.com
Untersuche auf einem Host mit systemd-resolved die Server, Suchdomains und den Protokollzustand pro Verbindung:
$ resolvectl status
$ resolvectl query www.example.com
Eine Anwendung kann weiterhin eine eigene Resolver-Bibliothek oder einen Proxy verwenden. Stelle die Abfrage deshalb über die Anwendung nach, wenn sich die Ausgaben unterscheiden.
Welcher Befehl durchläuft den konfigurierten Namensdienstpfad des Systems?
Mit dig abfragen
Gib einen Namen und einen Eintragstyp an:
$ dig www.example.com A
$ dig www.example.com AAAA
$ dig example.com MX
Die Ausgabe bezeichnet den antwortenden Server, Status, Flags, Frage, Antwort, Autoritäts- und Zusatzdaten, Abfragezeit sowie Transportmetadaten. +short ist für Skripte praktisch, verbirgt aber für die Diagnose benötigte Belege.
Welche Abfrage fordert IPv6-Adresseinträge an?
Einen Server auswählen
Sprich einen Resolver oder autoritativen Server ausdrücklich an:
$ dig @192.0.2.53 www.example.com A
Vergleiche den konfigurierten rekursiven Resolver, einen zweiten genehmigten Resolver und jeden autoritativen Server, um Cache und Autorität voneinander abzugrenzen. Ein Status NOERROR kann ohne angeforderte Antwortdaten zurückkommen; NXDOMAIN bedeutet, dass der abgefragte Name nicht existiert, während SERVFAIL bedeutet, dass der Server die Abfrage nicht abschließen konnte.
Kann NOERROR einen leeren Antwortabschnitt besitzen?
Rekursion und Autorität prüfen
rd in der Abfrage fordert Rekursion an; ra in einer Antwort zeigt an, dass der Server sie anbietet. aa bedeutet, dass die Antwort autoritativ ist. Frage einen autoritativen Server mit +norecurse ab, damit du einen rekursiven Cache nicht mit bereitgestellten Zonendaten verwechselst.
dig +trace NAME führt selbst einen iterativen Durchlauf aus, der bei den Root-Hinweisen beginnt. Das Ergebnis kann sich von einem produktiven Resolver unterscheiden, weil dessen Cache, Weiterleitung, Richtlinie, DNSSEC-Validierung und Netzwerkstandort umgangen werden.
Was bedeutet das Antwort-Flag aa?
Reverse- und TCP-Abfragen testen
Verwende -x, um eine rückwärts gerichtete PTR-Abfrage aufzubauen:
$ dig -x 192.0.2.25
Teste DNS über TCP, wenn du abgeschnittene Antworten, Zonenübertragungen oder Unterschiede in der Firewall untersuchst:
$ dig +tcp @192.0.2.53 example.com SOA
Modernes DNS kann UDP oder TCP auf Port 53 verwenden; beide müssen dort zugelassen sein, wo sie benötigt werden. Eine UDP-Antwort mit gesetztem Truncation-Flag veranlasst konforme Clients, die Abfrage über einen geeigneten Transport zu wiederholen.
Was verändert dig +tcp?
Lektion abgeschlossen
Sie haben DNS-Werkzeuge abgeschlossen
Du kannst nun ein DNS-Werkzeug passend zur untersuchten Resolver-Ebene auswählen.
Verwende
getentfür den konfigurierten Systemresolver-Pfad.Verwende
digmit ausdrücklichen Eintragstypen und Servern.Werte Status, Flags, Abschnitte und antwortenden Server gemeinsam aus.
Trenne den rekursiven Cache von autoritativen Daten.
Teste Reverse-Abfragen und beide erforderlichen DNS-Transporte.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen