I have a problem while setting up DNS forwarding in Windows 2012 Server R2.
The local network two AD servers running DNS servers at 192.168.0.10 (AD1) and 192.168.0.11 (AD2). Both DNSes have forwarders set up, 18.104.22.168 and 22.214.171.124. The DNS entries on the network adapter for AD1 are set to 192.168.0.11 and 127.0.0.1. AD2 follows the same approach, and has 192.168.0.10 and 127.0.0.1 set up as primary and secondary DNSes on its NIC. Since this is a multihomed environment, I am leaving out the rest of the NIC configuration - I will gladly provide it if necessary.
When I try to access a "public" address (say www.google.com) from any of those servers, everything works without a glitch. However, whenever I try to ping that same address from any of the domain clients from the same local network (say at 192.168.0.20, having its DNS servers pointing at AD1 and AD2), I get
Ping request could not find host www.google.com. Please check the name and try again.
At the same time, nslookup works everywhere! Name resolution for local domain names works from all clients, so it appears that local DNSes are working, but something is wrong with the forwarding setup.
Ping works for all IP addresses, so there are no connectivity problems. When I add an external DNS (say 126.96.36.199) to the client's configuration - as a tertiary DNS - ping becomes fully functional. There has to be a better way of doing this. Without this external DNS, "No Internet access" is displayed in the "Connectivity" column next to the NIC in the Network and sharing center. This is obviously not the case - apart from not being able to resolve symbolic names, everything works.
I have tried removing the forwarders, and use only root hints, without success. I'm sure I'm missing obvious, but after spending half of day on it, I am still at the beginning.