Perché il DNS non si risolve dopo la modifica di un nameserver, nonostante una ricerca DNS ricorsiva abbia esito positivo?


12

Di recente ho migrato un dominio che possiedo da Cloudflare a Netlify DNS, quindi ho dovuto aggiornare i miei nameserver. Quando eseguo una ricerca DNS ricorsiva che ignora la cache DNS, tutto sembra essere impostato correttamente:

$ dig howtogit.net +trace
(output truncated)
howtogit.net.       20  IN  A   159.65.199.87
;; Received 57 bytes from 198.51.44.1#53(dns1.p01.nsone.net) in 18 ms

Tuttavia, una normale ricerca DNS non riesce:

$ nslookup howtogit.net                                                                               
Server:     192.168.1.1
Address:    192.168.1.1#53

** server can't find howtogit.net: SERVFAIL

Suppongo che se la memorizzazione nella cache fosse in errore, Cloudflare risolverebbe comunque la ricerca che non lo fa. Anche una ricerca a 8.8.8.8 (DNS di Google) non riesce:

$ dig @8.8.8.8 howtogit.net

; <<>> DiG 9.10.6 <<>> @8.8.8.8 howtogit.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 63809
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

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

;; Query time: 43 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Sep 23 13:05:50 CEST 2018
;; MSG SIZE  rcvd: 41

Poiché i record DNS sono memorizzati nella cache, ho anche provato a svuotare la cache DNS di Google per i miei record NS e A. Sto ancora ottenendo lo stesso risultato, nonostante il cambiamento sia avvenuto più di 10 ore fa.

La mia configurazione non è corretta? Come posso assicurarmi che il mio DNS possa risolversi correttamente?


1
In casi come questo, uno strumento come dnsviz.netdovrebbe mostrarti facilmente che c'è un problema DNSSEC. In effetti puoi vedere chiaramente il problema qui: dnsviz.net/d/howtogit.net/W6d5WA/dnssec che puoi confrontare con quello attualmente funzionante: dnsviz.net/d/howtogit.net/W6kJlg/dnssec
Patrick Mevzek

Sì, l'ho capito. Alla fine ho deciso di tornare a Cloudflare perché Netlify DNS non supporta DNSSEC. Ma buono a sapersi!
Pieter

DNSSEC è difficile, anzi. Un compromesso tra le funzionalità fornite e i passaggi necessari per averlo. In casi correlati, un suggerimento per la risoluzione dei problemi: se si verifica un digerrore con SERVFAIL ma se si esegue nuovamente la stessa aggiunta +cde non si interrompe più, probabilmente significa che il problema è relativo a DNSSEC.+cddisabilitare i controlli DNSSEC, quindi la possibile differenza. Ma SERVFAIL può accadere per molti problemi, non ci sono (per ora) codici di errore estesi nel DNS ...
Patrick Mevzek,

Risposte:


24

Sembrerebbe che la howtogit.netzona utilizzata per firmare e che dopo aver cambiato i server dei nomi non sia più firmata.

Tuttavia, hai lasciato il vecchio DSrecord sul posto, indicando che la zona deve essere firmata con una chiave specifica.

Rimuovere il DSrecord o firmare di nuovo la zona e aggiornare il DSrecord secondo necessità (il DSrecord viene gestito tramite il registrar).

Se guardi la coda dig +tracedell'output pertinente , in realtà è abbastanza chiaro che questo deve essere il caso ( DScome parte del riferimento ma noDNSKEY sull'estremità autorevole o semplicemente nessuna firma se richiedi un altro tipo):

$ dig +trace +all howtogit.net DNSKEY

...

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63298
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;howtogit.net.                  IN      DNSKEY

;; AUTHORITY SECTION:
howtogit.net.           172800  IN      NS      dns1.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns2.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns3.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns4.p01.nsone.net.
howtogit.net.           86400   IN      DS      2371 13 2 F7822E035739507BFB9ED504B65FFE7A95698E58C069EF1DE754EED0 55E6799F
howtogit.net.           86400   IN      RRSIG   DS 8 2 86400 20180927051931 20180920040931 7934 net. POLNdGPgCCeF6ClG4ro1mkUI5DpqUuuLLeR4WCly1L5GbOTgPnzg02Nx 2Sse2dYDLJLB1EQYotZkvVm8GNFS5iE8UQlmp4GA3yxTgUeifw5PX6Eh kiJSip37/CyGCTy6OMPoVeMgQjLnrxt1aAOsnO5BszeGY7gD6ee/XHMO zc4=

;; ADDITIONAL SECTION:
dns1.p01.nsone.net.     172800  IN      A       198.51.44.1
dns2.p01.nsone.net.     172800  IN      A       198.51.45.1
dns3.p01.nsone.net.     172800  IN      A       198.51.44.65
dns4.p01.nsone.net.     172800  IN      A       198.51.45.65

;; Query time: 159 msec
;; SERVER: 2001:503:231d::2:30#53(2001:503:231d::2:30)
;; WHEN: Sun Sep 23 11:35:52 UTC 2018
;; MSG SIZE  rcvd: 402

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53062
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;howtogit.net.                  IN      DNSKEY

;; AUTHORITY SECTION:
howtogit.net.           3600    IN      SOA     dns1.p01.nsone.net. hostmaster.nsone.net. 1537613509 43200 7200 1209600 3600

;; Query time: 1 msec
;; SERVER: 198.51.45.65#53(198.51.45.65)
;; WHEN: Sun Sep 23 11:35:52 UTC 2018
;; MSG SIZE  rcvd: 103

$

1
Sei perfetto ... sembra che mi sia dimenticato di disabilitare DNSSEC prima di migrare. Ho rimosso il record DS con il mio registrar e 8.8.8.8 ha iniziato a risolvere il dominio correttamente immediatamente.
Pieter,

5
@Pieter Nessun problema. Grazie per non offuscare i dettagli, che altrimenti tende a rendere inutilmente difficile rispondere a questo tipo di domande.
Håkan Lindqvist,
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.