技术分享 | DNS故障分析及常用解决方法

发布时间:2021-12-16 00:00:00

由于计算机无法直接识别我们输入的域名,所以必须通过DNS解析环节将域名翻译成可由计算机识别的IP地址,才能完成整个访问过程。如果DNS发生故障就无法将域名正确指向对应的IP地址,进而无法实现通过域名访问相应的站点。DNS故障的一般特征是通过域名无法访问网站,但直接访问对应的IP地址则可以正常联通。本文将针对如何进行DNS故障分析以及相应的解决方法做下简单介绍。


1.通过nslookup命令来判断DNS解析是否出现故障


(1)通过“开始->运行->输入CMD”操作,进入命令行模式。




(2)输入nslookup命令,进入DNS解析查询界面,命令行窗口中会显示出当前系统所使用的DNS服务器地址。




(3)输入无法访问的站点对应的域名。如果DNS正常,会返回正确的IP地址。如果返回DNS request timed out,timeout was 2 seconds的提示信息,则说明我们的计算机确实出现了DNS解析故障。




2.查询DNS服务器工作是否正常


(1)通过“开始->运行->输入CMD”操作,进入命令行模式。


(2)输入ipconfig /all命令来查询网络参数。




(3)在ipconfig /all显示信息中,我们可以查看当前我们使用的DNS服务器。如果使用外网DNS出现解析错误时,一般情况下更换一个DNS服务器即可解决问题。


(4)如果DNS服务器显示的是公司内部网络地址,说明DNS解析工作是交由公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器是否出现故障,在DNS服务器上进行nslookup操作看是否可以正常解析。


3.清除DNS缓存信息法


计算机对域名的访问并不是每一次都需要向DNS服务器寻求帮助,一般来说当解析工作完成一次后,该解析条目会保存在计算机的DNS缓存列表中,如果此时DNS解析出现更改变动,由于DNS缓存列表信息不能得到及时更新,计算机对该域名的访问仍会根据缓存中的对应关系进行解析,从而出现解析故障。这种情况下,我们可以通过清除DNS缓存命令解决故障。


(1)通过“开始->运行->输入CMD”进入命令行模式。




(2)输入ipconfig /?,可看到有一个名为/flushdns的命令,通过执行该命令可以清除DNS缓存信息。


(3)执行ipconfig /flushdns命令,当出现“已成功刷新DNS缓存”的提示时说明当前计算机的缓存信息已经被成功清除。




(4)接下来我们再访问域名时,就会请求DNS服务器获取最新的解析地址,从而避免解析错误情况的发生。


4.修改HOSTS文件法


修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。


这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。


(1)通过“开始->搜索”操作,查找名为HOSTS的文件。


(2)使用“记事本”程序将打开该文件。


(3)之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)




(4)将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的IP地址,然后空格加域名信息。




(5)添加完毕后,我们就可以根据设置的解析条目进行解析访问。


通过上面四个方法和步骤,我们基本上可以解决大部分的DNS故障问题。这几个方法中前三个是循序渐进的一步步解决DNS解析故障,而最后一个修改HOSTS文件则是直接在本地修改解析记录。当然不管是通过哪种方法,我们基本上都可以解决因为DNS解析错误带来的各种网络故障。

上一篇:DNS解析常见问题:如何清理DNS缓存? 下一篇:浅谈域名分级及域名解析过程