精简版
0
0
1
云栖社区 > 博客 > 正文
阿里云 DNS 专家 2020-01-07 09:47:50 浏览 1933
云栖社区
系统研发与运维
服务器
域名
域名解析
DNS
展开阅读全文
天苍苍, 野茫茫, 网站一瘫, 唯有泪两行!!
客户跳, 老板叫, 解析故障, 心惊又肉跳!!
对企业网站来说, 很怕出现网站打不开的情况, 一旦发生, 准会发现公司技术部呈现一片哀嚎景象. 为了让运维的难兄难弟们做个精致的小白领, 小编特别为你们总结了一套《域名解析故障排查技巧实操全网最全手册》, 并分为 "初阶版"" 进阶版 ", 跟我学完保您在排查解析故障方面, 脑回路神清晰, 分分钟就能定位问题. 为了助您减少客户不可用时间, 并赢得老板信任, 今天就来听听小编跟大家唠唠域名解析那点事儿.
因为 DNS 是互联网流量的入口, 所以企业网站一旦发现不可用, 运维人员都需要第一时间优先排除是否为域名解析故障导致. 其次我们需要知道域名解析故障与网站不能访问是两个概念, 因为网站的访问与域名解析, 网站服务器, 网站备案, 网站程序, 网路环境等诸多因素都有关联, 而本文则重点描述 域名解析故障 排查的方法和思路.
初阶版
多数用户反映的域名解析故障, 其实并不一定是真的域名解析出了问题, 小编在这里为大家总结了最常见的四种原因, 可帮助大家快速定位原因:
第一, 因为域名过期, 被锁定都会导致域名无法正常访问.
1 首先我们要知道为什么域名异常会直接导致域名解析异常呢?
因为域名处于域名解析的上游服务, 所以递归解析过程中如果域名环节存在异常, 权威 DNS 服务器是接收不到 DNS 查询请求并完成响应任务的.
2 其次我们要知道域名在什么场景下会导致域名解析异常?
域名过期: 一般域名注册商通过修改用户 DNS 服务器名称, 实现访问页面显示域名过期.
域名状态: 如果域名处于 clienthold,serverhold,inactive 三种状态, 则代表是因为域名状态异常导致解析异常.
3 最后我们再加深了解如何定位原因与解决.
阿里云 DNS 为用户提供了 域名检测工具, 可一键查询出域名有效期和域名状态是否存在异常.
域名过期: 域名续费后解析生效时间取决于 TTL 的设置, 一般 10 分钟后可以在进行解析生效测试.
域名状态: 域名状态异常时可参考下图提供的解决方法处理.
第二, check 备案是否存在异常
首先我们需要知道域名解析和备案实际并无直接关联关系, 即使网站出现备案异常, 是完全不影响域名解析的设置和解析的生效. 而备案异常则会直接影响网站的访问与使用, 您可以通过 域名检测工具一键查询备案情况, 如备案检查出现异常, 即可联系网站服务器供应商定位备案的异常原因并解决.
第三, check 下是否在 48 小时内修改过域名 DNS 服务器名称
修改 DNS 服务器后, 解析生效时间取决于本地 DNS 中缓存的 DNS 服务器名称的 TTL 时间, 一般需要 24-48 小时. 所以在修改 DNS 服务器 48 小时内, 新 / 旧 DNS 服务商的解析数据需要保持一致, 如果您在原 DNS 服务商删除了解析记录, 或者在新 DNS 服务商未添加解析记录, 或者新 / 旧 DNS 服务商添加的解析记录不一致, 都有可能导致解析不可用, 或者出现站点时而正常时而异常的现象.
结论: 如果排查是此情况导致, 您可到新 / 旧 DNS 服务商操作, 最终保持解析数据一致, 即可实现快速恢复.
第四, check 解析记录
1检查解析记录的设置是否正确
建议运维 GG 们首先可通过 域名检测工具 , 检查下 DNS 服务商的解析结果, 如提示 "未检测到该域名设置 DNS 解析记录", 则建议您检查下解析记录的设置是否正确, 例如是未设置该条子域名, 还是被 "误操作"" 不小心 " 给删除了? 还是修改解析记录时输入错误了? 总之错误的原因皆有可能, 我们首要先排除下因配置原因导致的异常错误.
2检查是否近期刚修改过解析记录.
如果修改了解析记录, 需要等待各地的运营商 Localdns 的缓存到期, 域名解析才会生效. 一般修改解析后的生效时间取决于域名的 TTL 设置. 您可以通过 域名检测工具 查出 TTL 生效时间, 等待此 TTL 生效时间后再次检查.
3检查智能解析线路是否未设置默认线路
云解析 DNS 的智能解析线路, 解析优先级是按照 "专线" 线路,"默认" 线路的排序应用, 如果访问者来源不属于 "专线" 线路, 而管理员又未设置 "默认" 线路场景, 则会造成此部分用户无法访问站点.
如果以上初步排查后, 排查结果都属于正常, 那么则可以随小编进入进阶版学习了.
进阶版
在进入进阶版前, 要深入了解域名解析异常情况, 绕不开的就得先了解域名解析递归流程, 很多同学应该还不知道解析的 110 套路, 简单来说就是在递归 DNS 未有缓存场景下, 1 次域名解析需要经历 10 次查询交互.
从上面的解析流程介绍我们可以看出, 域名解析的过程是经历很多查询交互, 任意一环节出现问题都可能会导致解析不生效, 所以接下来小编就教教在每个环节如何排查解析异常问题. 一般判断解析不生效的定义是 DNS 查询请求未能查询到域名指向的服务器 IP 地址或者查询的 IP 地址与预期不一致. 多表现于权威 DNS 解析结果和递归解析结果 / 本地 DNS 解析结果 / 公共 DNS 解析结果不一致, 或查询结果显示无数据.
第一, 排除下权威 DNS 的解析数据是否存在异常
权威 DNS 是真正管理域名和 IP 地址映射关系的 DNS 服务器, 阿里云提供的云解析 DNS 就是权威 DNS, 所以第一步, 小编教您优先检查权威 DNS 的解析数据是否存在异常.
用 域名检测工具, 重点查看 DNS 服务商解析结果, 见下图.
1 检查解析结果和您在 DNS 服务商控制台处设置的解析记录对比是否一致, 如一致代表权威 DNS 解析是正常生效的.
2 DNS 服务商解析结果显示 DNS 未设置解析记录, 则需要检查您是否为忘记设置或误操作过删除等行为.
3 检查结果和您在 DNS 服务商控制台设置的解析记录不一致, 此种场景则需要联系您的 DNS 服务商进行解析数据刷新处理.
第二, 排除下是否属于用户本地 DNS 服务器问题
本地域名服务器是响应来自客户端的递归请求, 并最终跟踪直到获取到解析结果的 DNS 服务器. 例如用户本机自动分配的 DNS, 运营商 ISP 分配的 DNS, 我们也可称之为递归 DNS.
用 域名检测工具, 在本地 DNS 检查模块下载客户端查询工具.
用本地 DNS 工具检测结果如下:
如果确认权威 DNS 解析是正确的情况下, 发现本地 DNS 解析结果与权威 DNS 结果不一致, 则代表域名解析是在用户本地没有生效. 那么为什么会出现本地解析没有生效呢?
主要有下列几种情况:
1 本地 DNS 服务器上的缓存信息未到期导致. -> 此场景, 只需要等待本地 DNS 解析处显示的 TTL 生效时间到期后, 再次尝试测试即可.
2 如果本地 DNS 解析 TTL 过期后测试, 仍然和权威 DNS 解析结果不一致, 尝试检查公共 DNS 解析结果是否一致.
3 如果公共 DNS 解析结果和权威解析结果一致, 说明权威 DNS 和公共 DNS 上解析数据都是生效的, 那么可以判断为是用户本地 DNS 未生效, 此种情况建议刷新本地 DNS 服务器后再进行测试, 或将本地 DNS 服务器修改为公共 DNS 服务器.
放心放心, 小编为了让您能加深了解和记忆, 早已为您精心绘制了精简版的 Check List, 一表在手, 让我们帮您把排查解析异常故障的时间 "打下来".
第三, 排除下是否为域名被阻断导致域名解析异常
1通过 域名检测工具 , 如递归解析追踪报错 "域名递归解析过程被污染".
一般是域名正常解析过程中受到上级网络设施强行阻断, 这已超出权威 DNS 服务能力, 如果遇到此情况, 小编也很遗憾不能给予更好的解决办法, 一般建议用户更换业务域名.
2判断递归解析过程哪个环节被 "污染"
您也可以通过命令 dig+trace 测试, 本地 DNS 向根 DNS 服务器查询时, 直接返回了 IP 地址, 则一般可判断为在 DNS 查询在根 DNS 服务器处就被阻断.
这次的分享就先到这里了, 最后, 希望小编为大家总结的《域名解析故障排查技巧实操全网最全手册》, 能够有效帮助到您快速定位解析异常原因和降低业务不可用时间.
来源: https://yq.aliyun.com/articles/741901