DNS forwarding with dnsmasq

So, I've recently setup pi-hole in my network.

My initial idea was to use dns forwarding to the ip of the pihole, using the web interface I went to Network -> DHCP and DNS -> General Settings -> DNS forwardings and there entered the ip of the pihole.

That worked, or at least that was my understanding as the pihole started to receive requests and was doing some filtering.
However it didn't seem to block all ads. To confirm this, doing dig @router-ip blocked-domain would resolve the ip fine but dig @pi-hole-ip blocked-domain would block it (resolve to 0.0.0.0)

I went to the pihole docs and their recommendation (listed as method 2 here https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245) is to advertise the ip of the pihole directly using dhcp and then set the upstream dns to the ip of the router.

My questions are:

  1. Why is the dns forwarding not working? or partially working? maybe related to ipv6?
  2. Is there any reason to prefer doing what they recommend instead of just using dns forwarding?

Thanks!

Devices can ignore the DNS announced by the DHCP server. Android devices in particular tend to use Google's DNS.

If this is the case, announcing the router or the P,-Hole as a DNS will not fix the issue. You will have to use the firewall to force any DNS request to the local server.