windows 7 - Can ping IP address and nslookup hostname but cannot ping hostname
2014-04
I have a DNS server set up on one of my machines using BIND 9.7 Everything works fine with it. On my Windows 7 desktop, I have statically-assigned all network values. I have one DNS server set -- my DNS server. On my desktop,
I can ping a third machine by IP fine.
I can nslookup the hostname of the third machine fine.
When I ping the hostname, it says it cannot find the host.
/
C:\Users\James>nslookup icecream
Server: cake.my.domain
Address: xxx.xxx.6.3
Name: icecream.my.domain
Address: xxx.xxx.6.9
C:\Users\James>ping xxx.xxx.6.9
Pinging xxx.xxx.6.9 with 32 bytes of data:
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Reply from xxx.xxx.6.9: bytes=32 time<1ms TTL=255
Ping statistics for xxx.xxx.6.9:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\Users\James>ping icecream
Ping request could not find host icecream. Please check the name and try again.
I have also specified the search domain as my.domain
- xxx.xxx and my.domain substituted for security
Why can I not ping by hostname? I also can not ping using the FQDN. The problem is that this problem is shared by all applications that resolve hostnames. I cannot use PuTTY to SSH to my machines by hostname; only by IP
You could try editing your hosts file. Put there the hostnames and ip-adresses of your other machines. If thats not working try this: Your Router should be able to handle dns-tables for itself. Try to temporarly shut down your dns-server and clear all dns caches on all machines. Then restart your router and try it again.
I faced the same problem in my network. When you use this command:
ping icecream
It uses WINS server since you have used icecream
not icecream.my.domain
.
When looking for such words, Windows looks for NETBIOS names, but when you look for complete domain records, it will look in the DNS server. You can use one of the solutions below:
- Make sure you have correct records for that station in your WINS server.
- Use the complete domain name instead of using the host file. E.g.
icecream.my.domain
You don't have DNS suffixes configured. Either configure them, or use FQDN like this and it should work:
ping icecream.my.domain
I'm looking for a permanent solution to this problem. I don't just have a problem with ping icecream
, but also ping icecream.my.domain
. It doesn't happen all the time, just randomly on one computer. ipconfig /flushdns
fixes it sometimes and rebooting work as well, but it's not a permanent solution.
I just tried this:
Based on this:
To disable this behaviour, disable Negative Caching by setting the value of NegativeCacheTime to 0 at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ Dnscache\Parameter
added entry to /etc/hosts
127.0.0.1 testjd.com
can ping ok
ping testjd.com
PING test.com (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.100 ms
but nslookup (and apache2 config) can't resolve the new name...
nslookup testjd.com
;; connection timed out; no servers could be reached
sudo /etc/init.d/apache2 reload
[error] (EAI 2)Name or service not known: Could not resolve host name > -- ignoring!
note: cat /etc/host.conf
order hosts,bind
multi on
what i ultimately want to achieve is for my apache2 config to be able to resolve the new local name (note: i configured a virtualhost for testjd.com, but i can't get past the "resolve host name" problem shown above)
thanks.
This is because the nslookup
command works with a DNS, and your DNS can't find testjd.com. You can use the host
command instead, which will interact with your hosts file.
john@awesome:~$ host localhost localhost has address 127.0.0.1 localhost has IPv6 address ::1
To use both the hosts
file and a DNS Server, use getent
. For example:
getent ahosts <hostname>
Notes:
- As John T answered,
nslookup
will use a DNS server and the/etc/hosts
file is not a DNS server - DNS configuration can be found in
/etc/resolv.conf
- Name service (including the
hosts
file) can be found at/etc/nsswitch.conf