DNS服务器不工作的原因主要有五种:网络线路不通、DNS配置出错、本地缓存失效、安全软件干扰或者上游DNS服务器暂时不能使用等。家庭WiFi信号弱或者路由器负载过大都会造成设备和DNS服务器之间的通信受阻;如果ISP默认使用的DNS节点正在进行维护或者出现区域性的故障,则解析请求就无法到达目标位置;Windows系统中存在的错误DNS缓存、被修改过的hosts文件或者是第三方安全软件对于53端口过于严格的限制也会阻止域名解析过程;另外如果DNS设置错误地指向了一个无效地址(比如0.0.0.0),或者手动设置了已经被关闭的服务提供的公共DNS服务的话,那么请求就会处于静默状态。各种原因单独存在或者同时发生都会影响到域名解析的过程,并且需要按照一定的顺序来逐一排查。

首先检查网络连接情况和物理线路的状态
首先确定设备是否真的连上了互联网,并不是只有“已连接WiFi”的字样。打开命令提示符后输入ping 114.114.114.114命令来测试一下网络情况,如果丢包率很高或者出现超时现象的话就说明了底层网络存在问题,在这种情况下需要重新启动光猫和路由器,并且等待两分钟后让它们进行一次完整的自我检测以及DHCP重协商。如果是用手机热点共享上网的话,则要检查出手机热点本身能不能够正常地浏览网页,排除掉由于移动网络限制造成的速度慢或者是APN设置错误等问题。在家庭环境里常见的问题有网线插口松动、路由器2.4GHz频段信道过于拥挤等情形,可以登录到路由器后台(一般默认地址是192.168.1.1)中去更改路由器的工作频道到第1、第6或者第11这三个不重叠的频道上,并且关闭WMM节能模式来提高DNS查询的速度。
第二部分是系统的DNS设置以及服务的状态检查
打开Windows设置中的网络和互联网选项,在以太网/无线网络下查看硬件属性里的IP设置,并且要保证没有把DNS服务器设置成0.0.0.0或者127.0.0.1这样的无效地址,也不能填入已经被停止使用的旧版DNS(比如谷歌DNS的2001:4860:4860::8888在某些企业的网络环境中会被策略所屏蔽)。另外还可以通过按下Win+R组合键来打开services.msc程序,在其中找到并开启DNS客户端和服务以及DHCP客户端服务,如果它们处于停止状态的话可以右击鼠标选择启动并且设置为自动启动。对于企业用户来说还需要注意组策略里有没有启用“限制DNS客户端缓存”或者“强制使用特定DNS后缀”的功能,这些功能会覆盖掉之前手动配置好的DNS信息。
第三部分就是本地缓存清除以及hosts文件检查
以管理员的身份打开命令提示符窗口,并依次输入以下命令:ipconfig /flushdns来清空系统的DNS缓存;然后使用netsh int ip reset来重置TCP/IP协议栈。接着用记事本来以管理员的身份打开C:\Windows\System32\Drivers\Etc\hosts文件,在文件的最后一行是否有非官方添加的域名到IP地址的映射记录(例如把www.baidu.com指向127.0.0.1),如果有就全部删掉,并且要记得保存好。这样做的好处就是可以避免因为恶意软件修改了hosts文件而导致的解析劫持问题,在校内的网络环境或者酒店提供的公共WiFi环境下效果最好。
第四部分 安全策略以及端口通路情况检查
暂时停用Windows Defender防火墙和第三方杀毒软件中的网络防护功能来查看是否有被阻止的情况出现;如果问题已经解决的话就进入到对应的软件的高级设置里面去,在“网络规则”或者“出站连接控制”的地方给“svchost.exe(DNS Client)”以及“dns.exe”这两个程序单独开放一个UDP 53端口。有的企业级EDR终端防护系统的默认策略是禁止不正常的DNS查询行为,在这种情况下就需要找IT管理员来调整策略白名单了。
五、替代DNS部署及长期优化建议
建议把首选DNS设置为114.114.114.114,备用DNS设置为223.5.5.5(阿里DNS),两者都经过了工信部备案并且具有全国多地节点负载的能力,在路由器管理界面统一更改DNS配置之后就可以使整个家庭中的所有设备都生效了。每个月都要用到ipconfig /displaydns命令来查看一下缓存命中率,如果无效记录的比例超过30%的话就说明需要改善一下网络环境了。
因此DNS无响应属于典型的链路层和应用层共同存在的问题,要从物理接口、传输协议、网络参数设置以及安全策略四个方面进行闭环检测。






评论区 (0)
暂无评论,快来抢沙发吧!
发表评论