DNS的问题,通常都是因为管理的时候,没有细心的去设定,而产生的。下面,就来提几个常见的DNS错误。
1。没有增加SOA(startofauthority)RR的serial值
这是最主要的DNS出错的原因。因为,serial值没有增加,secondaryserver就不会在primaryserver的资料改变後随著更心。
包括改变SOA里面其他的值,seconraryserver自己并不会发觉。即使是修改SOARR里面的资料,也都要记得去改SOARR的serial值。改了serial後,secondary到时後查出有增加,就会从primary作一次zonetransfer。
改了SOARR後,最好去测试一下secondaryserver是不是有更新。目前有些工具程式可以帮忙检查。
2。在BIND中的资料,後面,少打了一个点(。)
少打了一个点,看起来差不多。但是却造成了很大的问题。BIND的设定档案一定要小心的设定。
要不然很可能产生以下的效果:
在 。这层: 却是代表: 。
--在 这层,的确发生过这样的事情。
3。忘记设定reverseDNS(或称pointer,PTR)RR
很多系统,在有connection建立时,会花一段不短的时间。去查查client端的DomainName是否能够转成IPAddress。
(例:Telnet)另外一个例子是traceroute。当在traceroute时,所经过的router都会去查reverse,在台湾常常因为没有设,显示时就会delay。就是因为traceroute会去查每个hop的domainname。另外一个例子就是当连线到其它的host,该host上就会纪录来源地。
这时也要用PTR。==>参阅RFC1537,RFC1713
4。DNS管理者的协调工作
要是parent跟chilezone的管理者(这层有可以有好几个)没有联络好,很可能,就会产生两种错误:lamedelegations(不完整的授与)还有missingdelegations(遗失的授与)。
lamedelegations的情况是,parent列出下面某个domain的nameserver,但是其中可能有几台,没有这个zone的全部资料(authority的意义)。要是parent列出的这些nameserver通通都没有SOA(primary,secondaryserver都会有SOA),这就成了missingdelegations。
最常遇到missingdelegations的状况是这个单位改IP,但是又没有与上面一层通知。当然,也有一些程式可以帮忙找出lameandmissiongdelegations。
--事实上,从syslog中就可以找到一堆“Lameserveron。
。。“的讯息。当然,在makeBIND时也可以关掉这些。
5。坏的 nf设定
nf里面包含了localdomain,当你没有把全部的domainname打出来时,就会自动加上去这个东西。然後机器就不会去查DNS而直接用这个domainname连出去了。
要是 nf有不正确的domainnameentry,那就有可能连到一堆不存在的地方。(然後得到error。)
6。旧的rootcache档案
rootcache档案里面会写rootdomain的DNS的domainname还有IP,rootcache并不是自己会去改变,更新的。
而是要人工去设定。系统管理员要去注意是否有新增家rootserver。要是一台DNS用了一个太旧的rootcache档案,就有可能有些domain会查不到。 。