5个DNS故障排查技巧

通信网络

648人已加入

描述

DNS 是网络堆栈中一个关键但经常被忽略的组件。监控 DNS 查询异常可以帮助您检测和纠正潜在问题。

“一劳永逸”是大多数网络团队在其权威域名系统 (DNS)中遵循的方法。如果系统正常工作并且最终用户找到了与创收应用程序、服务和内容的网络连接,那么管理员通常会说你不应该成功。

不幸的是,DNS 的可靠性常常让我们认为这是理所当然的。很容易将 DNS 作为后台服务注销,因为它的性能非常好。然而,这种非常“一劳永逸”的策略常常让性能和可靠性问题得不到诊断,从而给网络团队造成盲点。当这些未诊断的问题堆积起来或暂时未得到解决时,它们很容易转移为更重要的网络性能问题。

事实上,与任何机器或系统一样,DNS 需要偶尔进行调整。即使它运行良好,也需要注意特定的 DNS 错误,这样小问题就不会爆发为更重要的问题。

我想就网络团队在解决 DNS 问题时要寻找的内容分享一些建议。

设置基准 DNS 指标

没有两个网络配置相同。没有两个网络具有相同的性能配置文件。每个网络都有使其独一无二的怪癖和特点。这就是为什么在诊断任何问题之前了解网络的“正常”情况很重要的原因。

DNS 数据可以让您了解一段时间内的平均查询量。对于大多数企业来说,这将是一个相对稳定的数字。可能会有季节性变化(尤其是在零售等行业),但这些通常是可以预测的。随着客户群或服务量的增长,大多数企业会看到查询量逐渐增加,但这通常也遵循既定模式。

查看查询量的组合也很重要。您的大部分 DNS 流量是否流向特定域?各种后端资源之间的 DNS 查询组合有多稳定(或多变)?这些问题的答案对于每个企业都是不同的,并且可能会根据网络团队对负载平衡、产品资源和交付成本等问题的决策而改变。

监控 NXDOMAIN 响应

NXDOMAIN 响应清楚地表明出现了问题。对于“胖手指”查询、标准重定向错误和可能超出网络团队控制范围的用户端问题,至少返回一些 NXDOMAIN 是正常的。

IBM 公司最近的全球 DNS 数据报告NS1显示,出于某种原因,3-6% 的 DNS 查询会收到 NXDOMAIN 响应。在“正常”网络设置中,可能会出现处于或接近该范围的任何情况。

当您超过两位数时,可能会发生更大的事情。不过,模式的性质很重要。NXDOMAIN 响应缓慢但稳定地增加可能是一个长期存在的错误配置问题,它模拟了整体流量。NXDOMAIN 的突然激增可能是本地化(但影响很大)的错误配置或 DDoS 攻击。

关键是要密切关注 NXDOMAIN 响应占整体查询量的百分比。偏离规范通常是某事不对的明显标志——然后就变成了为什么不对以及如何解决它的问题。在大多数情况下,更深入地研究异常上升的时间和特征将提供有关其发生原因的线索。

NXDOMAIN 响应并不总是坏事。事实上,它们可能代表着潜在的商机。如果有人试图查询您的域或子域,但结果是空的,这可能表明您应该购买或开始使用该域。

注意内部 DNS 数据的暴露

一种特别令人担忧的 NXDOMAIN 响应类型是由将内部 DNS 区域和记录数据暴露到互联网的错误配置引起的。这种错误配置不仅会产生不必要的查询量,从而影响性能,而且还是一个严重的安全问题。

陈旧的 URL 重定向通常是暴露内部记录的原因。在合并或收购的剧变中,系统有时会指向逐渐消失或被重新用于其他用途的属性。系统仍在公开寻找旧连接,但没有找到预期的答案。工作量越小,就越有可能被忽视。

注意地理

如果您为流量的来源设置标准基线,就可以更轻松地发现异常DDoS 攻击、错误配置,甚至在它们出现时发现更广泛的使用模式变化。特定区域服务器的流量突然增加与整体查询量的更广泛增加是不同类型的问题。按地理位置跟踪您的 DNS 数据有助于确定您面临的问题,并最终提供有关如何处理它的线索。

检查 SERVFAIL 是否配置错误的别名记录

别名记录是错误配置的常见来源,它们本身就值得定期审计。我发现 SERVFAIL 响应的增加——无论是突然激增还是逐渐增加——通常可以追溯到别名记录的问题。

没有错误数据?考虑 IPv6

NXDOMAIN 的响应非常简单——没有找到记录。当您看到返回的响应为 NOERROR 时,事情变得有点微妙,但您也看到没有返回任何答案。虽然没有针对这种情况的官方 RFC 代码,但当应答计数器返回“0”时,通常称为 NOERROR NODATA 响应。NOERROR NODATA 表示已找到记录,但它不是应该存在的记录类型。

如果您看到很多 NOERROR NODATA 响应,根据我们的经验,解析器通常正在寻找 AAAA 记录。如果您收到大量 NOERROR NODATA 响应,我发现添加对 IPv6 的支持通常可以解决问题。

DNS 基数和安全隐患

在 DNS 的世界里,有两种类型的基数需要担心。解析器基数是指查询您的 DNS 记录的解析器数量。查询名称基数是指您每分钟收到查询的不同 DNS 名称的数量。

测量 DNS 基数很重要,因为它可能指示恶意活动。具体来说,DNS 查询名称基数的增加可能表示随机标签攻击或大规模探测您的基础设施。解析器基数的增加可能表明您正成为僵尸网络的目标。如果您突然发现解析器基数增加,则可能表明存在某种攻击。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分