不要给域名设置过多的DNS(Nameserver)服务器

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

今天论坛上有童鞋问,他的域名注册商可以允许其设置最多13个DNS(Nameserver)服务器,问是不是全部设置了,域名的DNS就会比较稳定?也就是说NS1挂了还有NS2,NS2挂了还有NS3,依次类推到NS13。恩,这个想法是好的,多个NS进行冗余备份,有效的降解了DNS被屏蔽导致的网站无法访问的风险系数。但是实际可能不如大家想的那么美好,首先RFC已经指出这种做法是不妥的,参考RFC 1537第6条(节选如下):

For each top level domain there should be 2 secondary servers in Europe and 2 in the USA, but there may of course be more on either side. An excessive number of nameservers is not a good idea though; a recommended maximum is 7 nameservers.

意思是过多的nameservers是不好的做法,建议最大nameservers数目保持在7。

有些DNS在线健康检查会指出:Too many nameservers cause larger packets, requiring more bandwidth. should aim to reduce this to no more than 5.

说明过多的nameservers会导致大的数据包,并且需要更多的带宽,其建议不超过5。据我了解“Too many nameservers cause larger packets, requiring more bandwidth”主要可能是因为AXFR全局传输的原因。

AXFR request,AXFR请求,是从DNS服务器请求在主DNS服务器上更新信息的一类域名系统的请求。我们知道,一个域名的DNS解析系统分为一个主(首)DNS和多个从(辅)DNS,也就是Primary/Master DNS Server和Secondary/Slave DNS Server。也就是说主DNS服务器保存着我们权威解析记录的副本,其余从DNS服务器只是定时从主DNS服务器上抓取记录并且缓存起来,AXFR请求经常导致全区域传输。如果区域文件很大的话,它需要花费很多的时间并消耗可观的带宽。同样的,多个从DNS也会导致消耗更多带宽的问题。

所以给域名设置过多的DNS服务器会导致DNS解析的性能下降,一定程度上影响网站的解析速度,所以我认为建议的做法是NS最少不少于2台服务器,最多不多于6台服务器,当然RFC建议不要多于7台,有些DNS评估网站建议不多于5台,大家自己权衡吧。

以上部分属于个人理解,如有错误,望不吝赐教。

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

  1. 我注册的域名是godaddy上的,用的空间是000webhost,空间要求我用它的ns,我就直接在godaddy的ns上加上了000webhost的,不知道这样行不行? 现在访问是正常的,久了会不会有冲突啊?

    • 理论上这样是不可以的,具体有什么冲突我也没遇到过,虽然看似没有问题,正确的做法是设置一台具有SOA,并允许AXFR的主DNS服务器(Primary Server or Master Server),其余的DNS是定期从主DNS服务器上更新自己数据的辅DNS服务器或者从DNS服务器(Secondary Server or Slave Server),这样我们只需要修改主DNS的解析记录这样其余N台从DNS服务器将自动更新这些记录,这些服务器应该只能拥有一个SOA权威服务器那就是主服务器。另外000webhost只能修改NS,不提供A记录或者CNAME记录解析吧?你Godaddy解析是空记录?你可以到intoDNS检查一下你域名的DNS存在的问题。最好不要混用不具备主从关系的DNS服务器。

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*