Comment 115 for bug 959037

Revision history for this message
Thomas Hood (jdthood) wrote :

Yes, the 127.0.1.1:53 solution works so long as dnsmasq and others are run in bind-interfaces (or equivalent) mode.

NM-dnsmasq currently (12.04) listens at 127.0.01:53 which prevents others from listening on either ALL:53 or lo:53, i.e., 127.0.0.1:53. The new (12.10) behavior allows others to listen on 127.0.0.1:53, but still doesn't allow them to listen on ALL:53. Someone correct me if I'm wrong.

> With bind, this is okay, mostly, because you can say to listen
> on everything for a particular interface

Are you sure? I am only aware of named.conf's "listen-on { IP_ADDRESS; }". If there is a feature such as you describe then presumably named binds ALL:53 and then filters according to the addresses on the specified interfaces.

> (but then you can't listen on 127.0.0.1, because it's the same interface as 127.0.1.1)

You don't listen on an interface, you listen on a socket --- an address:port pair. So when nm-dnsmasq binds 127.0.1.1:53, others can still bind lo:53, i.e., 127.0.0.1:53.

A question about the NSS plugin idea. Will this work only for software that uses glibc? What about alternative resolver libraries? They all read resolv.conf, but do they all read nsswitch.conf too? The djbdns description

    http://cr.yp.to/djbdns/blurb/library.html

for one doesn't mention this.