提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

今天论坛上有童鞋问,他的域名注册商可以允许其设置最多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台,大家自己权衡吧。

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