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?
Causes: This issue is typically caused by a problem with domain name server (DNS) resolution because the Internet service provider's DNS servers are unavailable or a problem with the security software (usually a firewall) running on the computer which is attempting to access the Internet.
nslookup consults only the DNS server configured, while ping -a uses additional methods like NETBIOS to resolve the name. If both computers are in the same network segment, they use broadcast messages to exchange host names without a DNS server, so ping -a works and nslookup doesnot.
Hostnames are still resolved through DNS, after that ping uses ICMP for the actual communication. You can try changing the DNS configs to invalid servers and see that ping won't work with hostnames.
ping is making a dns query (A record) to the configured dns server (as there is no entry for this host in /etc/hosts file) everytime the command is run. the google dns server is returning multiple ips in different order.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With