У меня есть внутренний сервер привязки, который отлично работает с моим локальным разрешением имен. Большинство хостов сопоставлены с внутренними IP-адресами вместо соответствующих им внешних IP-адресов. Однако бывают ситуации, когда нет эквивалентных внутренних IP-адресов. Эти хосты в настоящее время перечислены только на моем общедоступном DNS-сервере. Следовательно, когда я пытаюсь запросить внутренний DNS-сервер, я получаю неизвестные хосты.
Есть ли способ настроить BIND для запроса внешнего источника, если он получает запрос на хост, который ему не известен, даже если этот хост находится в домене, для которого он является полномочным?
Например, если мой домен называется: site.com
Внутренний DNS может иметь:
www.site.com 192.168.1.1
smtp.site.com 192.168.1.2
mail.site.com 192.168.1.3
Внешний DNS может иметь:
www.site.com 199.200.201.1
smtp.site.com 199.200.201.2
mail.site.com 199.200.201.3
ftp.site.com 199.200.201.4
support.site.com 199.200.201.5
Если я запрошу внутренний DNS для www.site.com, он вернет 192.168.1.1. Но если я запрошу его для ftp.site.com, я получу неизвестный хост. Есть ли способ настроить мою внутреннюю привязку для пересылки этого запроса на внешний сервер и возврата 199.200.201.4?
Или мой единственный выбор - скопировать отсутствующие хосты на мой внутренний DNS-сервер и иметь две копии одинаковых записей (одну на моем общедоступном DNS и одну на моем внутреннем DNS)?
У вас есть несколько вариантов. В файле конфигурации привязки вы можете создать зону пересылки для каждого хоста:
zone "ftp.site.com" {
type forward;
forward only;
forwarders { external_dns_ip; };
};
Или в файле определения зоны:
ftp IN NS external_dns_ip
(предполагается, что ПРОИСХОЖДЕНИЕ - «site.com».)
Вместо добавления записи для каждого хоста вы также можете использовать подстановочный знак:
* IN NS external_dns_ip
но при этом все неизвестные запросы будут перенаправлены на внешний сервер имен.