DFS Namespaces DNS and NetBIOS Name Resolution

I have a Windows Domain which hosts a number of DFS Namespaces in an environment which has DNS servers only (the clients are Windows 7+ and NetBIOS is not disabled on them).

Example

Domain: andshrew.com DFS Namespace: andshrew.com\Files

I have an situation in that in many instances these have been referred to using the NetBIOS name only (ie. \\andshrew\Files) rather than the FQDN, and as a result of this (I believe) there is often a slowness associated with accessing these links for the first time. Accessing the FQDN (ie. \\andshrew.com\Files) is always near instant.

From the testing I have done I believe this is due to the use of the NetBIOS name, and any connecting clients are essentially sending out a broadcast to discover the address of these when they are first accessed. In my testing I have disabled NetBIOS on the network adapter and these then become completely inaccessible which I think confirms this to be the case.

Changing these references to use the FQDN is going to be challenging, so I've tested an idea to create a CNAME record in our DNS with the same name as the Domain pointing back to the Domains FQDN.

CNAME andshrew.andshrew.com which resolves to andshrew.com

The idea being that when a client accesses \\andshrew\Files their DNS client will try a search which automatically appends the Domains FQDN which then resolves to the Domains FQDN.

I've tested this and it seems to work, but is doing this a fundamentally bad idea? Is there anything which I am overlooking (eg. can NetBIOS lookups take precedence over DNS in Windows Explorer)? Obviously the end-game is to get everything correctly referring to the FQDN but until then I'm hoping this would resolve the slow NetBIOS lookups.

Are there any other suggestions for how I could resolve this?

Thanks

Andrew


Solution 1:

We have been doing this exact same thing for about six years now (CNAME the short name to the domain), with no apparent ill effects.

Name resolution on Windows is a maze of twisty passages, so figuring out exactly how any given component might try to look up a name (or trying to change/control that) is very difficult.

If you don't want to use NetBIOS, you may want to consider disabling NetBIOS-over-TCP on every adapter, everywhere. Otherwise NetBIOS will tend to pop up unexpectedly and confuse things. Alternatively, if you still want NetBIOS for whatever reason, I'd recommend setting up a WINS server.