Hy everyone,
I have a PiHole instance running on my home server, and I changed my router (Fritz box) DNS in order to use my PiHole. Everything runs great.
I was wondering if I can put another DNS provider on my "alternative DNS server" in my router, in order to have a fallback alternative in case my server is down, or if I should avoid it.
I'm asking this because I don't know if the request will be handled in parallel between the two DNS provider (that would make my PiHole useless) or not.
Thank you.
When you specify more than one DNS server for network clients, the order in which these servers are used is not random. The following sequence is observed:
Primary DNS Server: Clients will first attempt to use the primary DNS server specified in their network settings. This server is often considered the default.
Secondary DNS Server: If the primary DNS server is unavailable or unable to resolve a query, clients will then attempt to use the secondary DNS server. This server acts as a backup.
So in OPs case his Pihole will always be used if it's available, and only when it's not will the secondary be used.
Except that, as I’ve already mentioned, I have two piholes, and sometimes both will be receiving requests. Based on your description, the second would never receive requests as long as the first is online. Perhaps this is router dependent, but it’s what I’ve observed.
A number of problems in DNS operations today are attributable to poor choices of secondary servers for DNS zones
That RFC is about DNS servers in the context of DNS zones in domain names. Not for a DNS client running DNS queries like an operating system. And the RFC is very clear about this:
The distinction between primary and secondary servers is relevant only to the servers for the zone concerned, to the rest of the DNS there are simply multiple servers.
For your Windows, Linux whatever machine "there are simply multiple DNS servers".
Which defines/influences how resolvers behave with multiple DNS servers.
It doesn't. As I said in another comment "most operating systems will just load balance or opportunistically pick between the two", and there's the relevant part from the RFC:
All are treated equally at first instance, even by the parent server that delegates the zone. Resolvers often measure the performance of the various servers, choose the "best", for some definition of best, and prefer that one for most queries.