前面说了什么是DNS解析故障和判断DNS解析故障的方法。那么如何解决DNS解析故障才是重点。一般来说,通过下面三种方法,大部分的DNS解析故障都可以得到解决。
一、查询DNS服务器工作是否正常
第一步:通过“开始->运行->输入CMD”后回车进入命令行模式。
第二步:输入ipconfig /all命令来查询网络参数。
第三步:在ipconfig /all显示信息中我们能够看到一个地方写着DNS SERVERS,这个就是我们的DNS服务器地址。例如笔者的是205.108.0.20。从这个地址可以看出是个外网地址,如果使用外网DNS出现解析错误时,我们可以更换一个其他的DNS服务器地址即可解决问题。
第四步:如果在DNS服务器处显示的是自己公司的内部网络地址,那么说明你们公司的DNS解析工作是交给公司内部的DNS服务器来完成的,这时我们需要检查这个DNS服务器,在DNS服务器上进行nslookup操作看是否可以正常解析。解决 DNS服务器上的DNS服务故障,一般来说问题也能够解决。
二、清除DNS缓存信息法
计算机访问域名时,DNS服务器不是每一次都会对其进行解析,而是调用保存在计算机的DNS缓存信息即可,如果这时DNS解析出现更改变动的话,由于计算机的DNS缓存列表信息没有改变,在计算机对该域名访问时仍然不会连接DNS服务器获取最新解析信息,会根据自己计算机上保存的缓存对应关系来解析,这样就会出现DNS解析故障。这时我们应该通过清除DNS缓存的命令来解决故障。
第一步:通过“开始->运行->输入CMD”进入命令行模式。
第二步:在命令行模式中我们可以看到在ipconfig /?中有一个名为/flushDNS的参数,这个就是清除DNS缓存信息的命令。
第三步:执行ipconfig /flushDNS命令,当出现“successfully flushed the DNS resolver cache”的提示时就说明当前计算机的缓存信息已经被成功清除。
第四步:接下来我们再访问域名时,就会到DNS服务器上获取最新解析地址,再也不会出现因为以前的缓存造成解析错误故障了。
三、修改HOSTS文件法
修改HOSTS法就是把HOSTS文件中的DNS解析对应关系进行修改,从而实现正确解析的目的。因为在本地计算机访问某域名时会首先查看本地系统中的HOSTS文件,HOSTS文件中的解析关系优先级大于DNS服务器上的解析关系。
这样当我们希望把某个域名与某IP地址绑定的话,就可以通过在HOSTS文件中添加解析条目来实现。
第一步:通过“开始->搜索”,然后查找名叫hosts的文件。
第二步:当然对于已经知道他的路径的读者可以直接进入c:\windows\ system32\drivers\etc目录中找到HOSTS文件。如果你的系统是windows 2000,那么应该到c:\winnt\system32\drivers\etc目录中寻找。
第三步:双击HOSTS文件,然后选择用“记事本”程序将其打开。
第四步:之后我们就会看到HOSTS文件的所有内容了,默认情况下只有一行内容“127.0.0.1 localhost”。(其他前面带有#的行都不是真正的内容,只是帮助信息而已)
第五步:将你希望进行DNS解析的条目添加到HOSTS文件中,具体格式是先写该域名对应的 IP地址,然后空格接域名信息。例如笔者添加了“61.129.70.67 www.zgsj.com”与“10.82.0.1 www.zgsj.com”两个条目。
第六步:设置完毕后我们访问www.zgsj.com时就会自动根据是在内网还是外网来解析了。
大部分的DNS解析故障都可以通过上面的三种方法得到解决。尽管修改HOSTS文件是在没有办法的时候的一种方法,但不管使用哪种方法,能够解决问题就是好方法。