Мне было интересно, можно ли настроить dnsmasq для отправки записей «server =» на несколько вышестоящих серверов?
Ну вот так:
server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5
и пусть он выберет, какой из них, в зависимости от того, доступен он или нет, как с resolv.conf
? Согласно странице руководства, похоже, что разрешен только один, но мне было интересно, есть ли способ заставить его вести себя таким образом.
Что ж, в вашем примере вы указываете только на facebook, но я думаю, у вас будет такая же потребность для каждого имени хоста, которое вы можете посетить
dnsmasq предоставляет параметр --all-servers
--все-серверы
По умолчанию, когда у dnsmasq доступно более одного вышестоящего сервера, он будет отправлять запросы только на один сервер. Установка этого флага заставляет dnsmasq отправлять все запросы на все доступные серверы. Ответ от сервера, который ответит первым, будет возвращен исходной запрашивающей стороне.
Установите несколько DNS-серверов
server=OpenDNS.IP.Addr.ess
server=GoogleDNS.IP.Addr.ess
server=...
И будет рассмотрен самый быстрый ответ
Конечно, просто добавьте несколько строк.
server=/facebook.com/1.2.3.4
server=/facebook.com/2.3.4.5
Человек dnsmasq
-S, --server=[/[<domain>]/[domain/]] ...
... More than one -S flag is allowed, with
repeated domain or ipaddr parts as required.