I have a couple of local domains resolved to 127.0.0.1
in my /etc/hosts
file. And it was all alright for a period of time but now when I run:
nslookup test.local
It results in:
Server: 192.168.1.3
Address: 192.168.1.3#53
** server can't find test.local: NXDOMAIN
The 192.168.1.3
is our network DNS and it's not supposed to know my local domain test.local
. After a couple of searches I found that /etc/nsswitch.conf
file holds information on the priority of the DNS sources to query by. But there was no problem there! Here's mine:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
So does anyone know why my hosts
file is not included in DNS look-up?
nslookup
only does proper DNS resolution, which is significantly different from the Name Service Switch subsystem that your other applications use; that is to saynslookup
ignores/etc/hosts
and mDNS.To test local resolutions like that, use something that uses NSS.
ping <hostname>
for example. Here's a simple demo based on an/etc/hosts
entry on my network.Note that there are DNS servers and proxies that can factor in an
/etc/hosts
file. In these cases,nslookup
might return a result from a local source.I guess that you want the name resolution from
/etc/hosts
file for the specific host (mysite.com).Another common problem that can cause this behavior is that you may have many entries on the
/etc/hosts
file for the same IP, example:In some implementations, this can cause the name resolution to get handed to DNS. A quick fix, group everything in 1 row
Another common thing I see is where somebody (usually me) reverses the IP address with the hostname in
/etc/hosts
- for example:At first glance, it looks normal... Here is my solution about 50% of the time: