Wie kann ich DNS-Probleme irgendwo mitten in der Rekursion lösen?


13

Ich habe ein wirklich komisches Problem mit meinem DNS. Mein Domain-Name ( strugee.net) ist in einigen Netzwerken nicht auflösbar und in anderen auflösbar.

Zum Beispiel in meinem Heimnetzwerk (dasselbe Netzwerk, in dem sich der Server befindet):

% dig strugee.net

; <<>> DiG 9.10.3-P4 <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10086
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net.           IN  A

;; ANSWER SECTION:
strugee.net.        1800    IN  A   216.160.72.225

;; Query time: 186 msec
;; SERVER: 205.171.3.65#53(205.171.3.65)
;; WHEN: Sat Apr 16 15:42:36 PDT 2016
;; MSG SIZE  rcvd: 56

Wenn ich mich jedoch bei einem Server mit Digital Ocean anmelde, kann die Domäne nicht aufgelöst werden:

% dig strugee.net      

; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58551
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;strugee.net.           IN  A

;; Query time: 110 msec
;; SERVER: 2001:4860:4860::8844#53(2001:4860:4860::8844)
;; WHEN: Sat Apr 16 18:44:25 EDT 2016
;; MSG SIZE  rcvd: 40

Aber direkt zu den maßgeblichen Nameservern zu gehen, funktioniert einwandfrei:

% dig @dns1.registrar-servers.com strugee.net   

; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> @dns1.registrar-servers.com strugee.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30856
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net.           IN  A

;; ANSWER SECTION:
strugee.net.        1800    IN  A   216.160.72.225

;; AUTHORITY SECTION:
strugee.net.        1800    IN  NS  dns3.registrar-servers.com.
strugee.net.        1800    IN  NS  dns4.registrar-servers.com.
strugee.net.        1800    IN  NS  dns2.registrar-servers.com.
strugee.net.        1800    IN  NS  dns1.registrar-servers.com.
strugee.net.        1800    IN  NS  dns5.registrar-servers.com.

;; Query time: 3 msec
;; SERVER: 216.87.155.33#53(216.87.155.33)
;; WHEN: Sat Apr 16 18:46:36 EDT 2016
;; MSG SIZE  rcvd: 172

Es ist ziemlich klar, dass es irgendwo ein Problem mit einem großen Netzwerk gibt, das meine Domain nicht lösen kann, aber ich kann nicht herausfinden, wo. Ich habe in der digManpage nach Optionen gesucht, die hilfreich sein könnten, fand aber nichts besonders Nützliches.

Ich bin sowohl als Domain-Registrar als auch als DNS-Hoster auf Namecheap. Ich habe die DNSSEC-Option aktiviert. Ich habe in letzter Zeit keine Änderungen an meinen DNS-Einstellungen vorgenommen.

Wie kann ich dieses Problem beheben und den fehlerhaften Nameserver finden?


7
Vielen Dank, dass Sie den Namen der Domain angegeben haben. Probleme wie diese sind bei Serverfault ohne diese Informationen nur sehr schwer zu beheben.
Andrew B

@ AndrewB Oh, ich weiß.
Gern geschehen

2
@ AndrewBs Antwort macht Sinn und scheint mir richtig zu sein. Bevor ich es jedoch las, bemerkte ich, dass Ihre fehlgeschlagene Abfrage einen IPV6-Nameserver verwendete, während die erfolgreichen IPV4 verwendeten. Oft (in diesem Fall nicht) deutet dies auf eine schlechte IPV6-Konfiguration hin, und es kann hilfreich sein, explizit numerische IPV [4/6] -Adressen der Nameserver anstelle von Aliasen zu verwenden.
Guntram Blohm unterstützt Monica am

@Guntram Solange wir bedenken, dass wir eine Antwort vom Nameserver erhalten haben, haben wir zumindest eine Verbindung zum DNS-Server. Ich möchte nur sicherstellen, dass die Leute nicht mit dem falschen Eindruck davon abkommen. SERVFAILMöglicherweise weist dies auf ein vorgelagertes Problem hin, zeigt aber dennoch ein Antwortpaket an.
Andrew B

@GuntramBlohm Du bist auf etwas. strugee.nethat fünf NS-Datensätze, aber keine AAAALeimdatensätze nur ALeimdatensätze. Schlimmer ist, dass diese fünf ALeimaufzeichnungen nur auf zwei verschiedene IP-Adressen verweisen. Das scheint ein ziemlich spröder Aufbau zu sein. Auch wenn es nicht die eigentliche Ursache für das vorliegende Problem ist, sollten Sie darauf achten.
Kasperd

Antworten:


24

Wie kann ich dieses Problem beheben und den fehlerhaften Nameserver finden?

daxd5 bot einige gute Tipps für den Einstieg, aber die einzig richtige Antwort ist, dass Sie wissen müssen, wie man sich einen rekursiven DNS-Server vorstellt. Da es auf der maßgeblichen Ebene zahlreiche Fehlkonfigurationen gibt, die zu Inkonsistenzen führen können SERVFAIL, benötigen Sie ein professionelles DNS- oder Online-Validierungstool.

Wie auch immer, das Ziel ist es nicht, Ihnen zu helfen, aber ich wollte sicherstellen, dass Sie verstehen, dass es keine schlüssige Antwort auf diese Frage gibt.


