My network router is a ZyXEL ZyWall USG 100, which has a built in DNS server. Many Windows computers connect to it and get IPv4 addresses via DHCP. They also are informed of the DNS suffix ("internal") by the router's "Domain Name." Typically this works fine. However, occasionally a Windows (Vista or 7) machine will not be able to resolve the IP address of a machine with domain name "domain-name" in the DNS records. The machine that has the IP address associated with "domain-name" is on and accessible by other Windows computers at this time.
When this happens, it can still resolve the IP address using "nslookup domain-name", but "ping domain-name", "ping -4 domain-name" and browsing to "http://domain-name" fail. Ping "domain-name.internal" works.
I looked at the output from the "ipconfig /displaydns" command on a computer affected with this problem, and I see unexpected IPv6 entries that look like this:
domain-name
----------------------------------------
No records of type AAAA
I can temporarily resolve the problem by restarting the network adapter interface.
At http://technet.microsoft.com/en-gb/library/bb878121.aspx, Microsoft says:
Note: Due to misconfigured DNS servers on the Internet, computers that use both IPv4 and IPv6 might not be able to resolve names and connect to Internet resources. This rare problem occurs when a misconfigured DNS server receives a request to resolve a name to one or more IPv6 addresses (a request for AAAA records). If the DNS server does not support IPv6, the name query fails. The querying node then sends a request to resolve the name to a set of IPv4 addresses (a request for A records). The misconfigured DNS server drops the subsequent DNS query for IPv4 addresses and the entire name resolution attempt fails, resulting in impaired network connectivity for the requesting node. If you are experiencing this problem, ask your Internet service provider to reconfigure their DNS server to accept the subsequent DNS query for A records after failing the DNS query for AAAA records. Alternately, you can temporarily disable IPv6 on the requesting computer. This issue exists on the DNS servers and is common to all computers that use both IPv4 and IPv6.
I think this might be what is happening (I don't have any better ideas).
Does Windows try to look for IPv6 DNS (AAAA) records even when it has not been assigned a routable (not link-local) IPv6 address by the router? Or, does someone have a better idea about what is causing this problem?