名称解析暂时失败,影响大多数公共流量

名称解析暂时失败,影响大多数公共流量

我们的一个域名出现了一个奇怪的问题,这个问题已经持续了 15 多个小时了。这个域名在全国很多地方都无法解析。我尝试在几个不同的 Linux 服务器上 ping 它,结果如下:

example.com: Temporary failure in name resolution

不过,问题并不局限于地理区域。全国各地的人现在都告诉我,他们也无法 ping 通该域名。然而,有些人ping 域名并可以正常访问。

最后,有人向我推荐了这个网站:https://dnschecker.org/ip-blacklist-checker.php

当我尝试解析域名时,显示“已列入黑名单?”除了这个之外的所有内容:dnsbl.spfbl.net

当我单击错误时,它显示以下内容:

未找到 rDNS。

由于没有有效的 FCrDNS,此 IP 已被标记。

为该IP注册一个有效的rDNS,指向同一个IP。

rDNS 必须在您自己的域下注册,您才能将其删除。

我想不出是什么原因造成的,也不知道该如何解决。据我所知,该域的 A 记录不指向静态 IP,因为它经过 Cloudflare 负载平衡器。我认为这可能是 Cloudflare 的问题,我们将其用作名称服务器。然而,他们的门户网站昨天没有显示任何信息,今天早上也没有显示任何相关信息。

我们发现的唯一解决方法是手动更改首选 DNS 服务器。例如,Google 和 OpenDNS 无法解析该域名。在 dnsblacklist.org 上,12 个 DNS 解析器中有 7 个无法解析该域名。Cloudflare 和其他 4 个解析器可以成功解析该域名。如果我们1.1.1.1在服务器上将首选 DNS 服务器更改为手动,现在它们就可以 ping 通该域名了。

问题是,显然,我们所有的公共用户都不会这样做。您对到底发生了什么有什么想法吗?我最近没有对域记录进行任何更改,这不会影响我的其他任何使用 Cloudflare 作为名称服务器的域。无论该地址上的流量是否通过 Cloudflare 代理,此问题都会影响此域上的所有子域以及主域。

更新:

另一个域名:

在此处输入图片描述

有问题的域名:

在此处输入图片描述

答案1

如果你去https://dnsviz.net/d/phreaknet.org/X44olg/dnssec/现在,你会发现你的域名至少有 6 个虚假错误和 3 个错误。换句话说:DNS 层出了大问题:

phreaknet.org 的 DNSViz 报告于 2020-10-20 00:00:22 UTC

我不知道您使用过哪些服务,但显然它们没有注意到 DNSSEC 问题,因此它们并不好。使用dnsviz.net,它经过尝试并且值得信赖。

正如评论中所说,DNSSEC 通常是“它在那里有效,但在那儿无效”的根源,因为如果它被破坏,它只会被验证解析器视为被破坏,而验证解析器并不是所有的解析器。此外,DNSSEC 中有许多边缘情况,可能会导致一个解析器接受答案,而另一个解析器不接受。

您将需要解决所有这些问题。

DS首先彻底删除 DNSSEC,除非您确定掌握它。这意味着前往其当前赞助的注册商(whois 中显示的 Namecheap)并找到删除注册中心中您域名的记录的方法。

完成后您需要等待。需要等待多长时间?

.ORG 权威域名服务器发布您的DS记录,TTL 为一天:

$ dig org. NS +short
b2.org.afilias-nst.org.
b0.org.afilias-nst.org.
a2.org.afilias-nst.info.
a0.org.afilias-nst.info.
d0.org.afilias-nst.org.
c0.org.afilias-nst.info.
$ dig @d0.org.afilias-nst.org. DS phreaknet.org +noall +ans
phreaknet.org.      1d IN DS 2371 13 2 (
                1AE4B3ECD5282A0A412E6792B60855C39D9166F94703
                980CCECB740EAAD501A9 )

因此,您需要等待该记录消失后至少一天(这可能发生在您要求注册商删除该记录后的某个时间)。

一旦DS记录消失至少 1 天,请再次进行 DNSviz 检查,看看是否还有其他问题。但很可能只要这样做,您就已经解决了所有问题。

或者,您应该要求您的 DNS 提供商帮助您解决域上的 DNS 相关问题。特别是因为核心问题是: "RRSIG phreaknet.org/DNSKEY alg 13, id 2371: The Signature Expiration field of the RRSIG RR (2020-10-18 21:55:18+00:00) is 1 day in the past."这意味着您的 DNS 提供商未更新您域上的签名,或者您自己没有按照DSDNS 提供商的指示更改注册表中的记录以使用另一个密钥,而您却没有这样做。此签名最近过期解释了为什么您在大约一天前开始收到问题报告。

如果您的 DNS 提供商可以使用当前密钥在所有记录上重新生成有效签名,那么一切将再次正常运转,而无需删除注册表DS。但您还需要等待,尽管等待时间会短得多,因为签名的 TTL 似乎是 1 小时或 5 分钟:

$ dig phreaknet.org SOA +dnssec +cd +noall +ans
phreaknet.org.      1h IN SOA donna.ns.cloudflare.com. dns.cloudflare.com. (
                2035213272 ; serial
                10000      ; refresh (2 hours 46 minutes 40 seconds)
                2400       ; retry (40 minutes)
                604800     ; expire (1 week)
                3600       ; minimum (1 hour)
                )
phreaknet.org.      1h IN RRSIG SOA 13 2 3600 (
                20201021011353 20201018231353 34505 phreaknet.org.
                bxVvIlM7M5tlKDLsRUSj2LSpNrvkv4DlZnzi+AfKFkP7
                1GuzfyOJmNlpQK+eD8j+kigLcBXUEkbO66rY76QWtA== )
$ dig phreaknet.org A +dnssec +cd +noall +ans
phreaknet.org.      5m IN A 104.18.57.190
phreaknet.org.      5m IN A 104.18.56.190
phreaknet.org.      5m IN A 172.67.175.181
phreaknet.org.      5m IN RRSIG A 13 2 300 (
                20201021011314 20201018231314 34505 phreaknet.org.
                BCZjG6JZfJqERRBOZ9DP50OBXzUhCdQ777EoElWv52oU
                xRRWw+I1e/ok3a5V2h1gt/OBLVVwlRFQhALk2rclSA== )

关于上述内容,还有以下有用的说明:

  • 您需要+dnssec查看RRSIG记录以及它们的 TTL(否则默认情况下不会显示它们,因为它们本身毫无用处……除了解决与 DNSSEC 相关的问题)
  • 您绝对需要+cd该标志,该标志请求不执行 DNSSEC 验证,否则这些查询可能会SERVFAIL因为 DNSSEC 配置已损坏而返回。是DNSSEC+cd最重要的标志:“在没有它的情况下执行查询,然后使用它重做相同的查询并得到答复”意味着在 99.999% 的情况下,您的问题仅与您域上的 DNSSEC 配置有关。digSERVFAIL

相关内容