首先我们应该知道什么是DNS。dns是domain name service的缩写,他的作用就是将域名翻译成ip地址。当用户在浏览器中输入域名,然后根据dns服务器将其翻译成ip地址,这样才能访问到你要访问的网站。如此庞大的工作谁来做呢?就需要一个dns服务器,通常我们所说的dns其实是dns服务器,我们一般使用比较出名的dns服务器。比如谷歌的公开dns,8.8.8.8和8.8.4.4。那么hosts和dns有什么关系呢?hosts就像一个小型的本地dns,他上面存的就是域名和对应的ip,为什么有时候我们想上国外的网,比如谷歌学术啥的,翻墙技术一直就是修改dns,就是找到对方的ip进行访问。一般情况下我们的电脑是先访问我们本地的hosts,找不到对应的,再去dns服务器上找。
了解的基本的原理后我们就可以进行故障处理了。一般来说处理dns的故障就是两个比较好用的方法,一个是用谷歌的dns服务器,就是检查你的dns下是否是8.8.8.8,备用的改为8.8.4.4;windows下直接到网络共享中心里面本地连接ipv4中的属性中去设置就行,linux的话使用命令行:
sudo gedit /etc/resolv.conf
打开后,看到servername ip,通常默认的是第一行,后面的为备用,所以将第一行改为servername 8.8.8.8 第二行改为servername 8.8.4.4
另外一种就是清除dns缓存,在windows下的话就打开dns,输入
也可以进行图形界面的操作,自行百度。linux下只需要重新启动dns就可以了,命令:
ipconfig /flushdns
也可以进行图形界面的操作,自行百度。linux下只需要重新启动dns就可以了,命令:
/etc/init.d/named restart
但是这次我们了上面两种方法都不行,这就很忧伤了,再次求助百度,发现有些贴说谷歌的dns在有时候也不大好用,因为在某墙下,所以推荐了一个国内的dns,114.114.114.114,所以果断把默认的dns改成了这个,然后瞬间就好了。为了实验一些这两个dns,于是简单ping了一下,发现ping 8.8.8.8的时候,可以不间断的测试dns的访问情况,但是速度比较慢,还容易丢包,而ping
114.114.114.114就快多了。