具有 DNSSEC 验证中断特定域的 Windows DNS 服务器

具有 DNSSEC 验证中断特定域的 Windows DNS 服务器

我最近在 Active Directory 环境中的内部 DNS 服务器上启用了 DNSSEC 验证。一切都运行正常,直到几天后我注意到我无法访问某个域,而且只能访问这个域。起初我以为是 DNSSEC 配置不当,但事实证明这个域甚至没有启用 DNSSEC。

因此我开始查看日志等,但什么也没找到。

如果我启用 DNSSEC 并针对此域执行 nslookup,它将工作大约 1-2 分钟。之后我收到以下消息:

PS C:\> nslookup xxxxxxxxxx.sn.mynetname.net 192.168.1.5
Server:  internal-dns.domain.local
Address:  192.168.1.5

DNS request timed out.
    timeout was 2 seconds.
*** Request to internal-dns.domain.local timed-out

下次尝试我得到这个:

PS C:\> nslookup xxxxxxxxxx.sn.mynetname.net 192.168.1.5
Server:  internal-dns.domain.local
Address:  192.168.1.5

*** internal-dns.domain.local can't find xxxxxxxxxx.sn.mynetname.net: Server failed

我已经清除了所有地方的 DNS 缓存,如果我重新启动 DNS 服务,它会再次开始工作 1-2 分钟,之后我再次收到相同的错误。

我接下来想到的办法是检查这个域名的域名服务器。我唯一能找到的是它们没有打开 TCP 端口 53,但这不应该是问题。两个域名服务器的 PTR 相同,但这也不应该是问题。根据https://dnsflagday.net/

我对此感到疯狂,出于这个原因我不得不禁用 DNSSEC 验证。

我在排除故障时发现的另一个疯狂的事情是,如果你nslookup在 Windows 机器上使用并向名称服务器询问特定域,你会得到同样的错误。看看这个。

这没问题:

PS C:\> nslookup google.com ns1.google.com
Server:  ns1.google.com
Address:  216.239.32.10

Name:    google.com
Addresses:  2a00:1450:400f:80d::200e
          216.58.211.14

但是如果您nslookup先输入并更改其中的名称服务器,它将不起作用:

PS C:\> nslookup
Default Server:  internal-dns.domain.local
Address:  192.168.1.5

> server ns1.google.com
Default Server:  ns1.google.com
Addresses:  2001:4860:4802:32::a
          216.239.32.10

> google.com
Server:  ns1.google.com
Addresses:  2001:4860:4802:32::a
          216.239.32.10

*** ns1.google.com can't find google.com: No response from server

我在多台 Windows 10 计算机和多台 Windows Server 2012 和 2016 计算机上尝试了此操作,得到了相同的结果。我不知道这是否与我的 DNSSEC 验证问题有关,但我认为值得一提。我还可以提一下,nslookup如果您安装了适用于 Windows 的 BIND 工具并使用该版本,则可以在 Linux 计算机上毫无问题地执行此操作nslookup

有谁知道可能是什么问题?

这里有人可以使用启用了 DNSSEC 验证的 Windows DNS 服务器查找该域名吗?

相关内容