Как настроить dnsmask для продолжения поиска на вышестоящем сервере, пока он не найдет ответ

У меня два сервера домена: один (172.25.250.254) частный для обслуживания частный запрос * .lab.example.com, а другой (192.168.1.1 в моем поле) предназначен для обслуживания общедоступных запросов, таких как index.docker.io или google.com.

Моя конфигурация

/etc/dnsmask.conf

# Include all files in /etc/dnsmasq.d except RPM backup files
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

/etc/dnsmask.d/node-dnsmask.conf

 server=/in-addr.arpa/127.0.0.1
 server=/cluster.local/127.0.0.1

/etc/dnsmask.d/origin-dns.conf

no-resolv
domain-needed
no-negcache
max-cache-ttl=1
enable-dbus
dns-forward-max=5000
cache-size=5000
bind-dynamic
except-interface=lo
# End of config

/ etc / dnsmask.d / origin-upstream-dns.conf

server=172.25.250.254
server=192.168.1.1

И либо dnsmask разрешает частное имя, но не публичное, либо разрешает публичное, но не частное:

dig index.docker.io -> answer 0
dig node1.lab.example.com -> answer 1

И через 10 минут

dig index.docker.io -> answer 3
dig node1.lab.example.com -> answer 0
-1
задан 16 January 2018 в 17:15
1 ответ

Я частично отвечаю на свой вопрос

Читая страницу руководства dnsmask в опции всех серверов

--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 requester.

, говорится, что запрос будет отправлен только одному сервер, который объясняет эту ситуацию.

Если я добавлю эту опцию, проблема будет решена.

Однако я не понимаю, что означает «первый ответ», первый, кто ответит, будет победителем или тот, кто первым с ненулевым ответом станет победителем ?

Если первое верно, поведение может быть нестабильным с течением времени.

0
ответ дан 5 December 2019 в 20:22

Теги

Похожие вопросы