Ich hatte kürzlich ein Problem, bei dem ein Remotedienst, der die IP-Adresse für meinen Server anforderte (mit einem gehosteten DNS-Anbieter), antwortete mit:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Update: Der hier erwähnte Remote-Dienst ist Let's Encrypt. Ich habe einen Fehler gegen den Issue-Tracker gemeldet , der mich auf diesen Weg geführt hat.)
Beim Testen in meinem lokalen Netzwerk konnte ich feststellen, dass ich manchmal eine leere DNS-Antwort vom gehosteten DNS-Server erhalte. Anscheinend ist dies zeitweise, da es nur passiert, wenn sich die DNS-Einträge nicht im Cache befinden, und es nur dann ein Problem ist, wenn der DNS-Server wirklich ausgelastet ist.
Hier ist eine Wireshark-Beschreibung einer leeren Antwortnachricht:
Da die meisten DNS-Abfragen und -Antworten über UDP gesendet werden, wartet ein lokaler Resolver natürlich nur eine Weile auf die Antwort und gibt dann auf. Ich frage mich jetzt, ob es Richtlinien für DNS-Antwortzeiten gibt. Mein DNS-Hoster zuckte die Achseln und sagte, mein lokaler Resolver habe die leere Antwort zu früh gesendet. Ich hatte dieses Problem noch nie zuvor, bin aber überrascht über den Fehlermodus - eine leere DNS-Antwort ohne Fehlercode.
Kennt jemand einige Richtlinien, wie dies funktionieren soll und wann / wie ich nachweisen kann, dass mein DNS-Hosting etwas falsch macht?
dig
/nslookup
oder eine Wireshark-Dissektion sehen. (tcpdump
wird nicht gut genug sein) Wenn Sie verwendennslookup
, führen Sieset debug
zuerst aus.