Назад | Перейти на главную страницу

Проблемы с DNS, сайт не в сети. nslookup периодически дает сбой, копать / хост стабильно работают

Мой сайт периодически не работал большую часть дня, и я схожу с ума, пытаясь выяснить, почему. Кажется, это проблема с DNS, так как мои DNS-серверы были изменены с моего интернет-провайдера на Google. 8.8.8.8 исправил это для моего личного браузера. Но теперь это тоже не удается! 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

В течение дня иногда это давало результат, но не сейчас. Когда я пробую использовать его с одним из моих DNS-серверов GoDaddy (которые, как мне кажется, являются авторитетными? Я получил их от 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 аналогично работает стабильно.

Некоторые вопросы:

Моя рабочая теория заключается в том, что сервер имен GoDaddy был ненадежным, и в какой-то момент, когда Google 8.8.8.8 попросил о www.coachup.com и получил отсутствие ответа, он кешировал это некоторое время отрицательно. Это кажется правдоподобным? Но тогда это только ненадежно с nslookup а не с dig или host.

Также, Статус Heroku показывает, что вчера они выполняли «обслуживание DNS». Может ли это как-то быть причиной? Он говорит, что теперь зеленый.

* Почему dig и host работают согласованно, а nslookup - нет?

Поскольку, когда вы запускали dig, вы использовали опцию «ANY», это означает, что вы искали не только запись «A», но и другие записи, такие как CNAME. Пока nslookup искал запись «А». Что интересно, когда я сделал «dig @ 8.8.8.8 www.coachup.com», я не получил ответа, но когда я сделал «dig @ 8.8.8.8 www.coachup.com cname», я получил ответ.

* Как определить мои авторитетные серверы имен. Whois там работает?

whois - это в основном административная база данных, для определения ваших фактических серверов имен используйте команду «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
;; global options: +cmd
.                       3600000 IN      NS      G.ROOT-SERVERS.NET.
.                       3600000 IN      NS      K.ROOT-SERVERS.NET.
.                       3600000 IN      NS      D.ROOT-SERVERS.NET.
.                       3600000 IN      NS      J.ROOT-SERVERS.NET.
.                       3600000 IN      NS      M.ROOT-SERVERS.NET.
.                       3600000 IN      NS      C.ROOT-SERVERS.NET.
.                       3600000 IN      NS      I.ROOT-SERVERS.NET.
.                       3600000 IN      NS      H.ROOT-SERVERS.NET.
.                       3600000 IN      NS      F.ROOT-SERVERS.NET.
.                       3600000 IN      NS      A.ROOT-SERVERS.NET.
.                       3600000 IN      NS      B.ROOT-SERVERS.NET.
.                       3600000 IN      NS      E.ROOT-SERVERS.NET.
.                       3600000 IN      NS      L.ROOT-SERVERS.NET.
;; Received 512 bytes from 192.168.10.109#53(192.168.10.109) in 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.
;; Received 505 bytes from 192.33.4.12#53(192.33.4.12) in 133 ms

coachup.com.            172800  IN      NS      ns35.domaincontrol.com.
coachup.com.            172800  IN      NS      ns36.domaincontrol.com.
;; Received 117 bytes from 192.54.112.30#53(192.54.112.30) in 138 ms

www.coachup.com.        3600    IN      CNAME   chiba-9316.herokussl.com.
;; Received 68 bytes from 208.109.255.18#53(208.109.255.18) in 33 ms

Ваши официальные серверы имен находятся в разделе -

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

* Я подозреваю, что проблема была в Heroku, а Google и другие DNS-серверы кэшировали ответ о несуществующей записи, и после этого они начали отвечать из отрицательного кеша. Он должен работать после истечения срока действия отрицательного кеша. Я предполагаю, все еще предположение, ваш авторитетный сервер имен предоставил ответ cname, но DNS-серверы Google не смогли завершить разрешение для 'chiba-9316.herokussl.com.', Предполагая, что у Herok была проблема.

Чтобы проверить это, я проверил несколько общедоступных DNS-серверов, которые я получил с сайта "http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm". Все ответили на CNAME, но некоторые, включая Google, не ответили на запрос записи" A "-

Запрос на запись «А». Примечание. Google dns - это 8.8.8.8.


[daniel@kauai ~]$ for dns in $(awk '{print $2}' /tmp/dnsservers ); do echo ==$dns===; dig @$dns www.coachup.com. +short ;done
==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 ~]$ for dns in $(awk '{print $2}' /tmp/dnsservers ); do echo ==$dns===; dig @$dns www.coachup.com. +short cname ;done
==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.