dnsmasq has a configuration to forward queries for certain domains to different dns server. I use it on my OpenWRT router to forward AD related queries to the Windows box without suffering when it enviably has a senior's moment.
I believe dnsmasq is now being used as a local dns cache on some distros with ::0/127.0.0.1 being the address in /etc/resolv.conf. By combining these features and with the correct configuration/integration it looks like the dns side could be solved entirely in userspace.
ie. a local resolver could use the source of a query and current interface/vpn state to route queries properly. As an aside; DNS seems like a good place for "happy eyeballs"/sending requests on multiple interfaces and letting them race for least latency.
for my '.local' domain managed using the pdns puppet module.
LCE: Challenges for Linux networking
Posted Nov 9, 2012 0:33 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)
[Link]
I got tired of it and simply linked my AD domain subtree into the global DNS. I've been living happily ever after.
LCE: Challenges for Linux networking
Posted Nov 9, 2012 9:20 UTC (Fri) by yaap (subscriber, #71398)
[Link]
Thanks a lot, I didn't know about that dnsmasq feature.
I looked a bit about dnsmasq and NetworkManager, and it seems there is already some integration supported. The following page for Ubuntu shows some integration is in the works where indeed dnsmasq is used to handle DNS request routing: https://blueprints.launchpad.net/ubuntu/+spec/foundations...
With a bit of time (for upstreaming too as I use Debian) it looks as this will be handled out of the box. Nice!