我为许多客户管理数百台服务器。大多数是 SMB 段,每个客户最多有 1 到 3 台服务器。在过去几周里,我在随机域控制器上越来越频繁地收到 DNS 错误,从 2008R2 到 2016。简而言之,DC 不再解析 DNS。最近有几十台服务器发生了这种情况,我还没有找出原因。
奇怪的是,例如,在同一处所,有 2 台虚拟机、2 个域控制器,分别属于 2 家不同的公司,每个公司有 15 个用户。相同的 ISP、相同的路由器、相同的交换机。1 个 DC 运行正常,没有问题,而第二个 DC 无法再解析 DNS:
在服务器 1 上出现问题本地 DNS...但 nslookup 到 8.8.8.8 有效!?:
C:\Users\Administrator>nslookup
Default Server: UnKnown
Address: ::1
> www.google.com
Server: UnKnown
Address: ::1
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
> server 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> www.google.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:4001:81c::2004
172.217.16.68
>
在服务器 2 上没有问题:
C:\Users\Administrator>nslookup www.google.com
Server: localhost
Address: ::1
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:4006:802::2004
216.58.206.132
两者都是单域设置的 AD DC,DNS 配置为公共转发器,DC DNS 仅指向自身。服务器上启用了 IPv4 和 IPv6,但路由器上禁用了 IPv6。过去几个月没有碰过任何这些服务器。
MS 做了什么改变吗?我不记得 DNS 曾经切换到 IPv6……为什么现在要切换?为什么它在一台服务器上可以工作而在另一台服务器上却不行,但它们仍然是相同的(实际上,部署相同,只是针对 2 个不同的域进行了配置)。
答案1
超时可能有两个原因。
- 请求被发送到错误的地址。
- 请求未到达 DNS 服务器,或者由于网络问题,DNS 响应未返回。
用于ipconfig /all
列出 DNS 服务器。如果不同,请更正它们。如果相同,请在服务器和路由器上使用数据包嗅探器来找出发送了哪些数据包。
答案2
本地 DNS 服务器似乎没有监听 IPv6。右键单击 DNS 服务器左侧列表中的服务器,选择“属性”,然后在“接口”选项卡上确保已选中服务器的本地 IPv6 地址或已选中“所有 IP 地址”单选按钮。
如果已选择 IPv6 地址或所有 IP 地址,我会检查出站过滤,以确保网络的防火墙不会限制出站 IPv6 流量。在我管理的网络上,我们会阻止进出防火墙的所有 DNS 流量,但我们的 AD 服务器除外(它们作为内部解析器运行,需要连接到 Quad9 DNS,并且只能访问 9.9.9.9 和 149.112.112.112)。
答案3
您绝对不应该使用公共 DNS 服务器。它不可能知道您的域控制器,也不可能知道哪个服务器是询问有关您的域的任何信息的正确服务器。