[Dnsmasq-discuss] DNS resolving local names with multiple DNS servers

Craig McQueen craig.mcqueen at beamcommunications.com
Thu Apr 3 06:22:19 UTC 2014


I've got an Ubuntu 13.04 Linux PC connected to two networks:

* Internet connection
* Router providing a local network (Wi-Fi) with DNS serving local names 
(example.lan)

Via NetworkManager, dnsmasq is set up with the DNS server IP addresses 
for these two networks.

The PC is having trouble getting the local names in example.lan, because 
it seems dnsmasq is using the Internet connection DNS server for the 
example.lan query, and that is returning NXDOMAIN response. Rather than 
waiting for a better response from the local DNS server (which is local 
but responding more slowly due to being over Wi-Fi), it is just passing 
the NXDOMAIN response to the client. At least, I think that's what is 
happening; please tell me if I'm wrong.

What I'd hope for is for dnsmasq to not just use the first response it 
gets, but use the first response that's not NXDOMAIN. I think the Linux 
resolver (/etc/resolv.conf) does this, and it would be great if dnsmasq 
could use the same algorithm. Could dnsmasq support this algorithm?


Note--I suppose one response might be to specify the example.lan domain 
in one 'server' parameter of the dnsmasq config. Two problems:

1) dnsmasq is being used from NetworkManager, and it seems 
NetworkManager is only telling dnsmasq the DNS IP addresses (via D-Bus) 
to dnsmasq, and not telling it any domain names (even if I enter the 
example.lan in the NetworkManager "extra search domain" config).

2) The router providing the local network is a remote dial-up device 
which can optionally provide a (slow) dial-up connection to the 
Internet. In that case, it becomes a general Internet connection, so I 
don't want to restrict it to just "example.lan".

Regards,
Craig McQueen




More information about the Dnsmasq-discuss mailing list