如何configurationdnsmasq来转发多个DNS服务器?

我现在在VPN上使用公共DNS来避免中国的DNS污染。 但是这个价格是我不能利用CDN的。

有没有办法configurationdnsmasq,让它查询DNS服务器,既公有一个和ISP一个,并返回一个较低的指标IP?

我知道这可以通过使用server=/domain/server指令来为特定域分配一个DNS服务器,但问题是有数百个。 所以我必须弄清楚一些通用的东西。

提前致谢。

DNSmasq不能为你做这个。 然后用pipe道后端Powerdns,你可以写你自己的代码来解决。 我会使用python pydns作为后端,因为它可以轻松地查询任意名称服务器。

我不认为dnsmasq给你这个能力。 有一个解决scheme,但与绑定。 我知道他们说设置绑定是一个矫枉过正的事情,但是对于你正在做的事情来说也不算太坏。

 options { forwarders { xxxx; //ISP dns ip address yyyy; //Public dns ip address } } 

关键是从顶部到底部按顺序查询货代。 所以ISP首先会被查询(这也可能是一个较低的指标),如果失败了,公众将被查询。

有没有办法configurationdnsmasq,让它查询DNS服务器,既公有一个和ISP一个,并返回一个较低的指标IP?

dnsmasq提供了–all-servers选项

-全服务器

默认情况下,当dnsmasq有多个上游服务器可用时,它只会向一个服务器发送查询。 设置此标志强制dnsmasq发送所有查询到所有可用的服务器。 来自首先回答的服务器的回复将被返回到原始请求者。

这个选项确实回答你的问题