I have a few clients that need to sit across two otherwise separate networks. Let's call them network A (10.0.0.1) and network B (1.2.3.4).
Network A is effectively a private network; any Internet access on network A needs to go through a proxy.
I have configured routing such that traffic for 10...* will go through network A, and everything else will go through network B.
However, some private services on network A only exist in network A's private DNS - a lookup on network B will not resolve them. So even though the traffic could be routed to the right network, it won't be able to find the right network since the server doesn't exist in the public DNS.
Is it possible to configure Windows 7 to use one DNS server for certain lookups (e.g. all domains ending in example.private.lan), but use a different server for everything else?
No. This is not configurable at the DNS client. You must employ split-horizon DNS service. In the case of using Microsoft's DNS server for this, when the internal content DNS server is not yours, you must have a non-public proxy DNS server with either "stub zones" or conditional forwarding. In general, one should always employ "split horizon" DNS service if one is using non-public IP address ranges.
I agree with ErikA.
"Is it possible to configure Windows 7 to use one DNS server for certain lookups (e.g. all domains ending in example.private.lan), but use a different server for everything else?"
The answer is no. The solution is to allow the two DNS servers to have each other's zone, and allow zone transfers.