Setup:
I have two separate networks I need to connect to at the same time.
VPN 1 PPTP
IP : 192.168.2.0/24
DNS : 192.168.2.32; 192.168.2.34 (Windows 2003)
Domain : old.com
Forwarder : 192.168.2.1 (Gateway running DNS) DD-WRT
VPN 2 OpenVPN using Routing -- I'm going to switch to bridging
IP : 192.168.10.0/24
DNS : 192.168.10.10 (Windows 2008)
Domain : xyz.dc
Forwarder : 192.168.10.1 (Gateway running DNS) ClearOS
When I'm connected I would like to resolve host names on both networks without fully qualifying them.
UPDATE:
I'm not the only one connecting to this set up so setting up a local DNS would be unmanageable. I have total control over both networks, so making changes isn't an issue. I just don't know what changes to make. :S
You could setup your own DNS server (locally) as a secondary server for both domains. That way, your DNS server would answer queries for both domains and yet allow you access to both domains properly. You would have to ensure that both domains are setup to allow you to make your local server a secondary DNS server for the respective domains.
You could run a local dnsmasq forwarder. It's very lightweight and has the ability to forward to different servers for different domains, and then your default (ISP) nameservers for everything else. See the 'server' option in the man page.
You can specify multiple search domains on most OSes. That will let you use just the hostname without the FQDN. If you're on a *nix, /etc/resolv.conf would have something like (assuming you run dnsmasq on localhost):
Remove the forward on both the remote networks.
Then configure each computer on the remote network to have two DNS servers. The local and the ISP's.
Then when a VPN client goes to look up a server if the remote DNS doesn't know about it the look up will fail and the client will move on to the next DNS server.