Допустим, у меня есть две независимые сети net1.local
и net2.local
, каждая из которых подключена к большей сети local
через маршрутизатор.
Каждая из 3 сетей имеет свой собственный независимый DNS-сервер.
Теперь хост в net1.local
пытается разрешить имя из net2.local
. Примерно так:
nslookup host1.net2.local
DNS-сервер, расположенный в net1.local
, ничего не знает о хостах net2.local
, а DNS-сервер, расположенный в большей сети, знает только верхние доменных имен, поскольку он содержит следующие записи:
net1 IN A 192.168.10.1
net2 IN A 192.168.20.1
Как лучше всего настроить DNS-серверы для достижения этой цели ??
DNS представляет собой дерево, в котором все можно найти, начиная сверху и следуя указателям вниз. Вполне возможно создать такое собственное дерево в изолированной сети. Если вы настроите все таким образом, все будет работать нормально, документация будет иметь смысл, и у вас будет меньше всего неприятных сюрпризов.
На ваш вопрос, похоже, что вы пытаетесь создать не дерево, а количество (в данном случае два) изолированных островков с линиями связи между ними, которые вы определяете извне DNS (то есть в конфигурации BIND). Это может быть возможно, но это наверняка будет намного сложнее и требует гораздо больше работы, чем настройка частного дерева. Также не будет документации, относящейся к вашему решению, и каждый раз, когда вам понадобится помощь, вам придется объяснять все, что вы сделали с нуля.
Итак, настройте дерево и пусть ваш домен верхнего уровня просто делегирует два других домена.
Также не используйте имя .local
. Он зарезервирован для многоадресного DNS в соответствии с разделом 3 RFC 6762. Вы можете подумать, что не используете mDNS, но если в вашей сети есть устройства под управлением Android, iOS, Linux или OSX, вы просто не знаете Это. Выберите другое имя, даже если ваше DNS-дерево полностью изолировано от остального мира.