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

Mat*_*ner 36 networking domain-controller windows-server-2008-r2

我们有一个 Server 2008 R2域控制器,在确定它所在的网络类型时,它似乎健忘。(唯一的)网络连接在启动时被标识为“公共网络”。

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

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

这个问题导致了 Windows 防火墙规则的一些头痛(我非常清楚可以通过其他方式解决)所以我主要只是想看看是否有人知道为什么会发生这种情况。

mar*_*gle 64

是否一个的网络的域控制器被归类为域网络不依赖于所述网关的配置。

错误的网络分类行为可能会导致NLA(网络位置感知)服务starts before the domain is available。在这种情况下,选择公共或专用网络,之后不会更正。

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

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

当它没有帮助
时当既没有加速域的加载也没有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
    
    Run Code Online (Sandbox Code Playgroud)
  • 在启动时从调度程序执行“IPCONFIG /RENEW”,延迟 1 或 2 分钟(比启动 NLA 服务更好)

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

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

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


编辑

从感激的意见Daniel Fisher lennybaconJoshua Hanley

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

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

  • 我将 NlaSvc 的依赖项添加到 DNS 和 NTDS。像魅力一样工作。 (4认同)
  • 这是对 Azure 中的辅助/备份域控制器(通过 VPN 连接到本地 DC)始终卡在专用网络位置并且在重新启动 NLA 后正确解析到域网络的情况的答案。我已更改延迟启动并解决了我们的问题。 (2认同)
  • 这里有关于 NLA 的 MS 博客 https://blogs.technet.microsoft.com/networking/2010/09/08/network-location-awareness-nla-and-how-it-relates-to-windows-firewall-profiles / (2认同)
  • 要执行@DanielFisherlennybacon 所做的操作,请从 CMD 运行“sc config nlasvc Depend=NSI/RpcSs/TcpIp/Dhcp/Eventlog/DNS/NTDS”(如果在 PowerShell 中运行,请使用 sc.exe)。如果要在添加 DNS 和 NTDS 之前仔细检查现有依赖项,请使用“sc qc nlasvc”。 (2认同)

Mas*_*imo 18

您在该连接上有默认网关吗?它是否回复 ping 请求?

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

  • 明白了 - 无意中打开了 IPv6,所以它一定是在尝试通过 v6 找到网关。关闭它,它工作正常。 (13认同)
  • 这绝对是错误的。在域控制器上,防火墙状态不受默认网关的影响。 (3认同)