Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When doing DNS lookups (specifically using nslookup, for some reason most things are not effected) Windows XP Pro SP3 is using the DNS suffix search list for every single one. Even for fully qualified domain names. For example I lookup "www.microsoft.com" but windows actually asks for "www.microsoft.com.eondream.com" (eondream.com is my primary domain). Now I can fix the issue by removing the Primary DNS suffix, but it seems to me that the DNS suffix search list should be for short, invalid names (where dots=0 or something). I'm sure I have a misconfiguration somewhere in windows but I don't know where. I've changed every option I can think of or find.

Below is the output of ipconfig /all and nslookup (with debug & db2 enabled). This is using a static IP & (internal) DNS server.

C:\>ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : frayedlogic
        Primary Dns Suffix  . . . . . . . : eondream.com
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List. . . . . . : eondream.com

Ethernet adapter Wireless Network Connection:

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Dell Wireless 1390 WLAN Mini-Card
        Physical Address. . . . . . . . . : 00-1B-FC-29-EB-6B
        Dhcp Enabled. . . . . . . . . . . : No
        IP Address. . . . . . . . . . . . : 192.168.13.32
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.13.13
        DNS Servers . . . . . . . . . . . : 192.168.19.19
C:\>nslookup
Default Server:  shardik.eondream.com
Address:  192.168.19.19

> set debug
> set db2
> www.microsoft.com
Server:  shardik.eondream.com
Address:  192.168.19.19

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 2, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 1,  authority records = 0,  additional = 0

    QUESTIONS:
        www.microsoft.com.eondream.com, type = A, class = IN
    ANSWERS:
    ->  www.microsoft.com.eondream.com
        internet address = 208.69.36.132
        ttl = 0 (0 secs)

------------
Non-authoritative answer:
Name:    www.microsoft.com.eondream.com
Address:  208.69.36.132

(Note: it resolves to that IP because I use the opendns service and that is their suggestion page or whatever you want to call it) If I am reading the nslookup output correctly then it is not a problem with my DNS server because windows is actually asking for the incorrect domain.

share|improve this question
add comment

5 Answers

up vote 5 down vote accepted

Well, I'm no expert, but here's what I found:

This registry entry works for both Windows XP and Windows Vista

HKLM\Software\Policies\Microsoft\Windows NT\DNSClient\AppendToMultiLabelName
Type = DWORD

Data:

  • 0 (Do not Append Suffix)
  • 1 (Append suffix)

If the registry entry is not present, the default in Windows XP is 1, and 0 in Windows Vista.

Note: This registry changes and its effect apply only to the ping command, they do not apply to the nslookup tool. This is because nslookup contains its own DNS resolver and does not rely on the resolver built into the operating system (DNS Client). The DNS (multi-label) query packets sent by the nslookup tool will append the domains listed in the suffix search order irrespective of the registry key settings mentioned here.

Reference: http://blogs.technet.com/networking/archive/2009/04/16/dns-client-name-resolution-behavior-in-windows-vista-vs-windows-xp.aspx

share|improve this answer
    
It doesn't affect nslookup, but it affects every program that uses DNS Client, which includes programs like your web browser. –  RyanTM Jul 13 '10 at 23:06
    
Such a great answer, I've had this problem so often in the last years. Thanks again. –  mark Dec 23 '11 at 11:19
add comment

Sorry to revive a clearly old question, but it seems no one suggested the obvious answer of forcing a fqdn. Just use a trailing dot to force top level lookup. So in this example lookup www.microsoft.com..

share|improve this answer
add comment

This is a late answer but very useful.

See, I had the same problem.

The reason was that the domain controller was installed as part of a domain and than removed from that domain. For instance domain 'cloud' as subdomain for "mydomain.com"

Every DNS related action like nslookup resulted in an address whit the suffix ".mydomain.com"

So nslookup www.google.com showed up as www.google.com.mydomain.com.

Work arround:

Go to your networkcard IP-settings and click 'advanced'. Click on the DNS-tab and check the "Append these DNS suffixes (in order)"

Add two suffixes: '.' and 'mydomain.com.

Click 'ok'.

This works direct. Also for al the NIC's on that system. This must be done for all the members systems of the domain.

Good luck

share|improve this answer
add comment

look to see if you have a domain name defined in your Router/Gateway. enter image description here

share|improve this answer
add comment

the DNS suffix search list should be for short, invalid names

No, the suffix search is for all names. What should be happening is that it tries the name as given first, and then add the suffix if the first lookup fails.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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