DNS 문제, 사이트가 오프라인입니다. nslookup이 주기적으로 실패하고 발굴/호스트가 지속적으로 작동합니다.

DNS 문제, 사이트가 오프라인입니다. nslookup이 주기적으로 실패하고 발굴/호스트가 지속적으로 작동합니다.

내 사이트는 하루 종일 간헐적으로 다운되었으며 그 이유를 디버깅하려고 노력 중입니다. 내 ISP에서 Google로 DNS 서버를 변경하면 8.8.8.8내 개인 브라우저에서 문제가 해결되었으므로 DNS 문제인 것 같습니다 . 하지만 이제 그것도 실패하고 있어요! DownForEveryoneOrJustMe는 작동 중이라고 말하지만 사용자로부터 작동하지 않는다는 불만이 접수되고 있습니다.

nslookup간헐적입니다:

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

하루 종일 때로는 결과가 반환되었지만 지금은 그렇지 않습니다. 내 GoDaddy DNS 네임서버 중 하나(권한이 있다고 생각합니까? 에서 가져옴 whois) 중 하나를 사용해 시도하면 다음과 같은 결과를 얻습니다.

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.

다른 하나는 좀 더 불안정합니다.

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.

그러나 반복적인 시도에도 불구하고 dig항상 다음과 같은 정보가 반환됩니다.

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

host마찬가지로 일관되게 작동합니다.

몇 가지 질문:

  • dig과 가 host일관되게 작동하지만 그렇지 않은 이유는 무엇입니까 nslookup?
  • 권한 있는 네임서버를 어떻게 결정합니까? 거기서 일 해요 whois?

8.8.8.8내 작업 이론은 GoDaddy 네임 서버가 불안정하여 Google이 요청 하고 응답이 없을 때 www.coachup.com한동안 부정적으로 캐시했다는 것입니다. 그럴듯해 보이죠? 그러나 그것은 or nslookup가 아닌 와 함께만 불안정합니다 .dighost

또한,헤로쿠 상태어제 "DNS 유지 관리"를 하고 있었음을 알 수 있습니다. 그게 어떻게든 원인이 될 수 있나요? 지금은 녹색이라고 하네요.

답변1

*Dig와 Host는 일관되게 작동하지만 nslookup은 작동하지 않는 이유는 무엇입니까?

dig를 실행할 때 'ANY' 옵션을 사용했기 때문에 이는 'A' 레코드뿐만 아니라 CNAME과 같은 다른 레코드도 찾고 있다는 의미입니다. nslookup이 'A' 레코드를 찾는 동안. 흥미로운 점은 내가 'dig @8.8.8.8 www.coachup.com'을 검색했을 때 답변을 얻지 못했지만 'dig @8.8.8.8 www.coachup.com cname'을 검색했을 때 응답을 받았다는 것입니다.

*권한 있는 네임서버를 어떻게 결정합니까? 거기 누가 일해요?

whois는 주로 관리 데이터베이스이므로 실제 이름 서버를 확인하려면 'dig +trace www.coachup.com'을 사용하세요.

[root@kauai ~]# 발굴 +추적 www.coachup.com

; > DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 > +trace www.coachup.com
;; 전역 옵션: +cmd
. NS G.ROOT-SERVERS.NET의 3600000.
. NS K.ROOT-SERVERS.NET의 3600000.
. NS D.ROOT-SERVERS.NET의 3600000.
. NS J.ROOT-SERVERS.NET의 3600000.
. NS M.ROOT-SERVERS.NET의 3600000.
. NS C.ROOT-SERVERS.NET의 3600000.
. NS I.ROOT-SERVERS.NET의 3600000.
. NS H.ROOT-SERVERS.NET의 3600000.
. NS F.ROOT-SERVERS.NET의 3600000.
. NS A.ROOT-SERVERS.NET의 3600000.
. NS B.ROOT-SERVERS.NET의 3600000.
. NS E.ROOT-SERVERS.NET의 3600000.
. NS L.ROOT-SERVERS.NET의 3600000.
;; 18ms 안에 192.168.10.109#53(192.168.10.109)에서 512바이트를 받았습니다.

com.com. 172800 IN NS j.gtld-servers.net.
com.com. 172800 IN NS h.gtld-servers.net.
com.com. 172800 IN NS f.gtld-servers.net.
com.com. 172800 IN NS d.gtld-servers.net.
com.com. 172800 IN NS a.gtld-servers.net.
com.com. 172800 IN NS l.gtld-servers.net.
com.com. 172800 IN NS k.gtld-servers.net.
com.com. 172800 IN NS g.gtld-servers.net.
com.com. 172800 IN NS b.gtld-servers.net.
com.com. 172800 IN NS m.gtld-servers.net.
com.com. 172800 IN NS c.gtld-servers.net.
com.com. 172800 IN NS i.gtld-servers.net.
com.com. 172800 IN NS e.gtld-servers.net.
;; 133ms 안에 192.33.4.12#53(192.33.4.12)에서 505바이트를 받았습니다.

Coachup.com. 172800 IN NS ns35.domaincontrol.com.
Coachup.com. 172800 IN NS ns36.domaincontrol.com.
;; 138ms 안에 192.54.112.30#53(192.54.112.30)에서 117바이트를 받았습니다.

www.coachup.com. 3600 IN CNAME chiba-9316.herokussl.com.
;; 33ms 안에 208.109.255.18#53(208.109.255.18)에서 68바이트를 받았습니다.

귀하의 신뢰할 수 있는 이름 서버는 다음 섹션에 있습니다.

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

*문제가 Heroku에 있었던 것으로 의심되며 Google 및 기타 일부 DNS 서버는 존재하지 않는 레코드 응답을 캐시한 후 네거티브 캐시에서 응답하기 시작했습니다. 네거티브 캐시가 만료되면 작동합니다. 내 추측은 여전히 ​​추측입니다. 귀하의 신뢰할 수 있는 이름 서버가 cname 응답을 제공했지만 Google DNS 서버는 Herok에 문제가 있다고 가정하여 'chiba-9316.herokussl.com.'에 대한 해결을 완료할 수 없었습니다.

이를 테스트하기 위해 여러 공개 DNS 서버에서 발굴 작업을 실행했습니다. 사이트에서 가져온 것입니다. "http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm". 모두 CNAME에 응답했지만 Google을 포함한 일부는 'A' 레코드 쿼리에 응답하지 않았습니다.

'A' 레코드를 요청합니다. 참고: Google DNS는 '8.8.8.8'입니다.

[daniel@kauai ~] $(awk '{print $2}' /tmp/dnsservers )의 DNS에 대한 $; echo ==$dns===; @$dns www.coachup.com을 알아보세요. +짧게;완료
==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===

CNAME 쿼리 요청 -

[daniel@kauai ~] $(awk '{print $2}' /tmp/dnsservers )의 DNS에 대한 $; echo ==$dns===; @$dns www.coachup.com을 알아보세요. +짧은 cname ;완료
==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.

관련 정보