На моем маршрутизаторе работает сервер dnsmasq, который обрабатывает как dhcp, так и dns (кэширование, пересылка). Я настроил свой локальный домен: domain=example.com .

Я могу разрешить локальные имена хостов dhcp:

dig +short dhcp1.example.com
10.0.0.53

Теперь у меня есть общедоступная запись DNS на public.example.com, которая не разрешается dnsmasq, потому что она не обслуживалась dhcp и не находится в /etc /hosts

dig +short public.example.com
NXDOMAIN

Теперь мой вопрос: можно ли сказать dnsmasq запрашивать у вышестоящего сервера DNS какой-либо хост, который не обслуживался dhcp?

В качестве обходного пути я мог бы добавить public.example.com в файл /etc /hosts. Но тогда я должен был бы сделать это вручную для каждой публичной записи DNS в этом домене.

Я прочитал man-страницу и заметил следующую часть под --domain:

Если домен задан как «#», то домен читается из первой директивы "search" в /etc/resolv.conf (или эквивалентной).

Поэтому я попытался добавить server=/example.com/# в конфигурацию, но это не дало желаемого эффекта.

Спасибо за ответ :-)

1 ответ1

1

DNS-серверы не позволяют разделять записи в одной доменной зоне между несколькими серверами. Если сервер является полномочным для зоны, он не может передать запрос. Вы можете добавить другие серверы для обработки зоны (например, если они являются главными и подчиненными серверами или AD-реплицированы), но предполагается, что все серверы имеют одинаковые ответы; если они этого не сделают, вы иногда получите ответ, а иногда нет!

Есть два возможных способа решения этой проблемы:

  1. Сделайте внутреннее / внешнее разделение явным. Пусть ваш внутренний домен (который обрабатывается dnsmasq) будет называться что-то вроде internal.example.com ; внешние адреса продолжают разрешаться общедоступным DNS-сервером. Преимущество в том, что вам не нужно беспокоиться о конфликте имен.

  2. Как вы указали, добавьте общедоступные записи DNS как статические записи в dnsmasq . В дополнение к начальной работе вам придется изменить записи, если ваши публичные адреса изменятся, потому что они не будут отслеживаться.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .