域名解析失败, 这种情形通常被称作DNS解析失败, 它通常是由三类原因引起的, 这三类原因分别是DNS记录配置错误、权威DNS服务器故障, 以及本地网络或者缓存出现异常。以下是按照排查优先级给出的完整操作路径, 大家只需要按这个顺序执行即可, 这样就可以在10分钟之内把问题定位并且修复掉。
确认故障范围
1. 请在本地的命令行环境里, 输入 nslookup 你的域名 这个命令去执行一下, 或者也可以输入 ping 你的域名 这个命令, 然后看一看最终得到的返回结果是什么样。
2. 如果返回的是“Non-existent domain”, 或者是发生了超时的状况, 那么就可以说明DNS记录存在配置方面的问题。
3. 若ping的情况是正常的, 不过浏览器打不开网站, 那问题就出在服务器的Web服务上面, 又或者是在于SSL证书有问题, 而不是由DNS所导致的。
4. 建议你先换一台其他的设备, 或者把网络连接方式切换到手机的4G或者5G网络上去进行再次测试, 好把这个排除本地缓存干扰的问题弄干净。
检查DNS记录配置
去登录那个管理域名的公司的网站, 或者是使用DNS托管的那个平台, 比方说就是像gname.xin这个平台的DNS管理面板那样, 然后一个一个地、一项一项地去进行核对工作。
A记录:IP地址是否与服务器实际公网IP一致;
CNAME记录, 需要检查一下它是不是指向了那个正确的目标域名。
MX记录在涉及到邮箱的时候需要去确认主机名对不对, 而且还得看优先级是不是设错了。
NS记录:域名NS是否指向当前实际使用的DNS服务器。
你在修改DNS记录之后, 需要知道的是, 这个记录在全球范围内生效是需要花费24个小时到48个小时的时间的。具体的时间是依据TTL值来决定的。如果你把TTL的值设定为300秒, 这样的话就可以大大的缩短所等待的时间。
检查权威DNS服务器状态
1. 你要去借用一些现成的在线查询服务, 这些服务的名字里可以包括DNSChecker或者是IntoDNS之类的东西来作为例子。
然后, 你需要从属于不同地理区域的服务器节点那里发起对域名的查询操作。通过这一连串的动作, 最终要达到的目的是确认与该域名相关联的每一个负责名称解析的NS服务器是否能够正常地给出响应反馈。
2. 如果某一台NS返回了SERVFAIL或者无响应, 那么需要联系对应的DNS服务商确认服务器状态。
3. 如果域名是刚刚才完成了转入注册商的动作, 那么是需要去确认一下新的名称服务器是不是已经生效了, 还有旧的名称服务器的记录是不是已经被清除掉了。
清除本地DNS缓存
在Windows这个系统上面, 你需要打开那个叫做命令提示符的程序, 然后在这个程序里面去运行那个ipconfig /flushdns这样一个操作。
macOS:终端执行 sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
浏览器的部分,如果用Chrome来访问的话域名解析失败怎么办域名解析失败怎么办, 可以在地址栏输入chrome://net-internals/#dns这个路径, 然后手动去做清除DNS缓存的操作, 或者也可以直接按下Ctrl+Shift+R这个组合键来进行强制刷新页面。
检查网络链路
确认服务器安全组和防火墙不要屏蔽53端口的UDP和TCP协议的DNS查询, 确保网络畅通。
在企业所处的这个网络环境里面, 我们要去检查那个通过DHCP协议分配出来的DNS服务器地址能不能被通达。
把设备的DNS配置先暂时修改成为数字8点8点8点8或者1点1点1点1, 接着对解析功能能不能恢复正常状况展开测试。
预防措施
你要确保域名注册的这种状态一直是正常的, 千万不要让它过期, 不然的话就会引起NS这个记录被移除的情况出现。
在使用权威DNS服务器的时候, 建议大家至少选用两到三家不同服务提供商提供的服务。这样做是为了能够有效地规避因为单一节点出现故障而带来的相关风险。
在日常DNS记录的TTL建议保持在600秒以内, 以缩短故障恢复窗口。
每个月使用多地DNS检测工具执行一次解析状态巡查任务, 并且要及时地发现异常情况。
如果按照以上所有的步骤去执行了以后, 问题还是没有得到解决的话, 请完整地将ns工具的输出结果记录下来, 并且截取好相关的dns记录的图片, 同时也准备好网络拓扑结构的信息内容。最后将上述资料提供给域名服务商的技术支持部门联系他们, 让他们进一步帮助检查并处理相关问题。
