目前,我正在努力解决一个问题,该问题导致我们的一台服务器在不规则的时间间隔内失去 DNS 访问权限。症状是,几分钟内,对 nslookup 的任何调用都会失败,并显示以下错误消息:
C:\> nslookup –vc dc.domain.loc
Server: UnKnown
Address: 192.168.12.11
*** dc.domain.loc wurde von UnKnown nicht gefunden: Unspecified error.
但是,nslookup 似乎在没有“虚拟通道”选项的情况下也能正常工作:
C:\> nslookup dc.domain.loc
Server: dc.domain.loc
Address: 192.168.12.11
Name: dc.domain.loc
Address: 192.168.12.11
在这种状态下几分钟后,服务器似乎恢复了,并且再次使用“-vc”选项调用 nslookup。
您知道这个问题的根源在哪里吗?
感谢您的任何建议,并致以最诚挚的问候
帕斯卡
答案1
我们最近也遇到了这个问题,在我们这个周末修补了服务器之后。我们的一台运行 Windows 2008 R2 的 Exchange 2010 服务器完全失去了 DNS 解析能力,即使配置了冗余 DNS 服务器也是如此。与服务器之间的所有其他 IP 和协议连接都正常。
重新启动 DNS 客户端服务未能解决问题。
我们在服务器上添加了 2 个额外的 NIC,一旦我们将 DNS 服务器添加到 #2,DNS 解析就开始工作了。DNS 服务器是本地的,并且通过 WAN 连接 Windows 2003 R2 域控制器。
这显然不是一个永久性的解决方案,但它确实有效。
您是否发现重新启动可以解决问题,但只是暂时的?
答案2
我早该意识到这一点。这不是 DNS 问题,而是所有 TCP 连接在某个时候停止工作。但是,UDP 仍然完全正常工作。这就是为什么 nslookup 只有在启用“-vc”选项时才会失败。问题是临时端口耗尽。服务器托管 Citrix 并从 2003 安装升级。早在 Server 2003 中,使用“MaxUserPort”在注册表中设置了最大临时 TCP 主机数量 - 我们的服务器就是这种情况。然而,在 2008 年,需要使用 netsh 设置该范围。我扩大了可用 TCP 插槽的范围,并使用“TcpTimedWaitDelay”缩短了它们的使用寿命,从那以后我们就没有遇到任何问题了。