首页IT科技dns出现故障怎么办(DNS故障分析优化)

dns出现故障怎么办(DNS故障分析优化)

时间2025-05-01 14:11:03分类IT科技浏览4222
导读:1、DNS解析失败...

1            、DNS解析失败

        1.1 报connection timed out; no servers could be reached错误

root@15b099c121e2:/# nslookup time.geekbang.org ;; connection timed out; no servers could be reached

        1.2 对网络进行排查            ,或者是使用 nslookup -debug www.baidu.com            。结果发现网络是征程连接的                   ,但是访问baidu这个网址取通过本机环回口取访问的      ,所以导致连接失败                   。

root@15b099c121e2:/# ping 114.114.114.114 PING 114.114.114.114 (114.114.114.114): 56 data bytes 64 bytes from 114.114.114.114: icmp_seq=0 ttl=127 time=29.275 ms 64 bytes from 114.114.114.114: icmp_seq=1 ttl=127 time=27.183 ms ^C--- 114.114.114.114 ping statistics root@15b099c121e2:/# nslookup -debug www.baidu.com ;; Connection to 127.0.0.1#53(127.0.0.1) for www.baidu.com failed: connection refused. ;; Connection to ::1#53(::1) for www.baidu.com failed: address not available.

        1.3 查看Dns配置文件         ,发现内容为空      。所以我们需要配置DNS服务

/# cat /etc/resolv.conf root@15b099c121e2:/# echo "nameserver 114.114.114.114 " > /etc/resolv.conf root@15b099c121e2:/# nslookup www.baidu.com Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. Name: www.a.shifen.com Address: 14.215.177.39 Name: www.a.shifen.com Address: 14.215.177.38

2                   、DNS解析不稳定

        2.1 用time nslookup  mp.csdn.net为例                   ,来查看时延         ,可以看到real这一栏的时延有15S之久

harbo@harbo-virtual-machine:~$ time nslookup mp.csdn.net Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: Name: mp.csdn.net Address: 101.201.178.55 real 0m15.099s user 0m0.000s sys 0m0.013s

        2.2 如果多测试一下      ,会出现哪些现象呢,可能也会出现解析失败的现象

/# time nslookup mp.csdn.net ;; connection timed out; no servers could be reached real 0m15.011s user 0m0.006s sys 0m0.006s

        2.3 对于上述出现的结果                   ,可能会出现多种原因:

                2.3.1 DNS服务器本身有问题             ,响应慢并且不稳定

                2.3.2 客户端到DNS服务器的网络延迟比较大

                2.3.3 DNS请求或者响应包   ,在某些情况下请求包被丢弃

        2.4 根据不同的延时                  ,我们可以更换不同的DNS                ,使用ping命令进行观测

arbo@harbo-virtual-machine:~$ ping mp.csdn.net PING mp.csdn.net (101.201.178.55) 56(84) bytes of data. 64 bytes from 101.201.178.55 (101.201.178.55): icmp_seq=1 ttl=128 time=38.4 ms 64 bytes from 101.201.178.55 (101.201.178.55): icmp_seq=2 ttl=128 time=34.5 ms

        2.5 针对DNS解析时间过长的问题,可以为目标进行DNS缓存               ,使用dnsmasq

#该命令是在容器上执行 /# /etc/init.d/dnsmasq start * Starting DNS forwarder and DHCP server dnsmasq [ OK ]

        2.6 修改/etc/resolv.conf,将DNS服务器改为DNSmasq的监听地址                   ,本次用的是本机地址 114.114.114.114   ,然后多次执行nslookup命令

root@a7e78e494a4d:/# time nslookup mp.csdn.net Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: Name: mp.csdn.net Address: 101.201.178.55 real 0m0.115s user 0m0.011s sys 0m0.026s

        2.7 可以看到执行多次以后            ,DNS解析都比较快         。

2      、DNS优化解决方法

        2.1 对DNS解析结果进行缓存                   ,但是要注意      ,缓存过期以后         ,需要重新获取新纪录                   ,有经验的小伙伴可以写一个脚本         ,定期进行获取新记录                   。

        2.2 对DNS解析的结果进行预取      ,这是浏览器等 Web 应用中最常用的方法                   ,也就是说             ,不等用户点击页面上的超链接   ,浏览器就会在后台自动解析域名                  ,并把结果缓存起来         。

        2.3 使用HTTPDNS取代常规的DNS解析                ,特别是如今域名劫持普遍存在,使用 HTTP 协议绕过链路中的 DNS 服务器               ,就可以避免域名劫持的问题

       2.4 基于 DNS 的全局负载均衡(GSLB)      。这不仅为服务提供了负载均衡和高可用的功能                   ,还可以根据用户的位置   ,返回距离最近的 IP 地址                   。

本文整理自极客时间 倪朋飞:《Linux性能优化实战》

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
windows10激活密钥企业版ltsc(2021.1最新win10激活秘钥/产品秘钥/激活码推荐 附激活工具+教程) php文件格式怎么打开(如何打开php项目)