我想知道是否可以配置 dnsmasq 以将“server=”条目发送到多个上游服务器?
像这样:
server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5
并让它根据是否可用来选择其中一个,就像resolv.conf
? 根据手册页,似乎只允许一个,但我想知道是否有办法要求它这样做。
答案1
好吧,在你的例子中,你只指出了 Facebook,但我想你对每个你可能访问的主机名都有同样的需求
dnsmasq 提供了选项 --all-servers
--所有服务器
默认情况下,当 dnsmasq 有多个上游服务器可用时,它将只向一个服务器发送查询。设置此标志将强制 dnsmasq 将所有查询发送到所有可用的服务器。最先回答的服务器的回复将返回给原始请求者。
设置多个DNS服务器
server=OpenDNS.IP.Addr.ess
server=GoogleDNS.IP.Addr.ess
server=...
并会考虑最快的回应
答案2
当然,只需添加多行。
server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5
管理员
-S, --server=[/[<domain>]/[domain/]] ...
... More than one -S flag is allowed, with
repeated domain or ipaddr parts as required.