DNS problem, nslookup works, ping doesn't

WindowsDns

Windows Problem Overview


I am setting up a development server in my flat. I have set up an Ubuntu DNS server on it and have added the zone weddinglist (just weddinglist - no TLD. It's just an internal domain.)

This works fine on my Ubuntu laptop.

On all my Windows PCs (Vista and XP) I get the following from the command prompt:

C:\Users\Giles Roadnight>nslookup weddinglist
Server:  UnKnown
Address:  192.168.0.40

Name:    weddinglist
Address:  192.168.0.41


C:\Users\Giles Roadnight>ping 192.168.0.41

Pinging 192.168.0.41 with 32 bytes of data:
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.41:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Users\Giles Roadnight>ping weddinglist
Ping request could not find host weddinglist. Please check the name and try again.

My ipconfig:

C:\Users\Giles Roadnight>ipconfig -all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Giles-Desktop
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller
   Physical Address. . . . . . . . . : **-**-**-**-**-**
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::f179:680f:f313:5448%8(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.0.5(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1
   DNS Servers . . . . . . . . . . . : 192.168.0.40
   NetBIOS over Tcpip. . . . . . . . : Enabled

I am pretty sure that I have the DNS set up OK as the nslookup is OK but I can't ping and I can't access webpages at weddinglist.

How can I make ping work for the Windows PCs?

Windows Solutions


Solution 1 - Windows

It's possible that the Windows internal resolver is adding '.local' to the domain name because there's no dots in it. nslookup wouldn't do that.

To verify this possiblity, install 'Wireshark' (previously aka Ethereal) on your client machine and observe any DNS request packets leaving it when you run the ping command.


OK, further investigation on my own XP machine at home reveals that for single label names (i.e. "foo", or "foo.") the system doesn't use DNS at all, and instead uses NBNS (NetBios Name Service).

Using a hint found at http://www.chicagotech.net/netforums/viewtopic.php?t=1476, I found that I was able to force DNS lookups for single label domains by putting a single entry reading "." in the "Append these DNS suffixes (in order)" in the "Advanced TCP/IP settings" dialog

Solution 2 - Windows

I had this problem occasionally when using a multi-label name ie test.internal

The solution for me was to stop/start the dnscache on my windows 7 machine. Open a console as administrator and type

net stop dnscache
net start dnscache

then sigh and look for a way to get a Mac as your principal desktop.

Solution 3 - Windows

I have the same issue with IIS running on my home server, on the client machine a command like ipconfig /flushdns usually solves the problem.

Solution 4 - Windows

I had the same issue. As pointed out by other answers ping and nslookup use different mechanisms to lookup an ip.

Chances are you are trying to ping a machine not on the same domain. When you ping the fully qualified name of the server this should then work.

nslookup works:

PS C:\Users\Administrator> nslookup nuget
Server:  ad-01.docs.com
Address:  192.168.10.20

Name:    nuget.docs.com
Address:  192.168.10.17

Ping fails:

PS C:\Users\Administrator> ping nuget
Ping request could not find host nuget. Please check the name and try again.

Ping works, using FQDN:

PS C:\Users\Administrator> ping nuget.docs.com

Pinging nuget.docs.com [192.168.70.17] with 32 bytes of data:
Reply from 192.168.10.17: bytes=32 time=1ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127

Ping statistics for 192.168.10.17:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

To fix this you will need to alter the DNS setting for the machine and add the DNS suffix to lookup.

  1. Control Panel\Network and Internet\Network Connections
  2. Network adapter -> properties
  3. IPV4 -> Properties
  4. General tab -> Advanced
  5. DNS Tab
  6. Select "Append these DNS suffixes (in order)"
  7. Add the required domain names
  8. Disable, then enable your network adapter (don't do this on a VM, you'll loose your connection, instead try 'ipconfig /renew')

Advanced TCP/IP Settings

Solution 5 - Windows

I think this behavior can be turned off, but Window's online help wasn't extremely clear:

> If you disable NetBIOS over TCP/IP, > you cannot use broadcast-based NetBIOS > name resolution to resolve computer > names to IP addresses for computers on > the same network segment. If your > computers are on the same network > segment, and NetBIOS over TCP/IP is > disabled, you must install a DNS > server and either have the computers > register with DNS (or manually > configure DNS records) or configure > entries in the local Hosts file for > each computer.

In Windows XP, there is a checkbox:

Advanced TCP/IP Settings

[ ] Enable LMHOSTS lookup

There is also a book that covers this at length, "Networking Personal Computers with TCP/IP: Building TCP/IP Networks (old O'Reilly book)". Unfortunately, I cannot look it up because I disposed of my copy a while ago.

Solution 6 - Windows

Do you have an entry for weddinglist in your hosts file? You can find this in:

C:\WINDOWS\system32\drivers\etc

nslookup always uses DNS whereas ping uses other methods for finding hostnames as well.

Solution 7 - Windows

I found a little bug in windows Server 2003 R2 EE. you know that when you specify your IP address in the NIC (network connections), windows tells you that if you dont specify the preferred DNS server, it will put his own ip because it is an DNS server? well it doesn't do that...

I fixed my problem writing the dns adress manually, instead of letting windows do it for me.

Solution 8 - Windows

Try ipconfig /displaydns and look for weddinglist. If it's cached as "name does not exist" (possibly because of a previous intermittent failed lookup), you can flush the cache with ipconfig /flushdns.

nslookup doesn't use the cache, but rather queries the DNS server directly.

It worked for me..

from https://superuser.com/a/507892

Solution 9 - Windows

If you can ping the FQDN, look at how DNS devolution is set up the PC.

Winsock API which MS ping will automatically use the FQDN of the client PC if append primary and connection specific DNS suffix is checked in TCP/IP advanced DNS settings. If the host is in another domain, the client must perform DNS devolution.

Under XP TCP/IP advanced properties DNS, make sure append parent suffixes is checked so that the ping request traverses the domain back to the parent.

Solution 10 - Windows

I think the problem can be because of the NAT. Normally the DNS clients make requests via UDP. But when the DNS server is behind the NAT the UDP requests will not work.

Solution 11 - Windows

I know it's not your specific problem, but I faced the same symptoms when I configured a static IP address in the network adapter settings and forgot to enter a "Default Gateway".

Leaving the field blank, the network icon shows an Internet connection, and I could ping internal servers but not external ones, so I assumed it was a DNS problem. NSLookup still worked, but of course, ping failed to find the server (again, seemed like a DNS issue.) Anyway, one more thing to check. =P

Solution 12 - Windows

FYI - I have been struggling with this issue for the past 3 hours. tried everything, flushing DNS, using a proxy, resetting catalog using netsh and clearing the routes. nothing worked so i decided to give windows restore a try, I did it using a windows cd -> repair -> system restore and it worked ! couldnt find any solutions online so i figured id post it

Solution 13 - Windows

I also encountered this issue. No Windows application (except Chrome) could access the internet. I found it was a duplicate IP on the LAN. I changed the local IP, and everything, including ping, started working again.

I found the problem doing an

IPCONFIG /ALL

and it listed

> IPv4 Address. . . . . . . . . . . : 10.10.0.20(Duplicate)

Solution 14 - Windows

I also had this problem on a Server 2012 R2 VM joined to my local AD domain. I eventually solved the problem by taking the VM off the domain and re-joining it.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser42088View Question on Stackoverflow
Solution 1 - WindowsAlnitakView Answer on Stackoverflow
Solution 2 - WindowsJamie CookView Answer on Stackoverflow
Solution 3 - WindowsNickView Answer on Stackoverflow
Solution 4 - Windowsxx1xxView Answer on Stackoverflow
Solution 5 - WindowsbencView Answer on Stackoverflow
Solution 6 - WindowsStephen DarlingtonView Answer on Stackoverflow
Solution 7 - WindowsjuanView Answer on Stackoverflow
Solution 8 - WindowsNgoboView Answer on Stackoverflow
Solution 9 - WindowsLennyView Answer on Stackoverflow
Solution 10 - WindowsigortcheView Answer on Stackoverflow
Solution 11 - WindowsJeff WardView Answer on Stackoverflow
Solution 12 - WindowsAnton TView Answer on Stackoverflow
Solution 13 - Windowsjames smithView Answer on Stackoverflow
Solution 14 - WindowsbfhdView Answer on Stackoverflow