Come posso risolvere i problemi DNS da qualche parte nel mezzo della ricorsione?


13

Ho un problema davvero strano con il mio DNS. Il mio nome di dominio ( strugee.net) è irrisolvibile da alcune reti e risolvibile da altre.

Ad esempio, sulla mia rete domestica (stessa rete su cui è attivo il server):

% 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

Tuttavia, se accedo a un server che ho su Digital Ocean, il dominio non riesce a risolvere:

% 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

Ma , andare direttamente ai server dei nomi autorevoli funziona bene:

% 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

È abbastanza chiaro che c'è un problema con qualche grande rete da qualche parte che non riesce a risolvere il mio dominio, ma non riesco a capire dove. Ho sfogliato la digpagina man per le opzioni che potrebbero aiutare, ma non ho trovato nulla di particolarmente utile.

Sono su Namecheap sia come registrar di domini sia come hosting DNS. Ho l'opzione DNSSEC attivata. Non ho apportato alcuna modifica alle mie impostazioni DNS di recente.

Come posso eseguire il debug di questo problema e trovare il nameserver offensivo?


7
Grazie per aver fornito il nome del dominio. Problemi come questo sono estremamente difficili da risolvere da noi su Serverfault senza tali informazioni.
Andrew B,

@AndrewB oh, lo so.
Prego

2
@ La risposta di AndrewB ha senso e mi sembra corretta. Prima di leggerlo, però, ho notato che la tua query non riuscita utilizzava un nameserver IPV6, mentre quelli di successo utilizzavano IPV4. Spesso (ovvio non in questo caso) questo suggerisce una cattiva configurazione IPV6 e può essere utile usare esplicitamente gli indirizzi IPV [4/6] numerici dei nameserver invece degli alias.
Guntram Blohm sostiene Monica il

@Guntram Finché teniamo a mente che abbiamo ricevuto una risposta dal nameserver, il che significa che abbiamo almeno la connettività al server DNS. Voglio solo assicurarmi che le persone non si allontanino da quello con l'impressione sbagliata ... SERVFAILpuò indicare un problema a monte, ma indica comunque un pacchetto di risposta.
Andrew B,

@GuntramBlohm Sei su qualcosa. strugee.netha cinque record NS, ma nessun AAAArecord di Acolla solo record di colla. Quel che è peggio è che quei cinque Arecord di colla indicano solo due diversi indirizzi IP. Sembra una configurazione piuttosto fragile. Anche se non è la causa principale del problema, è qualcosa a cui prestare attenzione.
Kasperd,

Risposte:


24

Come posso eseguire il debug di questo problema e trovare il nameserver offensivo?

daxd5 ha offerto alcuni buoni consigli di partenza, ma l'unica vera risposta qui è che devi sapere come pensare come un server DNS ricorsivo. Poiché vi sono numerose configurazioni errate a livello autorevole che possono risultare incoerenti SERVFAIL, è necessario un professionista DNS o strumenti di convalida online.

In ogni caso, l'obiettivo non è quello di aiutarti ad aiutarti, ma volevo assicurarmi che tu capissi che non esiste una risposta definitiva a questa domanda.


Nel tuo caso particolare, ho notato che strugee.netsembra essere una zona firmata con DNSSEC. Ciò è evidente dalla presenza dei record DSe RRSIGnella catena di riferimento:

# 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

Prima di proseguire, dobbiamo verificare se la firma è valida o meno. DNSViz è uno strumento frequentemente utilizzato per questo scopo e conferma che ci sono davvero problemi . Il rosso arrabbiato nella foto suggerisce che hai un problema, ma piuttosto che passare il mouse su tutto ciò che possiamo semplicemente espandere gli avvisi sulla barra laterale di sinistra:

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)

Il problema è chiaro: la firma sulla tua zona è scaduta e le chiavi devono essere aggiornate. Il motivo per cui vengono visualizzati risultati incoerenti è perché non tutti i server ricorsivi hanno la convalida DNSSEC abilitata. Quelli che convalidano stanno abbandonando il tuo dominio e per quelli che non lo fanno sono affari come al solito.


Modifica: l'infrastruttura DNS di Comcast è nota per implementare la convalida DNSSEC e come uno dei suoi clienti posso confermare che sto vedendo anche un SERVFAIL.

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

Spiacenti, ho avuto stugee.netl'output di scavo, che è ovviamente un errore di battitura. La parte DNSSEC di questa analisi è stata eseguita in base al nome corretto.
Andrew B,

5

Mentre stai effettivamente vedendo che i server dei nomi autorevoli rispondono correttamente, devi seguire l'intera catena di risoluzione DNS. Cioè, percorri l'intera gerarchia DNS dai server root in alto.

$ 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

Questo in sostanza controlla che i server DNS pubblici funzionino e tu stia facendo la stessa cosa che dovrebbe fare il tuo risolutore DNS. Quindi dovresti ottenere le stesse risposte di cui sopra nel tuo server Digital Ocean a meno che qualcosa non vada nel loro risolutore DNS:

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

Se le prime due query falliscono, è il DNS sul lato Digital Ocean che fallisce. Controlla il tuo /etc/resolv.confe prova a interrogare il server DNS secondario. Se quello secondario funziona, cambia l'ordine dei resolver e riprova.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.