多少是太多的名称服务器 (ns)?

iDe*_*247 -5 domain-name-system domain-name nameserver

自从GoDaddy 的 DNS 中断以来,我绝对不信任名称服务器。

我刚刚创建了一个域名,下一步是设置名称服务器。我正在考虑使用 Route 53、CloudFlare DNS 和其他提供商。这意味着我最终可能会在我的域名上附加大约 13 个名称服务器。

我应该限制那个数量吗?主要问题是每次有人查找我的域名时都会增加一点延迟。查找会下载 13 个名称服务器的列表吗?

And*_*w B 9

有“太多的名称服务器”之类的东西,但不是出于您关心的原因。其他人已经涵盖了延迟问题的无关紧要,我不会把那匹马打死。

添加太多名称服务器的真正问题是权限膨胀。如果可能,对 SOA 记录请求的回复不应超过 512 字节,包括权限和附加部分。在大多数情况下,可以使用 TCP 和 EDNS 来克服 512 字节的障碍,但是当权限+附加信息无法容纳在标准的 512 字节响应中时,某些名称服务器软件仍然表现不佳。(主要是关于区域传输或 DNS 转发器)

综上所述,DNS服务器的数量太多的答案仍然归结为“视情况而定”。您应该计划支持 IPv6 的 DNS 服务器,这样会增加开销。(A+AAAA 记录)

作为参考,以下是 Yahoo 的 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
Run Code Online (Sandbox Code Playgroud)

正如您在上面看到的,六个 NS 记录连同它们对应的 A 和 AAAA 地址已经达到 411 字节。如果我要向基本域添加多达 6 个字符(6 * 19 = 144、411 + 144 = 555),那么仅在强制性记录上我就已经违反了 512,没关系可选膨胀,这通常会添加到右侧SOA 记录。

大多数公司使用的 NS 记录不超过四个。六个可能太多了。只要您遵循通常的准则,或者使用备受推崇的 DNS 提供商,就没有太多理由扩展到这个数字。


Tom*_*Tom 7

让我们说清楚。自从一家低成本低端供应商停电以来,您不信任任何经过验证的技术。为什么?你认为每个人都像GoDaddy一样无能吗?多年来从未出现过 DNS 问题。

我正在考虑使用 Route 53、CloudFlare DNS 和其他提供商。这意味着我最终可能会在我的域名上附加大约 13 个名称服务器。

不。您不知道有多少名称服务器。您看到的一台服务器可以是使用相同 IP 地址的集群。您只有最低限度的金额。

说真的,你完全高估了这个问题。如果您使用 CloudFlare,那么这已经足够了 - 特别是如果您的内容位于 CloudFlare 之后。

主要问题是每次有人查找我的域名时都会增加一点延迟。

哪种情况发生的频率是多少?请记住 - DNS 答案被缓存,可能在多个级别上。即我敢打赌大多数最终用户使用他们的提供商的 DNS。在获取主机名然后用它做一些事情所需的大量工作中,您真的过度考虑了 1 毫秒(最大值)的估计。

过度工程表现出一种偏执狂,主要建立在不了解技术和专业供应商的基础上。摆脱那个。

我个人对所有事情都使用 CloudFlare,我很高兴只有它们用于我的 DNS。


Jac*_*ans 7

RFC2182 第 5 节建议至少 3 个名称服务器,最好不超过 7 个。