笔者建议,大家可使用“dnscmd /statistics”命令将DNS的状态保存为一个文件,这样可方便我们查看,因为命令行的缓冲限制被输出的内容。另外,这样也方便我们在空闲的时间查看服务器的状态。例如我们执行命令“dnscmd 192.168.1.100 /statistics >dns-stats.txt”可将IP地址为192.168.1.100的DNS服务器上的状态信息保存在dns-stats.txt文件中。(图5)
4、在其他DNS服务器上检查传送
作为一条很好的安全策略,我们可利用Active Directory的复制功能将DNS的区域信息自动复制出来,这样当某台DNS服务器发生故障时,我们可以在其他DNS服务器上检查传送。默认情况下,Active Directory每180秒会检查依次区域变动,为了满足我们的需要,可以使用dnscmd命令设置目录服务轮询的时间间隔。命令格式为“dnscmd servername /config /dspollinginterval interval”,其中servername是DNS服务器的名称或IP地址,而interval是要使用的轮询间隔的时间。如果问题和到辅助服务器失败的变动传送有关,要确保区域传送已经启用。如果区域传送的配置正确,可尝试更新主要服务器上区域记录的序列号。在DNS控制台中,用鼠标右键单击服务器项,然后选择“更新服务器数据文件”命令即可。这样就会按照需要增加区域的序列号,随后如果有必要,会触发区域传送。(图6)
5、检查区域和区域记录
检查区域和区域记录,这也是我们在进行DNS排错时应该做的。同样还是利用dnscmd工具,它提供了多个有用的命令,可以帮助我们了解好记录有关的问题。例如执行命令“dnscmd servername /enumzones”会列出DNS服务器中所有可用的区域,命令的输出如图所示。其中可以操作的区域名称都会列在最左侧一列中,其他内容则告诉我们区域的类型以及配置方式。在检查了服务器上区域的这些设置后,可以使用“dnscmd servername /zoneprint zonename”命令将可疑区域的配置记录输出然后进行深入分析。其中,servername是DNS服务器的名称或IP地址,zonename是区域的名称。(图7)
总结:作为管理员我们深知DNS服务器的重要性,而相对来说其排错也比较麻烦,所以明晰思路掌握排错技巧是非常必要的。当然,本文不可能囊括所有的技巧,但上述介绍的这些技巧却是最使用的。最后,希望本文对大家有所帮助。