DNS 問題,站點離線。nslookup 定期失敗,探勘/主機始終如一地工作
我的網站在一天的大部分時間裡都斷斷續續地關閉,我正在瘋狂地嘗試調試原因。這似乎是一個 DNS 問題,因為將我的 DNS 伺服器從我的 ISP 更改為 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
在一天中,有時這會返回一個結果,但不是現在。當我使用我的一個 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
?我的工作理論是 GoDaddy 名稱伺服器一直不穩定,並且在 Google
8.8.8.8
請求www.coachup.com
並得到無響應時,它會將其記憶體了一段時間。這看起來有道理嗎?但是,它只是片狀nslookup
而不是與dig
orhost
。此外,Heroku 狀態顯示他們昨天正在進行“DNS 維護”。這會以某種方式導致這種情況嗎?它說它現在是綠色的。
*為什麼 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 在那里工作嗎?
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 ;; 全域選項:+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。 ;; 在 18 毫秒內從 192.168.10.109#53(192.168.10.109) 接收到 512 個字節 com。172800 在 NS j.gtld-servers.net。 com。172800 在 NS h.gtld-servers.net。 com。172800 IN NS f.gtld-servers.net。 com。172800 在 NS d.gtld-servers.net。 com。172800 IN NS a.gtld-servers.net。 com。172800 IN NS l.gtld-servers.net。 com。172800 在 NS k.gtld-servers.net。 com。172800 在 NS g.gtld-servers.net。 com。172800 在 NS b.gtld-servers.net。 com。172800 IN NS m.gtld-servers.net。 com。172800 在 NS c.gtld-servers.net。 com。172800 在 NS i.gtld-servers.net。 com。172800 在 NS e.gtld-servers.net。 ;; 在 133 毫秒內從 192.33.4.12#53(192.33.4.12) 接收到 505 個字節 教練網站。172800 在 NS ns35.domaincontrol.com 中。 教練網站。172800 在 NS ns36.domaincontrol.com。 ;; 在 138 毫秒內從 192.54.112.30#53(192.54.112.30) 接收到 117 個字節 www.coachup.com。3600 IN CNAME chiba-9316.herokussl.com。 ;; 在 33 毫秒內從 208.109.255.18#53(208.109.255.18) 接收到 68 個字節
您的權威名稱伺服器位於以下部分 -
教練網站。172800 在 NS ns35.domaincontrol.com 中。 教練網站。172800 在 NS ns36.domaincontrol.com。
*我懷疑問題出在 Heroku 上,google 和其他一些 dns 伺服器記憶體了不存在的記錄響應,然後他們開始從負記憶體響應。一旦負記憶體過期,它應該可以工作。我的猜測是,仍然是猜測,您的權威名稱伺服器確實提供了 cname 響應,但假設 Herok 有問題,google dns 伺服器無法完成“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 ~]$ for dns in $(awk '{print $2}' /tmp/dnsservers ); 做迴聲 ==$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 ~]$ for dns in $(awk '{print $2}' /tmp/dnsservers ); 做迴聲 ==$dns===; 探勘@$dns www.coachup.com。+short 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.