不要给域名设置过多的DNS(Nameserver)服务器
提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!
今天论坛上有童鞋问,他的域名注册商可以允许其设置最多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台,大家自己权衡吧。
以上部分属于个人理解,如有错误,望不吝赐教。
我注册的域名是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服务器。