域控制器认为它位于公共网络上

域控制器认为它位于公共网络上

我们有一个 Server 2008 R2域控制器,它似乎忘记了自己处于哪种类型的网络。启动时,(唯一的)网络连接被识别为“公共网络”。

然而,如果我禁用然后重新启用连接,它会很高兴地发现它实际上是域网络的一部分。

这是因为最初确定网络位置时没有启动 AD 域服务吗?

该问题导致 Windows 防火墙规则出现一些问题(我非常清楚可以通过其他方式解决)所以我只是好奇是否有人知道为什么会发生这种情况。

答案1

该连接上有默认网关吗?它会回复 ping 请求吗?

Windows 使用网关来识别网络;如果没有配置网关,或者无法成功 ping 通,它将无法识别它所连接的网络并假定它是一个公共网络。

答案2

无论是网络域控制器被归类为域网络不依赖于网关配置。

NLA(网络位置感知)服务可能会产生错误的网络分类行为starts before the domain is available。在这种情况下,会选择公共或私有网络,并且不会事后进行纠正。

如何检查是否出现此故障情况
当重启后域控制器位于公网时,请重启 NLA 服务或断开/重新连接网络。之后域控制器应该位于域网络中。

如何解决
这可能有助于将 NLA 服务设置为延迟启动。更好的是,检查为什么域需要很长时间才能存在。当有多个网卡时,域似乎需要更长的时间才能启动。

当它没有帮助时
当既不能加快域名加载速度,也不能延迟 NLA 帮助,并且错误是由域名长时间加载引起的(查看:“如何检查……”),那么还可以做一些事情。

  • 编写一个脚本来重新启动它并使用调度程序运行它(危险)
  • 将 NLA 服务的加载移至服务启动结束时,改变注册表中的加载顺序(危险)

    以下注册表项将依赖关系设置为NSI RpcSs TcpIp Dhcp Eventlog NTDS DNS

    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc]
    "DependOnService"=hex(7):4e,53,49,00,52,70,63,53,73,00,54,63,70,49,70,00,44,68,\
    63,70,00,45,76,65,6e,74,6c,6f,67,00,4e,54,44,53,00,44,4e,53,00,00
    
  • 在启动时从调度程序执行“IPCONFIG /RENEW”,延迟 1 或 2 分钟(比启动 NLA 服务更好)

  • 每次重启后手动重新启动 NLA 服务(但:应首选“IPCONFIG /RENEW”)!

另一个原因可能是域控制器配置了两个或多个 IP(在同一个或其他网卡上),但 DNS 中未配置附加网络。

行为再现
在测试域控制器(单个 DC!)上,我删除了默认网关条目,并将 设置为DNS Serverdelayed start这样做后,域需要很长时间才能加载,并且网络被归类为public。断开并重新连接网线后,网络被正确归类为domain network


编辑

Daniel Fisher lennybacon非常感谢和的评论Joshua Hanley

如何将 NlaSvc 的依赖关系添加到 DNS 和 NTDS

从 CMD运行sc config nlasvc depend=NSI/RpcSs/TcpIp/Dhcp/Eventlog/DNS/NTDS(如果在 PowerShell 中运行,请使用 sc.exe)。如果您想在添加 DNS 和 NTDS 之前仔细检查现有依赖关系,请使用sc qc nlasvc

答案3

我在 2008 R2 AD 服务器上也看到过类似的行为。让我困扰的是启用了多个 NIC,即使它没有被使用。一旦我禁用了未使用的 NIC 并重新启动,问题就消失了。

您在这里遇到的确切 Windows 功能称为 NLA(网络位置感知)。我对它了解不多,不足以自称是专家,但我知道互联网上有一些关于它如何工作或应该如何工作的有趣信息。

答案4

我在独立的 2016 Active Directory DS 服务器上遇到了类似事件。服务器显示在公共网络中。最初的症状是使用 NSLookup 对此服务器的 DNS 查找会失败。尝试打开 DNS 管理器导致出现拒绝访问消息。

有 LSA 事件 40960 和 NETLOGON 5781 的系统事件日志。在应用程序和服务日志 > DNS 下记录了 DNS-Server-Service 4000 事件。

这指向了服务器的机器密码。解决方案是停止 KDC、清除列表、重置机器密码并重新启动 KDC。

net stop kdc
klist purge
netdom resetpwd /server:127.0.0.1 /userd:domainname.local\administrator /passwordd:*
net start kdc

生成了随机密码哈希并将其存储在计算机和 Active Directory 中。重新启动后,Active Directory 目录服务功能恢复。建议重新启动。

相关内容