Ситуация, с которой я столкнулся, заключается в том, что у меня есть несколько доменов, размещенных на UltraDNS, а также с сервером bind9 для локального использования с внутренними поддоменами и для имен хостов dhcp.
Например, домен domain.com размещается на UltraDNS, этот же домен используется локально bind9 для DHCP и внутренних адресов, таких как dyndns09.domain.com и internal.domain.com.
Я бы хотел, чтобы поддомен не существовал в bind9, чтобы он использовал один из указанных серверов пересылки для поиска этого адреса.
Из того, что я видел, обычным решением этой проблемы является использование представлений привязки для определения используемых зон в зависимости от вашей подсети, но, поскольку UltraDNS - это DNS как служба, это не вариант. Другое обычное решение - использовать dnsmasq - к сожалению, это тоже проблема. Использование dnsmasq для DNS без использования dnsmasq, поскольку ваш DHCP-сервер, похоже, не позволяет использовать настоящий динамический DNS для DHCP-клиентов.
Мы очень ценим любое понимание этого.
Использование одного и того же домена в двух «пространствах», таких как внутренний и внешний домен с одним и тем же именем, очень запутанное и рискованное поведение. Но если вам нужно это сделать, вы должны убедиться, что они разделены, но все же синхронизированы. Обычно вы используете представления, если один и тот же авторский сервер имен отвечает на запросы как от внутренних, так и от внешних клиентов, в вашем случае это звучит так, как будто они разные.
Что я бы сделал в вашем сценарии, так это ЛИБО создать ручную процедуру, в которой каждый, кто обновляет вашу внешнюю зону для domain.com, ДОЛЖЕН также обновить внутреннюю версию на вашем локальном сервере bind9, но я бы предпочел создать скриптовое решение, чтобы вы ТОЛЬКО обновляли внешняя зона domain.com на внешнем сервере, UltraDNS в вашем случае, а затем я бы сохранил локальный файл с дополнениями для внутренних компьютеров, синхронизацию по сценариям и объединение этих двух в окончательную внутреннюю зону, которую я загружаю / перезагружаю в свой локальный привязать.
Что усложняет сценарий со сценарием, так это то, что если у вас есть ТО ЖЕ имя хоста в зоне, которая указывает на один IP-адрес извне, а другой IP-адрес внутри, вам придется подумать об этом и написать некоторую логику / исключение для его обработки.
В зависимости от того, сколько вы обновляете зоны и насколько вероятно, что вы сделаете ошибки, я бы выбрал между ручными обновлениями для внешних / внутренних или скриптовой версией.
Размещение пользователей DHCP в том же пространстве имен, что и ваши серверы, рискованно. Используйте субдомен для DHCP. Затем вы можете легко пересылать то, что нужно отправить в DNS.
Если вы используете NAT для адресов ваших серверов, убедитесь, что вы включили фиксированный NAT или дублируете записи с соответствующими адресами на вашем локальном сервере. В этом случае вы не будете пересылать запросы.