Problemas de DNS, site offline. nslookup falha periodicamente, dig/host funciona consistentemente

Problemas de DNS, site offline. nslookup falha periodicamente, dig/host funciona consistentemente

Meu site ficou fora do ar intermitentemente durante a maior parte do dia e estou enlouquecendo tentando depurar o porquê. Parece ser um problema de DNS, já que a mudança dos meus servidores DNS do meu ISP para o do Google corrigiu 8.8.8.8o problema no meu navegador pessoal. Mas agora isso também está falhando! DownForEveryoneOrJustMe diz que está ativo, embora eu esteja recebendo algumas reclamações de usuários de que não.

nslookupé intermitente:

16:04: ~/d/coachup (master) > nslookup www.coachup.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
*** Can't find www.coachup.com: No answer

Ao longo do dia, às vezes isso deu resultado, mas não é agora. Quando tento fazer isso com um dos meus servidores de nomes DNS GoDaddy (que considero oficiais? Eu os obtive whois), recebo:

16:06: ~/d/coachup (master) > nslookup www.coachup.com NS36.DOMAINCONTROL.COM
Server:         NS36.DOMAINCONTROL.COM
Address:        208.109.255.18#53

www.coachup.com canonical name = chiba-9316.herokussl.com.

O outro é mais esquisito:

16:07: ~/d/coachup (master) > nslookup www.coachup.com NS35.DOMAINCONTROL.COM
Server:         NS35.DOMAINCONTROL.COM
Address:        216.69.185.18#53

*** Can't find www.coachup.com: No answer

16:08: ~/d/coachup (master) > nslookup www.coachup.com NS35.DOMAINCONTROL.COM
Server:         NS35.DOMAINCONTROL.COM
Address:        216.69.185.18#53

www.coachup.com canonical name = chiba-9316.herokussl.com.

Porém, mesmo com repetidas tentativas, digsempre volta com informações:

16:08: ~/d/coachup (master) > dig @8.8.8.8 www.coachup.com ANY

; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 www.coachup.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49917
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.coachup.com.               IN      ANY

;; ANSWER SECTION:
www.coachup.com.        2815    IN      CNAME   chiba-9316.herokussl.com.

;; Query time: 32 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Dec 18 16:09:25 2013
;; MSG SIZE  rcvd: 68

16:09: ~/d/coachup (master) > dig @NS35.DOMAINCONTROL.COM www.coachup.com ANY

; <<>> DiG 9.8.3-P1 <<>> @NS35.DOMAINCONTROL.COM www.coachup.com ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58865
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.coachup.com.               IN      ANY

;; ANSWER SECTION:
www.coachup.com.        3600    IN      CNAME   chiba-9316.herokussl.com.

;; AUTHORITY SECTION:
coachup.com.            3600    IN      NS      ns36.domaincontrol.com.
coachup.com.            3600    IN      NS      ns35.domaincontrol.com.

;; Query time: 309 msec
;; SERVER: 216.69.185.18#53(216.69.185.18)
;; WHEN: Wed Dec 18 16:09:39 2013
;; MSG SIZE  rcvd: 120

hostda mesma forma funciona de forma consistente.

Algumas perguntas:

  • Por que funciona dige hostfunciona de forma consistente, mas não nslookup?
  • Como determino meus servidores de nomes autorizados. Funciona whoislá?

Minha teoria de trabalho é que o servidor de nomes GoDaddy tem sido instável e, a certa altura, quando o Google 8.8.8.8solicitou www.coachup.come não obteve resposta, ele armazenou isso em cache negativamente por um tempo. Isso parece plausível? Mas então é apenas esquisito com nslookupe não com digou host.

Também,Status de Herokumostra que eles estavam fazendo "manutenção de DNS" ontem. Isso poderia causar isso de alguma forma? Diz que agora está verde.

Responder1

*Por que o dig e o host funcionam de forma consistente, mas o nslookup não?

Porque quando você executou o dig você usou a opção 'ANY', isso significa que você não estava procurando apenas um registro 'A', mas também outros registros como CNAME. Enquanto o nslookup procurava um registro 'A'. O que é interessante é que quando fiz 'dig @8.8.8.8 www.coachup.com' não obtive resposta, mas quando fiz 'dig @8.8.8.8 www.coachup.com cname' recebi uma resposta.

*Como determino meus servidores de nomes oficiais. Whois trabalha lá?

whois é principalmente um banco de dados administrativo, para determinar seus servidores de nomes reais, use 'dig +trace www.coachup.com' -

[root@kauai ~]# dig +trace www.coachup.com

; > DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 > +trace www.coachup.com
;; opções globais: +cmd
. 3600000 EM NS G.ROOT-SERVERS.NET.
. 3600000 EM NS K.ROOT-SERVERS.NET.
. 3600000 EM NS D.ROOT-SERVERS.NET.
. 3600000 EM NS J.ROOT-SERVERS.NET.
. 3600000 EM NS M.ROOT-SERVERS.NET.
. 3600000 EM NS C.ROOT-SERVERS.NET.
. 3600000 EM NS I.ROOT-SERVERS.NET.
. 3600000 EM NS H.ROOT-SERVERS.NET.
. 3600000 EM NS F.ROOT-SERVERS.NET.
. 3600000 EM NS A.ROOT-SERVERS.NET.
. 3600000 EM NS B.ROOT-SERVERS.NET.
. 3600000 EM NS E.ROOT-SERVERS.NET.
. 3600000 EM NS L.ROOT-SERVERS.NET.
;; Recebeu 512 bytes de 192.168.10.109#53(192.168.10.109) em 18 ms

com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
;; Recebeu 505 bytes de 192.33.4.12#53(192.33.4.12) em 133 ms

coachup. com. 172800 IN NS ns35.domaincontrol.com.
coachup. com. 172800 IN NS ns36.domaincontrol.com.
;; Recebeu 117 bytes de 192.54.112.30#53(192.54.112.30) em 138 ms

www.coachup.com. 3600 IN CNAME chiba-9316.herokussl.com.
;; Recebeu 68 bytes de 208.109.255.18#53(208.109.255.18) em 33 ms

Seus servidores de nomes autorizados estão na seção -

coachup. com. 172800 IN NS ns35.domaincontrol.com.
coachup. com. 172800 IN NS ns36.domaincontrol.com.

*Eu suspeitaria que o problema fosse com o Heroku, e o Google e outros servidores DNS armazenaram em cache a resposta do registro inexistente e, depois disso, começaram a responder com cache negativo. Deve funcionar quando o cache negativo expirar. Meu palpite é que seu servidor de nomes oficial forneceu a resposta cname, mas os servidores DNS do Google não conseguiram concluir a resolução para 'chiba-9316.herokussl.com.', presumindo que Herok teve um problema.

Para testar isso, executei uma pesquisa em vários servidores DNS públicos - que obtive no site "http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm". Todos responderam ao CNAME, mas alguns, incluindo o Google, não responderam a uma consulta de registro 'A' -

Solicitação de registro 'A'. Nota: o DNS do Google é '8.8.8.8'

[daniel@kauai ~]$ para DNS em $(awk '{print $2}' /tmp/dnsservers ); faça echo ==$dns===; cavar @$dns www.coachup.com. +curto ;concluído
==209.244.0.3===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
50.16.224.113
23.23.124.44
23.23.101.90
==8.8.8.8===
==8.26.56.26===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.124.44
23.23.101.90
50.16.224.113
==208.67.222.222===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
50.16.224.113
23.23.101.90
23.23.124.44
==156.154.70.1===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.124.44
23.23.101.90
50.16.224.113
==198.153.192.40===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.101.90
50.16.224.113
23.23.124.44
==81.218.119.11===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.124.44
23.23.101.90
50.16.224.113
==195.46.39.39===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
50.16.224.113
23.23.101.90
23.23.124.44
==23.90.4.6===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.101.90
23.23.124.44
50.16.224.113
==216.146.35.35===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
50.16.224.113
23.23.101.90
23.23.124.44
==89.233.43.71===
chiba-9316.herokussl.com.
elb002794-1867396571.us-east-1.elb.amazonaws.com.
23.23.101.90
50.16.224.113
23.23.124.44
==74.82.42.42===
==109.69.8.51===

Solicitação de consulta CNAME -

[daniel@kauai ~]$ para DNS em $(awk '{print $2}' /tmp/dnsservers ); faça echo ==$dns===; cavar @$dns www.coachup.com. +cname curto ;concluído
==209.244.0.3===
chiba-9316.herokussl.com.
==8.8.8.8===
chiba-9316.herokussl.com.
==8.26.56.26===
chiba-9316.herokussl.com.
==208.67.222.222===
chiba-9316.herokussl.com.
==156.154.70.1===
chiba-9316.herokussl.com.
==198.153.192.40===
chiba-9316.herokussl.com.
==81.218.119.11===
chiba-9316.herokussl.com.
==195.46.39.39===
chiba-9316.herokussl.com.
==23.90.4.6===
chiba-9316.herokussl.com.
==216.146.35.35===
chiba-9316.herokussl.com.
==89.233.43.71===
chiba-9316.herokussl.com.
==74.82.42.42===
chiba-9316.herokussl.com.
==109.69.8.51===
chiba-9316.herokussl.com.

informação relacionada