I know this issue is over, but in case anyone else comes to this thread. It was likely an improper setup.
The router's WAN DNS servers should not be change, leave them coming from your ISP using DHCP. Only the DNS servers that is used by the LAN DHCP server in the router should be changed to the pi-hole DNS.
Computers on the network will get the IP for the pi-hole provided to them, send their DNS queries to the pi-hole, and then the pi-hole will forward on to OpenDNS or Google DNS. The router will only ever use its WAN DNS for its own lookups (ie, NTP, checking for updates from ISP, etc.).
A router typically cannot access a private IP on its public WAN interface. The change should have been in the DHCP DNS configuration, NOT in WAN DNS configuration. So its not that the router is not working correctly, its that its MISSING A FEATURE to manually specify the LAN DNS servers. I would have guessed this isn't the case, a basic router provided these features for decades, but I just looked at my D-Link DIR-655 and it did NOT have the option to specify DNS servers for its DHCP server.
Usually there are three options:
- What the WAN DNS servers are, also give to DHCP clients.
- Use DNS relay, which means DHCP clients are told the DNS server is the router LAN IP, but then just forwards it to the 2-3 DNS servers it received on its WAN. (This is default or most typical)
- Manually specify 1-2 DNS servers to be provided to DHCP clients (this is the missing feature in the DLink router)
So bottomline, the router is junk. The work around would be simply to use static DNS on each computer set to the pi-hole, and then the router wouldn't need to be changed at all.
I think this issue shows that it would be best to offer DHCP server option from dnsmasq so that the router doesn't need to be changed, other than disabling its own DHCP server.