I've a server with 2 IP's.
- 10.10.1.50 (255.255.255.0)
- 10.10.2.50 (255.255.255.0)
I've also a DC which has it's IP on 10.10.1.30 and has no way to reach 10.10.2.50.
When I ping the server from DC it responds with 10.10.2.50. So I went with the obvious way to deal with it and disabled Round Robin, kept Netmask ordering enabled
dwLogLevel = 00000000
dwDebugLevel = 00000000
dwRpcProtocol = 00000005
dwNameCheckFlag = 00000002
cAddressAnswerLimit = 0
dwRecursionRetry = 3
dwRecursionTimeout = 8
dwDsPollingInterval = 180
Configuration Flags:
fBootMethod = 3
fAdminConfigured = 1
fAllowUpdate = 1
fDsAvailable = 1
fAutoReverseZones = 1
fAutoCacheUpdate = 0
fSlave = 0
fNoRecursion = 0
fRoundRobin = 0
fStrictFileParsing = 0
fLooseWildcarding = 0
fBindSecondaries = 0
fWriteAuthorityNs = 0
fLocalNetPriority = 1
Aging Configuration:
ScavengingInterval = 0
DefaultAgingState = 0
DefaultRefreshInterval = 168
DefaultNoRefreshInterval = 168
But even after Round Robin is disabled and Netmask ordering seems to be correct the wrong result is returned.
LocalNetPriorityNetMask is set to 0x000000ff (255)
so it seems to be set correctly for class C. So why it doesn't work as it should? What am I missing? Both records of the server have same date/time in DNS. I know I could fix it by disabling netmask ordering and changing the times a bit but this will break it for servers that relay on accessing the server via 10.10.2.50 IP address.
Server was rebooted multiple times. Usually after reboot the servers do respond properly with 10.10.1.50. After a while 10.10.2.50 comes into play so DC can't connect to the server.
According to this, they have changed the logic more than one time between OS releases.
You did not mention if you tried this already, which should enable Subnet Priorization on Vista/2008+:
I can see that your flags say that subnet priorization is enabled, so this might be a longshot.