IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页系统集成网络故障 → 掌握技巧 DNS服务器快速排错

掌握技巧 DNS服务器快速排错

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  对于6月份我国相继发生的两起大规模断网事件,大家应该记忆犹新。事后分析,这两起断网事件都是源于黑客对ISP的DNS服务器攻击导致域名解析风暴所致。由此可见,DNS服务器对于网络运营的重要性。同样的,DNS也是当前企业局域网中非常关键的服务器。如果DNS服务器出错,将对企业局域网造成重大影响,甚至瘫痪。基于Wndows Server 2008平台的DNS服务器无疑是最佳方案,但如果出错该从哪些方面进行排错呢?本文笔者将和大家共享5个非常重要的排错技巧。

  1、从检查服务器的TCP/IP配置开始

  在DNS错误中,与TCP/IP相关的比较多,因此我们的排错首先应该从检查服务器的TCP/IP配置开始。进入服务器的TCP/IP配置窗口,检查并验证其设置是否有误,如果有误恢复其正确设置即可。笔者的经验,建议大家在配置完DNS后不仅要对DNS配置进行备份,同时也要服务器的TCP/IP设置进行备份,这样恢复起来就非常方便了。在服务器的命令提示符下执行命令"netsh interface dump>C:\settings.txt",就会将其TCP/IP设置备份到C盘下的settings.txt文件中。如果要进行恢复可执行命令"netsh exec C:\settings.txt"即可。如果恢复或者重新配置TCP/IP后DNS错误依然存在,我们可继续进行下面的排错。

  2、不要忽视服务器的缓存

  和DNS客户端类似,DNS服务器也有自己的解析缓存,而这经常被管理所忽略。DNS服务器上的这个缓存主要用于响应自己经常执行的(可能是客户端要求的,也可能是服务器自己需要的)解析查询记录需求。如果我们怀疑DNS服务器故障是因为老的记录导致的,那么可在命令提示符下执行命令"dnscmd servername /zoneprint ."来查看DNS服务器的缓存。该命令中的"servername"是DNS服务器的名称或者IP地址,"."表示我们要查看的是服务器的缓存,这缓存的列表中会包含被该服务器使用的根名称服务器。

  通过查看服务器缓存,管理员可以据此做出判断。如果有必要,我们可强制让服务器清空自己的缓存。为此,可在DNS控制台中用鼠标右键单击服务器项,然后选择"清除缓存"命令即可。另外,我们可在命令行下执行命令"dnscmd servername /clearcache"也可以清除服务器缓存。其中,servername是要清除缓存的DNS服务器的名称或者IP地址

  3、检查DNS服务器的配置

  在DNS服务器发生故障时,检查DNS服务器的配置应该是最主要的排错步骤。因为大部分情况下,DNS问题都和DNS服务器的配置有关。我们在实战中除了尝试在大量选项卡对话框中寻找蛛丝马迹外,还可以求助于dnscmd命令。如果要查看DNS服务器的配置信息,只需在命令行下执行"dnscmd servername /info"命令即可。其中servername是要检查的DNS服务器的名称或IP地址,例如"df"或"192.168.1.25",该命令的输出结果如图所示。在此,需要管理员熟悉"dnscmd /info"命令输出内容中每个字段的含义。通常情况下,作为管理员没有必要对每个字段都非常了解,不过要了解其中比较关键的几个字段。此外,我们可通过使用"dnscmd /config"命令配置DNS服务器。对于一些主要的配置范例大家应该掌握。例如,我们需要设置fBindSecondaries选项允许maximum compression以及efficiency,那么就可以运行"dnscmd servername /config /BindSecondaries 0"命令即可。同样servername是要配置的DNS服务器的名称或者IP地址。需要说明的是,该命令会覆盖默认的用于支持其他DNS服务器选项。

  另一个对于DNS服务器进行排错非常有用的命令是"dnscmd /statistics",该命令可以显示许多我们非常感兴趣的信息。这些信息对我们进行DNS排错很有帮助。(1).DNS服务器时间统计,包括服务器的启动时间,启动后的秒数,以及最后一次清理的日期和时间。(2).查询和响应的详细信息,包括收到的查询总数,发出的相应总数,发送和接收的UDP查询数量,发送和接收的UDP响应的数量,以及发送和接收的TCP查询数量,还有发送和接收的TCP响应的数量。(3).被记录的查询的详情,包括每个类型的发送记录的准确数量。(4).失败的详情以及位置,包括递归失败、重试限制到达,以及收到不完整的回应。(5).动态更新的数量信息,每个更新类型的状态,安全更新的打断次数和状态,被转发的更新的数量,已经记录被更新的类型。

  (6).被DNS使用的内存数量信息,包括总的内存使用、标准分配,以及从标准到堆的分配。

  笔者建议,大家可使用"dnscmd /statistics"命令将DNS的状态保存为一个文件,这样可方便我们查看,因为命令行的缓冲限制被输出的内容。另外,这样也方便我们在空闲的时间查看服务器的状态。例如我们执行命令"dnscmd 192.168.1.100 /statistics >dns-stats.txt"可将IP地址为192.168.1.100的DNS服务器上的状态信息保存在dns-stats.txt文件中

  4、在其他DNS服务器上检查传送

  作为一条很好的安全策略,我们可利用Active Directory的复制功能将DNS的区域信息自动复制出来,这样当某台DNS服务器发生故障时,我们可以在其他DNS服务器上检查传送。默认情况下,Active Directory每180秒会检查依次区域变动,为了满足我们的需要,可以使用dnscmd命令设置目录服务轮询的时间间隔。命令格式为"dnscmd servername /config /dspollinginterval interval",其中servername是DNS服务器的名称或IP地址,而interval是要使用的轮询间隔的时间。如果问题和到辅助服务器失败的变动传送有关,要确保区域传送已经启用。如果区域传送的配置正确,可尝试更新主要服务器上区域记录的序列号。在DNS控制台中,用鼠标右键单击服务器项,然后选择"更新服务器数据文件"命令即可。这样就会按照需要增加区域的序列号,随后如果有必要,会触发区域传送

  5、检查区域和区域记录

  检查区域和区域记录,这也是我们在进行DNS排错时应该做的。同样还是利用dnscmd工具,它提供了多个有用的命令,可以帮助我们了解好记录有关的问题。例如执行命令"dnscmd servername /enumzones"会列出DNS服务器中所有可用的区域,命令的输出如图所示。其中可以操作的区域名称都会列在最左侧一列中,其他内容则告诉我们区域的类型以及配置方式。在检查了服务器上区域的这些设置后,可以使用"dnscmd servername /zoneprint zonename"命令将可疑区域的配置记录输出然后进行深入分析。其中,servername是DNS服务器的名称或IP地址,zonename是区域的名称。

  总结:作为管理员我们深知DNS服务器的重要性,而相对来说其排错也比较麻烦,所以明晰思路掌握排错技巧是非常必要的。当然,本文不可能囊括所有的技巧,但上述介绍的这些技巧却是最使用的。最后,希望本文对大家有所帮助。

关键词标签:DNS服务器

相关阅读

文章评论
发表评论

热门文章 提示dns服务错误怎么办 dns错误问题多种解决提示dns服务错误怎么办 dns错误问题多种解决IS-IS同时下发缺省路由出现路由环路问题的解IS-IS同时下发缺省路由出现路由环路问题的解IBGP邻居无法建立连接问题的解决方法IBGP邻居无法建立连接问题的解决方法对称结构承载网流量出现异常问题的故障解决对称结构承载网流量出现异常问题的故障解决

相关下载

人气排行 光纤上网 路由器设置页面进不去怎么办登录SSH服务器失败问题的分析及解决无线网卡连接不上怎么办_无线网卡连接不上解决方法提示dns服务错误怎么办 dns错误问题多种解决方法本机IP设置不当造成路由异常故障分析路由设置不当 导致VPN无法访问外网无线路由器无不能上网的秘密ADSL频繁掉线如何解决?