Order of upstream DNS servers

Hello there
I've been experimenting with the upstream DNS servers. There I came across a question:
Is there a possibility to change the order of the DNS servers or is there an order and i couldn't find the pattern yet?
Especially when I use the Google DNS and one of my ISP, its not clear to me which one will be asked first.

Thanks for your help.
Greetings from Switzerland

I've asked a similar question to the developer of dnsmasq (I'm using dnscrypt-proxy, so my resolvers are :127.10.10.1, 127.10.10.2, 127.10.10.3 and 127.10.10.4)

In the log, you’ll notice a lot of times dnsmasq is forwarding a query to all of the resolvers, example:
Feb 11 13:16:26 dnsmasq[621]: query[A] 3490-sigfail.verteiltesysteme.net from 192.168.2.125
Feb 11 13:16:26 dnsmasq[621]: forwarded 3490-sigfail.verteiltesysteme.net to 127.10.10.4
Feb 11 13:16:26 dnsmasq[621]: forwarded 3490-sigfail.verteiltesysteme.net to 127.10.10.3
Feb 11 13:16:26 dnsmasq[621]: forwarded 3490-sigfail.verteiltesysteme.net to 127.10.10.2
Feb 11 13:16:26 dnsmasq[621]: forwarded 3490-sigfail.verteiltesysteme.net to 127.10.10.1
Why is dnsmasq doing this, is it expected behavior?

answer from the developer:

Yes, every so often dnsmasq send the queries to all possible resolvers to see which one is fastest - it will use the fastest one for a while then run the race again.

I trust the developer, so I think changing the order of the resolvers is pointless.

1 Like

I agree with what @jpgpi250 said. The idea that one DNS server might be in favor of another most often originates from the phrases "primary" and "secondary" DNS servers, but this is very misleading. I advice to read e.g. my post here

Today I learned something interesting about DNS servers :wink:. After a quick Google search i figured out that it is the same approach in BIND (which I was taught different about it in my apprenticeship as an IT specialist).

Anyway...

Thank you guys for your inputs. I'll now continue my fine tuning with advanced knowledge.

You could add strict-order to /etc/dnsmasq.d/02-something.conf

Setting this flag forces dnsmasq to try each query with each server strictly in the order they appear...
Man page of DNSMASQ