We have a Server 2008 R2 Primary Domain Controller that seems to have amnesia when it comes to working out what kind of network it is on. The (only) network connection is identified at startup as a 'Public Network'.

Yet, if I disable and then re-enable the connection, it happily figures out that it is actually part of a domain network.

Is this because AD Domain Services is not started when the network location is initially worked out?

This issue causes some headaches with Windows Firewall Rules (which I am more than aware can be solved in other ways) so I am mostly just curious to see if anyone knows why this happens.

  • 12
    Please, repeat with me: "there is no Primary Domain Controller, and there has never been since Windows 2000". – Massimo Feb 21 '12 at 20:35
  • 5
    My sincere apologies. Web Developer having to look after a Windows Network! – Matt Renner Feb 21 '12 at 20:40
  • Just to add some additional information for this frustrating issue: blogs.technet.com/b/networking/archive/2010/09/08/… and there is a hotfix for Windows 7 and 2008 R2 support.microsoft.com/en-us/kb/2524478 – Lee Thompson May 14 '15 at 16:52
  • How many domain controllers do you have? When we do maintenance sometimes techs reboot both our domain controllers at the same time! which is not very intelligent (even though its the middle of the night) when you can just stagger the reboots to keep all services up and running. – Brian D. Jan 3 '17 at 17:02
up vote 16 down vote accepted

Do you have a default gateway on that connection? Does it reply to ping requests?

Windows uses gateways to identify networks; if it doesn't have a gateway configured, or if it can't succesfully ping it, it will not be able to identify the network it's connected to and will assume it's a public one.

  • We do - The gateway is also a Server 2008 R2 Machine running Forefront Threat Management Gateway, which the DC can ping. – Matt Renner Feb 21 '12 at 20:39
  • Does your DC have more than one NIC installed and in use?? – John Homer Feb 21 '12 at 20:43
  • Nope, just the one. – Matt Renner Feb 21 '12 at 20:45
  • 12
    Got it - inadvertently had IPv6 turned on so it must have been trying to find the gateway through v6. Turned that off and it works fine. – Matt Renner Feb 21 '12 at 22:12

Whether the network of a domain controller is classified as domain network doesn't depend on the gateway configuration.

The behaviour of a false network classification can be caused the NLA (network location awareness) service starts before the domain is available. In this case the public or private network is chosen and not corrected afterwards.

How to check if this fault situation is given
When the domain controller after rebooting is in the public network, restart the NLA service or disconnect / reconnect the network. The domain controller should be in the domain network afterwards.

How to solve it
It may help to set the NLA Service to delayed start. Better, check why the domain needs long to be present. It seems that the domain needs longer to start when there are multiple network cards.

When it doesn't help
When neither speeding up the loading of the domain nor the delay of NLA help and the error is caused by the long loading of the domain (look: "how to check..."), then there are some more things that can be done.

  • Write a script for restarting it an run it with the scheduler (dangerous)
  • Shift the loading of the NLA service to the end of the service starts, changing the load order in the registry (dangerous)

    The following Registry entry sets the dependencies to 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
    
  • Execute "IPCONFIG /RENEW" from scheduler at startup with a delay of 1 or 2 minutes (better than starting NLA service)

  • Restart the NLA service manually after every reboot (but: "IPCONFIG /RENEW" should be preferred)!

One more cause can also be when the domain controller has two or more IPs configured (on the same or on other network cards) and the additional networks aren't configured in the DNS.

Reproduction of the behaviour
On a test domain controller (single DC!) I deleted the default gateway entry and set the DNS Server to delayed start. Doing this the domain needed long to get loaded and the network was classified as public. After disconnecting and reconnecting the network cable, the network was classified correctly as domain network.

  • 2
    This is the answer to our situation where a secondary / backup domain controller in Azure (connected via VPN to on-premises DC), was consistently stuck on the private network location and after restarting NLA it resolved correctly to domain network. I've made the change to delay start and it resolved our issue. – Jaans May 30 '15 at 12:14
  • 1
    This worked for me! Had this problem for months now and finally decided to figure it out. – notbad.jpeg Jun 30 '15 at 2:34
  • 1
    here MS blog with info about NLA blogs.technet.microsoft.com/networking/2010/09/08/… – Tilo May 10 '17 at 18:14
  • 1
    I added a dependency for NlaSvc to DNS and NTDS. Works like charm. – Daniel Fisher lennybacon Nov 20 '17 at 10:17

I've seen similar behavior standing up a 2008 R2 AD server. The thing that got me was having more than one NIC enabled, even though it wasn't in use. Once I disabled the unused NICs and rebooted, the problem went away.

The exact windows feature you're up against here is called NLA (Network Location Awareness). I don't know enough about it to claim to be an expert, but I know there's some interesting information out there on the intertubes about how it all works, or is supposed to work.

After installing a new domain controller, you may find that the "WINDOWS FIREWALL" does not get set properly to "DOMAIN: ON". This is a result of bad installation defaults provided by Microsoft. To fix this, clear the IP6 DNS settings on the network connection from "::0" back to automatic. Also, clear the IP6 Forwarders from the DNS server.

protected by kasperd Oct 22 '16 at 13:48

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.