Por que o DNS não é resolvido após uma alteração no servidor de nomes, apesar de uma pesquisa DNS recursiva ter êxito?


12

Migrei recentemente um domínio que possuo do Cloudflare para o Netlify DNS, então tive que atualizar meus servidores de nomes. Quando executo uma pesquisa DNS recursiva que ignora o cache DNS, tudo parece estar configurado corretamente:

$ 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

No entanto, uma pesquisa DNS regular falha:

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

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

Suponho que, se o cache estava com falha, o Cloudflare ainda resolveria a pesquisa, o que não acontece. Uma pesquisa em 8.8.8.8 (DNS do Google) também falha:

$ 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 os registros DNS são armazenados em cache, também tentei liberar o cache DNS do Google para meus registros NS e A. Ainda estou obtendo o mesmo resultado, apesar da mudança ter acontecido há mais de 10 horas.

Minha configuração está incorreta? Como garantir que meu DNS possa resolver corretamente novamente?


1
Em casos como este, uma ferramenta como dnsviz.netdeve mostrar facilmente que há um problema de DNSSEC. De fato, você pode ver claramente o problema aqui: dnsviz.net/d/howtogit.net/W6d5WA/dnssec que você pode comparar com o atual: dnsviz.net/d/howtogit.net/W6kJlg/dnssec
Patrick Mevzek

Sim, eu descobri. Por fim, decidi migrar de volta para o Cloudflare porque o Netlify DNS não suporta DNSSEC. Mas é bom saber!
Pieter

DNSSEC é difícil, de fato. Um compromisso entre os recursos que ele fornece e as etapas necessárias para obtê-lo. Em casos relacionados, uma dica de solução de problemas: se um digfalhar com o SERVFAIL, mas se você refazer exatamente a mesma adição +cde não falhar mais, provavelmente significa que o problema está relacionado ao DNSSEC. +cddesativar as verificações DNSSEC, daí a possível diferença. Mas SERVFAIL pode acontecer por uma série de problemas, não existem (por agora) códigos de erro estendidos no DNS ...
Patrick Mevzek

Respostas:


24

Parece que a howtogit.netzona costumava ser assinada e que, após a troca de servidores de nome, ela não é mais assinada.

No entanto, você deixou o DSregistro antigo no local, indicando que a zona deve ser assinada com alguma chave específica.

Remova o DSregistro ou assine a zona novamente e atualize o DSregistro conforme necessário (o DSregistro é gerenciado pelo seu registrador).

Se você olhar para o final da dig +tracesaída relevante , é realmente claro que esse deve ser o caso ( DScomo parte da referência, mas não DNSKEYno fim autoritativo, ou apenas não há assinaturas se você consultar algum outro 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
Você está no local ... parece que esqueci de desativar o DNSSEC antes de migrar. Eu removi o registro DS com meu registrador e 8.8.8.8 começou a resolver o domínio corretamente imediatamente.
Pieter

5
@ Pieter Não há problema. Obrigado por não ofuscar os detalhes, o que de outra forma tende a dificultar desnecessariamente esses tipos de perguntas.
Håkan Lindqvist 23/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.