Conditional Forwarding Meaning/How it Works?


I'm a bit confused on what conditional forwarding does and how it helps the PiHole resolve hostnames. From my understanding, all it would do is when a client does a DNS request for a specified domain, it will forward that DNS request to the specified DNS server. This makes sense, but a lot of the guides I am reading are saying that you should put the local domain, and the router IP address in the conditional forwarding settings in order to allow PiHole to get hostnames for IP addresses. Why does this work? Does the PiHole automatically request the hostnames from the router when conditional forwarding is enabled? Or is my understanding of the conditional forwarding setting incorrect?


I'm looking for an answer for how this works as well, I don't really understand it.

The help text notes "One solution for this is to configure Pi-hole to forward these requests to your DHCP server" but I am not sure what "these requests" are and how conditional forwarding works in the scheme of things. I have configured my DHCP server IP address (my Fritzbox 7390) on the Conditional Forwarding setup page, but not all local IP addresses are being resolved to hostnames for some reason, and a better understanding of this may help a little.

1 Like

Sorry for the late reply. Thanks yubiuser for the clear explanation. I think partly the confusion is in PiHole's own explanation in the Conditional Forwarding settings where PiHole can "forward these requests to your DHCP server", but there is an assumption that the host running the DHCP server is also running a DNS server and whose DNS records do get updated by that DHCP server, either of which may not be the case.

You're right, pihole does these assumptions. Maybe you can provide a text that would be a better explanation? Keep in mind that most users might be unexperienced novice home users for which both assumptions are true. Users who are able to setup a dedicated DNS server might not need the explanation at all.