DNS meldet weiter NXDOMAIN. Wie lange bleibt die Antwort im Cache?

Der Eintrag ist gesetzt, doch manche Besucher erreichen die Website weiterhin nicht. Vergleichen Sie die DNS-Antworten und prüfen Sie, ob ihr Resolver eine ältere Negativantwort liefert.

Gelbe Glasfaserkabel mit grünen Steckern in einem Telekommunikationsrack
Fotografie: Kirill Sh / Unsplash

Vor dem Start einer neuen Subdomain fragen Sie den Namen ab und erhalten NXDOMAIN. Kurz darauf legen Sie einen A-Eintrag an. Der autoritative Nameserver liefert bereits die richtige Adresse, doch aus demselben Netz bleibt die Website unerreichbar. Der rekursive Resolver hat womöglich die frühere Antwort gespeichert, laut der der Name fehlte. Fragen Sie zur Überprüfung den Resolver ab, den der betroffene Client verwendet.

Fehlenden Namen, fehlenden Record-Typ und Auflösungsfehler unterscheiden

NXDOMAIN bedeutet, dass DNS einen Namen als nicht vorhanden meldet. Bei einer CNAME-Kette kann das erst auf deren Ziel zutreffen. Ist der Name vorhanden und fehlt der angefragte Record-Typ, kann die Antwort NOERROR, einen leeren ANSWER-Abschnitt und einen SOA-Eintrag im Abschnitt AUTHORITY enthalten. Diese Antwort heißt NODATA. So kann ein Name einen A-Eintrag haben, während eine AAAA-Abfrage NODATA ergibt.

Ein Resolver kann ein gespeichertes NXDOMAIN für weitere Record-Typen desselben Namens und derselben Klasse verwenden. NODATA speichert er für den jeweiligen Typ. SERVFAIL meldet einen Auflösungsfehler, etwa bei der DNSSEC-Validierung. Auch diesen Fehler kann der Resolver vorübergehend speichern. Ob der Name existiert, bleibt dabei offen.

Dieselbe Abfrage an zwei Server senden

Fragen Sie mit dig @192.0.2.54 api.example.com. A den Resolver des betroffenen Nutzers ab. Mit dig @192.0.2.53 api.example.com. A +norecurse fragen Sie direkt einen autoritativen Nameserver ab. Name und Adressen sind Beispiele. Setzen Sie den betroffenen Namen und die tatsächlichen Serveradressen ein. Nutzt der Browser einen eigenen Resolver über DNS over HTTPS, prüfen Sie auch diesen Weg.

Halten Sie Uhrzeit, Serveradresse, Antwortcode und die Abschnitte ANSWER und AUTHORITY fest. Prüfen Sie bei der direkten Abfrage das aa-Flag und vergleichen Sie bei Bedarf alle Nameserver aus der Delegation. Weichen deren Antworten voneinander ab, prüfen Sie die Veröffentlichung der Zone. Liefern sie übereinstimmend die richtige Adresse, während der betroffene Resolver NXDOMAIN mit SOA-Eintrag meldet, spricht eine sinkende SOA-TTL bei wiederholten Abfragen für eine ältere Antwort aus dem Cache.

Den nächsten Prüfzeitpunkt anhand der SOA-TTL abschätzen

Bei einer Negativantwort verwendet der autoritative Nameserver den kleineren Wert aus der TTL des SOA-Eintrags und dessen MINIMUM-Feld. Bei einer TTL von 3600 Sekunden und einem MINIMUM von 900 Sekunden kann der Resolver die Antwort bis zu 900 Sekunden speichern. Steht in der Negativantwort des Resolvers beim SOA-Eintrag eine TTL von 180, prüfen Sie nach etwa drei Minuten erneut. Andere Resolver können eine andere Restlaufzeit haben.

Eine kürzere TTL für den neuen A-Eintrag ändert die Laufzeit des bereits gespeicherten NXDOMAIN-Eintrags nicht. Betreiben Sie den betroffenen Resolver selbst, können Sie den betreffenden Cache-Eintrag nach Prüfung der autoritativen Antworten gemäß Dokumentation löschen. Das Leeren des DNS-Cache am Laptop hilft nur, wenn dort die alte Antwort gespeichert ist. Liefert sie der Resolver weiterhin, kann der Laptop sie erneut abrufen.

Die Wiederherstellung aus dem betroffenen Netz prüfen

Wiederholen Sie die Abfrage über den ursprünglichen Resolver. Testen Sie anschließend HTTPS mit dem tatsächlichen Hostnamen des Dienstes aus demselben Netz. Prüfen Sie das Zertifikat und die Funktion, die der Besucher nutzen möchte. Gelingt die Namensauflösung und schlägt HTTPS fehl, untersuchen Sie die Verbindung oder die Anwendung.

Veröffentlichen Sie beim nächsten Start die Einträge frühzeitig. Konnten Clients den Namen schon vor der Änderung abfragen, planen Sie Zeit für den Ablauf gespeicherter Negativantworten ein. Erfassen Sie bei jeder Prüfung, welcher Resolver geantwortet hat und ob NXDOMAIN, NODATA oder ein Auflösungsfehler vorlag. So können Sie bei der nächsten Meldung dieselbe Prüfung wiederholen.

  • Den genauen Namen, Abfragetyp und Resolver festhalten.
  • Die Antworten der autoritativen Nameserver vergleichen.
  • Bei einer Negativantwort die verbleibende SOA-TTL prüfen.
  • Namensauflösung und HTTPS aus dem betroffenen Netz bestätigen.

Was Sie mitnehmen

Sobald der Eintrag in der Zone steht, prüfen Sie die Antwort des Resolvers, den der Nutzer verwendet. Die verbleibende TTL in einer Negativantwort hilft bei der Planung der nächsten Prüfung. Bestätigen Sie die Wiederherstellung mit einer erfolgreichen Namensauflösung und einem HTTPS-Test.

Dokumentation und weiterführende Links

Mgr. Martin Hlavaj, MBA

Softwareentwickler

Alle Artikel

Erfahren Sie frühzeitig von Ausfällen.

Fügen Sie Ihre Website oder API zu UpBot hinzu und bestimmen Sie, wer den Alarm erhält.

Kostenlos überwachen