DNS解析故障

来源:互联网 发布:51单片机最小系统pcb 编辑:程序博客网 时间:2024/04/23 14:05


    在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的。这个现象发生的机率比较大,所以本文将从零起步教给各位读者一些基本的排除DNS解析故障的方法。 


一. 什么是? 


一般来说像我们访问的www.baidu.com这些地址都叫做域名,而众所周知网络中的任何一个主机都是IP地址来标识的,也就是说只有知道了这个站点的IP地址才能够成功实现访问操作。 


不过由于IP地址信息不太好记忆,所以网络中出现了域名这个名字,在访问时我们这需要输入这个好记忆的域名即可,网络中会存在着自动将相应的域名解析成IP地址的服务器,这就是DNS服务器。能够实现DNS解析功能的机器可以是自己的计算机也可以是网络中的一台计算机,不过当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,我们就无法通过域名访问相应的站点了,这就是DNS解析故障。 


出现DNS解析故障最大的症状就是访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。 


二. 如何解决DNS解析故障: 


当我们的计算机出现了DNS解析故障后不要着急,解决的方法也很简单。


(1)用nslookup来判断是否真的是DNS解析故障:


要想百分之百判断是否为DNS解析故障就需要通过系统自带的NSLOOKUP来解决了。 


第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。


第二步:输入nslookup命令后回车,将进入DNS解析查询界面。 


第三步:命令行窗口中会显示出当前系统所使用的DNS服务器地址,例如笔者的DNS服务器IP为202.106.0.20。


第四步:接下来输入你无法访问的站点对应的域名。例如笔者输入www.weixiula.com 假如不能访问的话,那么DNS解析应该是不能够正常进行的。我们会收到DNS request timed out,timeout was 2 seconds的提示信息。这说明我们的计算机确实出现了DNS解析故障。   


小提示:如果DNS解析正常的话,会反馈回正确的IP地址,例如笔者用www.weixiula.com 这个地址进行查询解析,会得到name:sohu.com,addresses:61.135.133.103,61.135.133.104的信息。

(2)查询DNS服务器工作是否正常: 


这时候我们就要看看自己计算机使用的DNS地址是多少了,并且查询他的运行情况。 


第一步:确认自己的系统是windows 2000和windows xp以上操作系统,然后通过“开始->运行->输入CMD”后回车进入命令行模式。 


第二步:输入ipconfig /all命令来查询网络参数。

第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。例如笔者的是202.106.0.20和202.106.46.151。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的DNS服务器地址即可解决问题。



第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决DNS服务器上的DNS服务故障,一般来说问题也能够解决。 


(3)清除DNS缓告信息法:


当对域名访问时并不是每次访问都需要向DNS服务器寻求帮助的,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果这时DNS解析出现更改变动的话,由于DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。


如果是2000或XP以上系统,在开始-运行中输入 cmd,回车后弹出命令窗口,接着输入以下命令:ipconfig /flushdns ,回车运行完后,DNS缓存就被清除了. 
你可以使用ipconfig /displaydns查看DNS缓存