[Dnsmasq-discuss] dnsmasq-2.18: ignoring nameserver 127.0.0.1 - local interface

gypsy gypsy@iswest.com
Fri, 26 Nov 2004 12:49:32 -0800


I am moving this discussion from private Email between me and Simon so
that google searches can find the answer for others with the same
problem.

g>> I cannot believe the answer to this is not in the FAQ or to be found
via google, but it isn't.
g>> 
g>> From the man page:
g>> 'In order to configure dnsmasq to act as a cache for the host on
which it is running, put "nameserver 127.0.0.1" in /etc/resolv.conf to
force local processes to send queries to dnsmasq.  Then [] specify the
upstream servers directly to dnsmasq using --server options'
g>> 
g>> NOPE.
g>> 
g>> No matter what I do in /etc/dnsmasq.conf, dnsmasq always says
"ignoring nameserver 127.0.0.1 - local interface".
g>> gypsy
SK> It looks like the problem is that you read the documemtatiom too
fast,  and you've confused /etc/resolv.conf and /etc/dnsmasq.conf. Put 
127.0.0.1 in /etc/resolv.conf to tell the machine to use itself as the 
nameserver. Then put your ISP's nameservers in /etc/dnsmasq.conf so it 
can forward to them.
SK> 
SK> Cheers,
SK> 
SK> Simon.

I _THINK_ I understand the docs correctly <g>.  Herewith all the facts I
believe are pertinent:
/etc/resolv.conf:
search chsoft.biz
nameserver 127.0.0.1

/etc/dnsmasq.conf:
domain-needed
bogus-priv
filterwin2k
server=206.72.64.80
server=206.72.64.70
address=/doubleclick.net/127.0.0.1
except-interface=eth1
domain=chsoft.biz
local-ttl=86400
bogus-nxdomain=12.158.80.10
bogus-nxdomain=64.94.110.11
log-queries

The linux box has 2 NICs.  eth0 faces the LAN and eth1 faces the
internet.  Its name is ns.chsoft.biz, from which you will correctly
assume that it is the name server.  There is a block of 5 usable IPs and
this machine is on the last usable IP (.158).  It runs axfrdns and
tinydns but *not* dnscache because I believe dnscache is abusive of the
root servers.  I want dnsmasq to provide DNS for the entire LAN,
including itself.

I hope it is safe to ignore the fact that this machine uses proxyARP so
that it listens to all 5 of the external IPs on eth1 and then forwards
to the correct machine via a complex routing table on eth0.   If we have
to "go there", it really complicates this discussion.  It should not be
relevant, but what do I know?!! 

THE PROBLEM:
When I put localhost ("nameserver 127.0.0.1") into /etc/resolv.conf
(refer to the above resolv.conf) and start dnsmasq, dnsmasq reports this
error:
"ignoring nameserver 127.0.0.1 - local interface"

Side note:  a google search finds many instances of this error message.

I cannot figure out how to configure dnsmasq to act as a cache for the
host on which it is running.  Frankly, this is not "a must" because this
Linux box runs only sshd, axfrdns and tinydns.  Nevertheless, I want
this to work. 

Please advise.

gypsy