dnsmasq - Multiple forwarding servers for domain entries?

I was wondering if it was possible to configure dnsmasq to send "server=" entries to multiple upstream servers?

so like this:

server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5

and have it pick which one based on it being available or not, as with resolv.conf? According to the man page, it looks like only one is allowed, but I wondered if there was a way to ask it to behave this way.


Solution 1:

Well in your example you're only pointing out facebook, but I guess you would have the same need for every hostname you might visit

dnsmasq provides the option --all-servers

--all-servers

By default, when dnsmasq has more than one upstream server available, it will send queries to just one server. Setting this flag forces dnsmasq to send all queries to all available servers. The reply from the server which answers first will be returned to the original requestor.

Set a several DNS servers

server=OpenDNS.IP.Addr.ess

server=GoogleDNS.IP.Addr.ess

server=...

And the fastest response will be considered

Solution 2:

Sure just add multiple lines.

server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5

Man dnsmasq

   -S, --server=[/[<domain>]/[domain/]] ...
          ...  More than one -S  flag  is  allowed,  with
          repeated domain or ipaddr parts as required.