Unexpected resolver behavior

Uwe Doering gemini at geminix.org
Fri Feb 18 08:36:01 GMT 2005

Jamie Ostrowski wrote:
>     I'm running 4.10-p5 on my workstation at home, and I can't understand
> why I cannot get www.foo.com to resolve to an IP I am specifying in
> /etc/hosts (I want to over-ride the IP returned by the nameserver I query
> by default).
> in /etc/hosts:
> 199.xx.xx.24	www.foo.com.
> in /etc/host.conf:
> # $FreeBSD: src/etc/host.conf,v 1.6 1999/08/27 23:23:41 peter Exp $
> # First try the /etc/hosts file
> /etc/hosts
> # Now try the nameserver next.
> bind
> # If you have YP/NIS configured, uncom
> (I have no nsswitch.conf file in /etc)
> But when I try to resolve www.foo.com from the command line, I am getting
> the IP address from the nameserver from the outside world rather than the
> IP from /etc/hosts. I am not running a local named on this machine,
> either. Any ideas?

Only programs that use gethostbyname(3) and friends (system library 
functions) can be expected to take heed of '/etc/host.conf', and 
therefore '/etc/hosts'.

Now, the utility commands that are part of the Bind package, like 
'host', 'nslookup' etc., talk to the DNS server directly and ignore what 
you have in '/etc/hosts'.  This can also be true for some applications 
(MTAs come to mind) that have their own DNS query code because they need 
DNS information that is not available through system library functions.

Uwe Doering         |  EscapeBox - Managed On-Demand UNIX Servers
gemini at geminix.org  |  http://www.escapebox.net

More information about the freebsd-questions mailing list