I have a DNS domain and host it on my own server. My desktop PC (Windows XP) is configured to have mydomain.tld
as its primary DNS suffix. Now, when the system tries to resolve any domain - stackoverflow.com
, for example - it tries with the suffix added first, even if the name has periods in it. In other words, it tries stackoverflow.com.mydomain.tld.
before stackoverflow.com.
.
- Is this valid according to DNS standards and common sense?
- Is there anything I can do to prevent it, other than removing the prefix completely? (I still want it to be appended to single-component hostnames. Currently I have two prefixes
.
andmydomain.tld.
configured, but it isn't very fast when resolvingfoohost
.)
1: it is valid
2: no. it is there to help you enter server names locally "short" or with partial domains.
2 in particular is the culprit here. This is a stack function checking all default prefixes. Normally this is a technical non-issue as your prefix will end at your server (as it is authoritateive for the internal domains) and thus never hit the internet. Load and traffic make no real difference either.
Speaking anecdotally, I've seen all sorts of weird XP DNS behavior when troubleshooting problems. I've seen exactly what you describe. You'll probably also see resolution requests for 'stackoverflow.com.tld' in there as well. If you have multiple prefixes listed in the Look Order list in TCP/IP properties you'll see it try to resolve those this way as well. I suspect this is a side effect of "Enable NetBIOS names over TCP/IP" and it's attempt to figure out if 'stackoverflow.com' is a NetBIOS name. It then follows standard DNS resolution once NetBIOS resolution fails.
To answer your question, this is (likely) valid NetBIOS name resolution, followed by valid DNS name resolution. Disabling this would require turning off NetBIOS Names over TCP/IP.
Community wiki response based on @Chris Thorpe's original comment referencing Domain Name Devolution:
In HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient, change UseDomainNameDevolution from 1 to 0.
Seems to me that NETBIOS over TCP IP is not available in Windows Server 2008,so previous methods of trying first non-FQDN, i.e. NetBIOS names, might be unavailable in Windows Server 2008 domains.