Последнюю версию скрипта вы всегда можете найти на GitHub.
Множество компаний использует одну и ту же доменную зону, как во внутренней инфраструктуре, так и во внешней. В случае, если внутренняя зона, по совместительству, является именем домена Active Directory и внутренние пользователи должны обращаться к некоторым серверам из этой зоны с использованием их внешних IP-адресов, возникает проблема: Каким то образом все такие записи должны присутствовать в синхронизированном состоянии и на внешних, и на внутренних DNS-серверах.
Существует несколько способов решения такой проблемы:
1. Использовать контроллеры домена Active Directory для разрешения имён и внешними, и внутренними пользователями.
За:
- Единая точка управления.
- Не требуется никакого дополнительного ПО на контроллерах домена.
Против:
- Невозможно сделать так, чтобы для одного и того же имени внешним и внутренним пользователям возвращалась разная информация.
- Необходимо предоставить внешним пользователям доступ во внутреннюю инфраструктуру, что может быть невозможно по политикам безопасности. Злонамеренный пользователь может получить информацию о внутренней инфраструктуре.
2. Использовать два независимых набора DNS-серверов: внутренние и внешние.
За:
- Можно сделать так, чтобы для одного и того же имени внешним и внутренним пользователям возвращалась разная информация.
- У внешних пользователей отсутствует доступ к внутренней инфраструктуре.
- Не требуется дополнительного ПО на контроллерах домена.
Против:
- Две точки управления. DNS-записи могут стать рассинхронизированными.
3. Использовать новую функциональность Windows Server 2016 — политики DNS.
- Единая точка управления.
- Можно сделать так, чтобы для одного и того же имени внешним и внутренним пользователям возвращалась разная информация.
Против:
- Контроллеры домена должны быть обновлены на новейшее ПО, что подходит не для всех организаций.
- Необходимо предоставить внешним пользователям доступ во внутреннюю инфраструктуру, что может быть невозможно по политикам безопасности. Злонамеренный пользователь может получить информацию о внутренней инфраструктуре.
Лично я пока предпочитаю второй способ, с различными внешними и внутренними DNS-серверами. В этом случае появляется еще одна проблема: Как обеспечить своевременную синхронизацию тех DNS-записей, которые должны быть одинаковыми для внутренних и внешних пользователей?
Читать далее Синхронизация split-brain DNS