如何确保成员服务器 DNS 客户端(dnscache)在其 hyper-v 域控制器启动之前不会初始化?

如何确保成员服务器 DNS 客户端(dnscache)在其 hyper-v 域控制器启动之前不会初始化?

我有一台笔记本电脑,其配置如下:

  1. 笔记本电脑是运行 Hyper-V 的 Server 2008 R2 成员服务器,通过无线适配器连接到互联网
  2. 一台虚拟机是配置为作为域控制器和 DNS 服务器运行的 Server Core 2008 R2;它有一个位于机器内部的虚拟 NIC
  3. 主机笔记本电脑是该域的成员
  4. 运行 Windows XP 的几台虚拟机来测试各种 Web 浏览器版本;每台机器都设置了两个虚拟网卡:一个连接到隔离域,一个连接到桥接互联网连接根据以下网站

一切都运行良好,除了有时在启动时我无法让 DNS 解析(即主机启动,域控制器启动,我可以从主机 ping IP 地址到虚拟域控制器,但我无法通过域名 ping 域)。

我尝试了以下方法:

  1. 禁用并重新启用网络适配器、网桥等
  2. 各种命令,包括“ipconfig /flushdns”
  3. 1 和 2 的组合
  4. 在hosts文件中输入域名(由于Win2k8 R2的安全性增强,强制将域名解析到dns,所以这个方法不起作用)
  5. 重启后重新启动 dnscache 服务。

解决方案 #5 相当成功;但是,它也开始失败。通常,只需重新启动一次,然后重新启动 dnscache 服务,我的 dns 解析就会再次正常工作(即,我可以 ping 我的域名)。

任何帮助都将不胜感激;解决方案将使我每天的启动时间减少约 15 分钟。

答案1

由于 DC 依赖于笔记本电脑的启动和笔记本电脑上运行的 Hyper-V,所以我不知道如何优雅地解决这个问题。

您可以尝试将 DNS 客户端服务设置为“自动(延迟启动)”设置,假设 Hyper-V 作为服务运行并设置为“自动启动”。这可能会让 DC 在笔记本电脑上的 DNS 客户端启动之前有时间启动。但我不敢保证这会奏效。

答案2

您的主机操作系统听起来好像有两个已填写 DNS 的 NIC。当它无法与来宾 DNS 服务器通信以进行解析时,它将跳转到其列表中的下一个 DNS 服务器并坚持使用该服务器,直到重新启动或服务重新启动,如您所见。我敢打赌,“下一个 DNS 服务器”是您 wifi 上 DHCP 分配的服务器。它不再解析您的内部 AD,因为它不再使用您的内部 DNS 服务器解析,并且您的外部 DNS 现在不了解您的内部主机。

您可以尝试将两个适配器上的 DNS 静态分配给 AD DNS 服务器。这样,当您的 DNS 服务器无法解析时,它不会切换到外部 DNS 服务器。

更好的选择:我宁愿将我的 Hyper-V 主机升级为 DC 和 DNS 服务器,这样三个角色可以很好地协同运行。这样您的 DC/DNS 总是首先启动。

答案3

我想我可能找到了。我添加了依赖项通过注册表将 dnscache 服务添加到 Hyper-V 服务 (vmms)。

一次重启即可。需要等待几天才能算成功。

更新

运行良好。启动时间甚至更快(我猜是因为启动 AD 连接不会超时)。

更新 2

它偶尔会再次出现同样的行为。我添加了其他两个 hyper-v 服务 (vhdsvc 和 nvspwmi) 作为依赖项,然后又回到了正轨。

更新 3

啊!还是不稳定。我刚刚添加了一个依赖项,使服务以“自动(延迟)”启动:wuauserv(Windows 更新)。似乎 3 天后就可以正常工作了。

相关内容