多少個網域伺服器 (ns) 算太多?

多少個網域伺服器 (ns) 算太多?

自從GoDaddy 的 DNS 中斷我絕對不信任名稱伺服器。

我剛剛創建了一個域名,下一步是設定名稱伺服器。我正在考慮使用 Route 53、CloudFlare DNS 和其他提供者。這意味著我最終可能會擁有大約 13 個名稱伺服器附加到我的網域。

我應該限制這個金額嗎?主要問題是每次有人查找我的網域時都會增加一點延遲。尋找是否下載 13 個名稱伺服器的清單?

答案1

存在「網域伺服器太多」之類的問題,但並不是出於您所關心的原因。其他人已經討論了延遲問題的無關緊要,我不會打敗那匹馬。

增加太多網域伺服器的真正問題是權限膨脹。如果可能的話,對 SOA 記錄請求的回應不應超過 512 字節,包括權限部分和附加部分。在大多數情況下,TCP 和 EDNS 可用於克服 512 位元組障礙,但當權限+附加資訊無法容納在標準 512 位元組回應中時,某些名稱伺服器軟體仍然表現不佳。 (主要與區域傳輸或 DNS 轉發器有關)

考慮到上述情況,關於多少個 DNS 伺服器是否過多的答案仍然歸結為「這取決於」。您應該規劃支援 IPv6 的 DNS 伺服器,這樣會增加開銷。 (A+AAAA 記錄)

作為參考,以下是雅虎此時的 SOA 回覆:

$ dig @ns1.yahoo.com +norecurse yahoo.com soa

; <<>> DiG 9.9.5-9+deb8u2-Debian <<>> @ns1.yahoo.com +norecurse yahoo.com soa
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53960
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 11

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1272
;; QUESTION SECTION:
;yahoo.com.                     IN      SOA

;; ANSWER SECTION:
yahoo.com.              1800    IN      SOA     ns1.yahoo.com. hostmaster.yahoo-inc.com. 2015100224 3600 300 1814400 600

;; AUTHORITY SECTION:
yahoo.com.              172800  IN      NS      ns2.yahoo.com.
yahoo.com.              172800  IN      NS      ns3.yahoo.com.
yahoo.com.              172800  IN      NS      ns6.yahoo.com.
yahoo.com.              172800  IN      NS      ns1.yahoo.com.
yahoo.com.              172800  IN      NS      ns4.yahoo.com.
yahoo.com.              172800  IN      NS      ns5.yahoo.com.

;; ADDITIONAL SECTION:
ns1.yahoo.com.          1209600 IN      A       68.180.131.16
ns1.yahoo.com.          86400   IN      AAAA    2001:4998:130::1001
ns2.yahoo.com.          1209600 IN      A       68.142.255.16
ns2.yahoo.com.          86400   IN      AAAA    2001:4998:140::1002
ns3.yahoo.com.          1209600 IN      A       203.84.221.53
ns3.yahoo.com.          86400   IN      AAAA    2406:8600:b8:fe03::1003
ns4.yahoo.com.          1209600 IN      A       98.138.11.157
ns5.yahoo.com.          1209600 IN      A       119.160.247.124
ns6.yahoo.com.          172800  IN      A       121.101.144.139
ns6.yahoo.com.          1800    IN      AAAA    2406:2000:108:4::1006

;; Query time: 27 msec
;; SERVER: 68.180.131.16#53(68.180.131.16)
;; WHEN: Fri Oct 02 19:03:45 EDT 2015
;; MSG SIZE  rcvd: 411

正如您在上面看到的,六個 NS 記錄及其對應的 A 和 AAAA 位址已經達到 411 位元組。如果我向基本域添加多達六個字元 (6 * 19 = 144, 411 + 144 = 555),僅強制記錄就已經違反了 512,沒關係,這通常會添加到右側的可選膨脹SOA 記錄。

大多數公司使用的 NS 記錄不超過 4 筆。六可能太多了。只要您遵循以下規定,就沒有太多充分的理由擴展至此數字通常的指導方針,或使用備受尊敬的 DNS 提供者。

答案2

讓我們說清楚。自從低成本低端供應商停電以來,無論您不信任任何經過驗證的技術,都可以。為什麼?你以為每個人都像 GoDaddy 一樣無能嗎?多年來從未遇到過 DNS 問題。

我正在考慮使用 Route 53、CloudFlare DNS 和其他提供者。這意味著我最終可能會擁有大約 13 個名稱伺服器附加到我的網域。

不。您所看到的一台伺服器可以是使用相同 IP 位址的叢集。您只有最少的金額。

說實話,你完全高估了這個問題。如果您使用 CloudFlare,那麼這已經足夠好了 - 特別是如果您的內容位於 CloudFlare 後面。

主要問題是每次有人查找我的網域時都會增加一點延遲。

哪一種情況發生的頻率到底有多高?請記住 - DNS 答案會被緩存,可能在多個層級上。也就是說,我敢打賭大多數最終用戶都會使用其提供者的 DNS。在獲取主機名稱並使用它進行操作所需的整個大量工作中,您真的過度考慮了 1 毫秒(最大值)的估計。

過度工程表現出一種偏執,主要是建立在不了解技術和專業提供者的基礎上。擺脫它。

我個人使用 CloudFlare 處理所有事情,我很高興僅將它們用於我的 DNS。

答案3

RFC2182 第 5 節建議至少 3 個名稱伺服器,最好不要超過 7 個。

相關內容