我在实验室环境中使用 VirtualBox,虚拟机运行各种版本的 Windows。有一件事一直发生,我不知道为什么(以前从未在我的 VMware 服务器上见过)虚拟机之间的 DNS 连接会丢失。我可以nslookup并且可行,但是平不会,并且没有其他应用程序能够解析另一个 VM。这种情况发生在启动时,或者在 VM 运行时随机发生。修复它的唯一方法是:
net stop dnscache
net start dnscache
现在,我认为这要么与 VirtualBox 有关,要么与我正在克隆虚拟机有关(我确实为每个新虚拟机随机化了 MAC)。有人见过这种情况吗?
答案1
我真的怀疑 VirtualBox 出了问题。您在客户操作系统中的某个服务遇到了问题。
VirtualBox 唯一可能出错的地方可能是短暂的网络中断 - 但我对此表示怀疑。这类错误会在社区中引起注意。我的想法之一是您的客户无法获得响应,并且可能进行负面缓存。这意味着 Windows 正在缓存负面响应。我的建议是减少您的负面缓存时间:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters\NegativeCacheTime (DWORD)
尝试将其设置为 0,以完全禁用它,看看问题是否会再次出现。我的印象是,不知何故你无法获得所有答案,负面回应会被缓存。
要尝试进一步调试,您可以使用:
ipconfig /displaydns
在发生中断时。您还可以将其传送到您尝试解析的特定名称,并找出缓存的内容:
ipconfig /displaydns | findstr mydomain.com
希望这可以帮助。