¿Por qué el DNS no se resuelve después de un cambio de servidor de nombres, a pesar de que una búsqueda de DNS recursiva es exitosa?

12

Recientemente migré un dominio que tengo de Cloudflare a Netlify DNS, por lo que tuve que actualizar mis servidores de nombres. Cuando ejecuto una búsqueda DNS recursiva que omite el caché DNS, todo parece estar configurado correctamente:

$ 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

Sin embargo, una búsqueda de DNS normal falla:

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

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

Supongo que si el almacenamiento en caché tuvo la culpa, Cloudflare aún resolvería la búsqueda, lo que no ocurre. Una búsqueda en 8.8.8.8 (DNS de Google) también falla:

$ 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

Como los registros DNS se almacenan en caché, también intenté vaciar el caché DNS de Google para mis registros NS y A. Todavía obtengo el mismo resultado, a pesar del cambio que ocurrió hace más de 10 horas.

¿Mi configuración es incorrecta? ¿Cómo me aseguro de que mi DNS pueda resolverse correctamente nuevamente?

Pieter
fuente
1
En casos como este, una herramienta como dnsviz.netdebería mostrarle fácilmente que hay un problema de DNSSEC. De hecho, puede ver claramente el problema aquí: dnsviz.net/d/howtogit.net/W6d5WA/dnssec que puede comparar con el actual: dnsviz.net/d/howtogit.net/W6kJlg/dnssec
Patrick Mevzek
Sí, lo descubrí. Finalmente, decidí migrar de nuevo a Cloudflare porque Netlify DNS no es compatible con DNSSEC. ¡Pero es bueno saberlo!
Pieter
DNSSEC es difícil, de hecho. Un compromiso entre las características que proporciona y los pasos necesarios para tenerlo. En casos relacionados, un consejo de solución de problemas: si digfalla con SERVFAIL pero si rehace exactamente el mismo que agrega +cdy ya no falla, entonces probablemente significa que el problema está relacionado con DNSSEC. +cddeshabilitar las comprobaciones DNSSEC, de ahí la posible diferencia. Pero SERVFAIL puede suceder por muchos problemas, no hay (por ahora) códigos de error extendidos en el DNS ...
Patrick Mevzek

Respuestas:

24

Parece que la howtogit.netzona solía firmar, y que después de cambiar los servidores de nombres ya no está firmado.

Sin embargo, ha dejado el DSregistro anterior en su lugar, lo que indica que la zona debe estar firmada con alguna clave específica.

Elimine el DSregistro o vuelva a firmar la zona y actualice el DSregistro según sea necesario (el DSregistro se administra a través de su registrador).

Si observa el final de la dig +tracesalida relevante , en realidad está bastante claro que este debe ser el caso ( DScomo parte de la referencia pero no DNSKEYen el extremo autorizado, o simplemente no hay firmas si consulta algún otro 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

$
Håkan Lindqvist
fuente
1
Estás en lo cierto ... parece que olvidé deshabilitar DNSSEC antes de migrar. Eliminé el registro DS con mi registrador y 8.8.8.8 comenzó a resolver el dominio correctamente de inmediato.
Pieter
55
@Pieter No hay problema. Gracias por no ofuscar los detalles, que de otro modo tienden a hacer que este tipo de preguntas sean innecesariamente difíciles de responder.
Håkan Lindqvist el