Comment 59 for bug 959037

Revision history for this message
Simon Kelley (simon-thekelleys) wrote : Re: [Bug 959037] Re: NM-controlled dnsmasq prevents other DNS servers from running, yet network-manager doesn't Conflict with their packages

On 12/06/12 11:24, Thomas Hood wrote:
> Hmm, just tested this myself. You can't use "except-interface=lo"; it
> seems you have to use "listen-address=10.1.2.3". Perhaps Simon knows a
> better way.
>

If you want to listen on an address which doesn't appear on an interface
(ie 127.0.1.1) then you have to use --listen-address.

The rules for 127.0.0.1 are slightly arcane too: If you use -interface
and --except-interface, then dnsmasq will assume that you want it to
listen on the address of any loopback interfaces it finds as well. In
practise that means 127.0.0.1

So

dnsmasq --interface=eth0

will listen on the address(es) of eth0 and 127.0.0.1.

If you use --listen-address, then dnsmasq assumes you want more control
and only uses the addresses you actually give

so

dnsmasq --listen-address=127.0.1.1

will _not_ listen on 127.0.0.1

Given this, it makes sense to use 127.0.1.1 (or any address in
127.0.0.0/8 that doesn't appear on lo) for nm-dnsmasq. Because 127.0.1.1
doesn't appear on lo, another dnsmasq instance will not try and listen
on it, and the only thing required to get the two dnsmasq instances to
co-exist is --bind-interfaces.

Cheers,

Simon.