In Ihrem speziellen Fall ist mir aufgefallen, dass es sich strugee.netanscheinend um eine mit DNSSEC signierte Zone handelt. Dies geht aus dem Vorhandensein von DSund RRSIGin der Empfehlungskette hervor:

# dig +trace +additional strugee.net
<snip>
strugee.net.            172800  IN      NS      dns2.registrar-servers.com.
strugee.net.            172800  IN      NS      dns1.registrar-servers.com.
strugee.net.            172800  IN      NS      dns3.registrar-servers.com.
strugee.net.            172800  IN      NS      dns4.registrar-servers.com.
strugee.net.            172800  IN      NS      dns5.registrar-servers.com.
strugee.net.            86400   IN      DS      16517 8 1 B08CDBF73B89CCEB2FD3280087D880F062A454C2
strugee.net.            86400   IN      RRSIG   DS 8 2 86400 20160423051619 20160416040619 50762 net. w76PbsjxgmKAIzJmklqKN2rofq1e+TfzorN+LBQVO4+1Qs9Gadu1OrPf XXgt/AmelameSMkEOQTVqzriGSB21azTjY/lLXBa553C7fSgNNaEXVaZ xyQ1W/K5OALXzkDLmjcljyEt4GLfcA+M3VsQyuWI4tJOng184rGuVvJO RuI=
dns2.registrar-servers.com. 172800 IN   A       216.87.152.33
dns1.registrar-servers.com. 172800 IN   A       216.87.155.33
dns3.registrar-servers.com. 172800 IN   A       216.87.155.33
dns4.registrar-servers.com. 172800 IN   A       216.87.152.33
dns5.registrar-servers.com. 172800 IN   A       216.87.155.33
;; Received 435 bytes from 192.41.162.30#53(l.gtld-servers.net) in 30 ms

Bevor wir fortfahren, müssen wir überprüfen, ob die Signatur gültig ist oder nicht. DNSViz ist ein häufig zu diesem Zweck verwendetes Tool und bestätigt, dass es tatsächlich Probleme gibt . Das zornige Rot auf dem Bild deutet darauf hin, dass Sie ein Problem haben, aber anstatt mit der Maus über alles zu fahren, können Sie einfach die Hinweise in der linken Seitenleiste erweitern:

RRSIG strugee.net/A alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/DNSKEY alg 8, id 16517: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/DNSKEY alg 8, id 16517: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/MX alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/NS alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/SOA alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
RRSIG strugee.net/TXT alg 8, id 10636: The Signature Expiration field of the RRSIG RR (2016-04-14 00:00:00+00:00) is 2 days in the past.
net to strugee.net: No valid RRSIGs made by a key corresponding to a DS RR were found covering the DNSKEY RRset, resulting in no secure entry point (SEP) into the zone. (216.87.152.33, 216.87.155.33, UDP_0_EDNS0_32768_4096)

Das Problem ist klar: Die Signatur in Ihrer Zone ist abgelaufen und die Schlüssel müssen aktualisiert werden. Der Grund, warum Sie inkonsistente Ergebnisse sehen, ist, dass nicht auf allen rekursiven Servern die DNSSEC-Validierung aktiviert ist. Diejenigen, die dies bestätigen, löschen Ihre Domain, und diejenigen, bei denen dies nicht der Fall ist, gehen wie gewohnt vor.


Bearbeiten: Es ist bekannt, dass die DNS-Infrastruktur von Comcast die DNSSEC-Validierung implementiert, und als einer ihrer Kunden kann ich bestätigen, dass auch eine SERVFAILangezeigt wird.

$ dig @75.75.75.75 strugee.net | grep status
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2011

Hoppla, ich hatte stugee.netin der Ausgabe dig, was offensichtlich ein Tippfehler ist. Der DNSSEC-Teil dieser Analyse wurde mit dem korrekten Namen durchgeführt.
Andrew B

5

Während Sie tatsächlich feststellen, dass die autorisierenden Nameserver korrekt reagieren, müssen Sie die gesamte Kette der DNS-Auflösung nachverfolgen. Gehen Sie die gesamte DNS-Hierarchie von den Stammservern aus nach oben.

$ dig net NS
;; ANSWER SECTION:
net.            172800  IN  NS  c.gtld-servers.net.
net.            172800  IN  NS  f.gtld-servers.net.
net.            172800  IN  NS  k.gtld-servers.net.
;; snipped extra servers given
$ dig @c.gtld-servers.net strugee.net NS
;; AUTHORITY SECTION:
strugee.net.        172800  IN  NS  dns2.registrar-servers.com.
strugee.net.        172800  IN  NS  dns1.registrar-servers.com.
;; snipped extra servers again

Dies überprüft im Grunde genommen, ob die öffentlichen DNS-Server funktionieren und Sie dasselbe tun, was Ihr DNS-Resolver tun sollte. Sie sollten also auf Ihrem Digital Ocean-Server die gleichen Antworten wie oben erhalten, es sei denn, mit dem DNS-Resolver stimmt etwas nicht:

$ dig net NS
$ dig strugee.net NS
$ dig strugee.net

Wenn die ersten beiden Abfragen fehlschlagen, schlägt der DNS auf der Seite von Digital Ocean fehl. Überprüfen Sie Ihre /etc/resolv.confund versuchen Sie, den sekundären DNS-Server abzufragen. Wenn der sekundäre funktioniert, ändern Sie einfach die Reihenfolge für Resolver und versuchen Sie es erneut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.