DNSMasq отвечает случайным образом

387
kapus

Я только что установил DNSMasq на локальное устройство (Raspberry Pi) для использования в качестве DNS-сервера, но служба не всегда работает правильно, когда другие компьютеры в сети пытаются использовать его. Вот что я добавил в /etc/dnsmasq.confфайл:

log-queries no-resolv server=8.8.8.8 server=8.8.4.4 

Это /etc/hostsфайл:

192.168.1.101 desktop.home 192.168.1.102 laptop.home 

Я не использую DHCP, DHCP выполняется моим маршрутизатором. Мой маршрутизатор имеет возможность вручную настроить DNS-сервер, и я поместил IP-адрес Raspberry Pi (192.168.1.100) в это поле. Я могу подтвердить, что и мой рабочий стол, и ноутбук (компьютеры с Linux) знают о новом DNS-сервере (DNSMasq по адресу 192.168.1.100).

И мой рабочий стол и ноутбук соединены кабелем. nslookup laptop.homeНапример, когда я бегу со своего рабочего стола, я получаю 50% больше или меньше ударов - иногда я получаю успешный результат, а иногда нет. То же самое с ноутбуком.

Что еще более странно, это то, что когда я подключаю ноутбук к Wi-Fi, хиты становятся еще ниже. Я получаю только 10% хитов или меньше на моем ноутбуке по Wi-Fi. Действительно странно

Логи ничего не говорят. Я даже не знаю, где начать отлаживать это.

0
Проверьте, какой IP для DNS вы на самом деле получаете через DHCP. Если это окна, то вы можете использовать ipconfig в командной строке, чтобы увидеть. djsmiley2k 5 лет назад 1
Да, ноутбук и настольный компьютер используют Raspberry Pi для DNS. Вот откуда я знаю, что они: `nmcli device show enp0s25 | grep DNS` и ответ включает в себя `IP4.DNS [1]: 192.168.1.100`. kapus 5 лет назад 0
Есть ли другие DNS-серверы в списке? Если это так, это объяснило бы, почему это работает только в некоторых случаях. djsmiley2k 5 лет назад 0
Да, в нем указан вторичный DNS-сервер (OpenDNS), который является DNS-сервером, который мой маршрутизатор позволяет мне настроить в случае первого сбоя. Его следует использовать только в случае первого сбоя, поэтому я думаю, что проблема не в этом - проблема в том, что DNSMasq не может перехватить эти запросы. kapus 5 лет назад 0
@ djsmiley2k Я думаю, вы были правы насчет другого DNS. Я использовал другой DNS-сервер (OpenDNS) на своем маршрутизаторе, потому что я думал, что маршрутизатор собирается использовать его в качестве аварийного переключения, но на самом деле я думаю, что маршрутизатор выполнял циклический перебор между DNSMasq и OpenDNS. Теперь все работает после того, как я удалил другой DNSServer из конфигурации маршрутизатора. Если вы поставите ответ, я отмечу его как правильный. Спасибо! kapus 5 лет назад 1

1 ответ на вопрос

0
djsmiley2k

Похоже, что ваши клиенты выполняют циклический перебор между двумя DNS-серверами, один из которых является локальным, а другой - удаленным, в который не будут добавлены локальные имена.

В идеале ваши клиенты будут запрашивать первый (локальный сервер), а затем по тайм-ауту затем запрашивать второй, но, скорее всего, оба получат запросы по очереди, и тот, который когда-либо отвечает быстрее, используется.

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