В корпоративном сегменте находятся ИС или же информационные системы задача, которых обеспечить хранение, обработку и передачу данных для бизнес-процессов компании. Зачастую они могут быть разделены для внутренних и внешних пользователей. Само деление может быть, как на уровне приложения, где есть права и роли, либо сети.
Второй вариант предотвращает возможные атаки на внутренних пользователей и является более органичным решением, которое позволит разделить сервера ИС DMZ зоны и внутреннего сегмента сети с сохранением нашего DNS-имени. Разберем ситуацию подробней!
Что такое DNS Split?
DNS Split – это технология добавляющая логический уровень абстракции в виде политик и связанных с ними зон над сервером. Теперь вместо того, чтобы просто хранить записи и отдавать их резолв.

Происходит анализ scope или области зоны, из которой обращается клиент и в соответствии с его адресом возвращает, соответствующую запись. Для понимая алгоритма работы будем считать, что зона — это доменное имя, а у него есть дочерние обьекты scope или области. Которые и разделят внутренние и внешние адреса, рассмотрим на примере DNS Windows.
Как настроить DNS Split на сервере?
Обратите внимание, что у DNS должны быть настроены интерфейсы в сети, с которых необходимо получать запросы. Предположим у нас есть ресурс dodo.so, на который нам нужно настроить резолв с разных адресов WAN и LAN сегмента. Данная технология работает с Windows Server 2016.
Microsoft предлагает два способа разделения всех запросов: явно указать необходимые клиентские подсети и связать их политиками со scope зон, либо так же политиками привязать к scope интерфейсы DNS-сервера. Реализуем второй способ.
Если у вас еще нет DNS зоны, то откройте Server Manager через поиск в Windows. Выберете в левом меню DNS, кликнув правой кнопкой мыши, затем DNS Manager. Снова правой по серверу и выберите New Zone, где укажите ваш новый домен для DNS сервера Windows.
Теперь перейдем в терминал или нажмем сочетание клавиш Win+X, где уже выберем PowerShell (administrator):

В DNS сервере windows Зона есть, теперь необходимы scope, для этого пропишем:
Add-DnsServerZoneScope -ZoneName "dodo.so" -Name "int"
Add-DnsServerZoneScope -ZoneName "dodo.so" -Name "ext"

Так же, по умолчанию, существует default scope, который может так же использоваться для обработки остальных запросов. Внесем записи A-типа, для двух разных скоупов:
Add-DnsServerResourceRecord -ZoneName " dodo.so " -A -Name "www " -IPv4Address "192.168.1.2” -ZoneScope "ext"
Add-DnsServerResourceRecord -ZoneName " dodo.so " -A -Name "www " -IPv4Address "10.0.0.2” -ZoneScope "int"

А теперь, когда все скоупы с соответствующими записями, мы можем связать их с интерфейсами сервера политиками:
Add-DnsServerQueryResolutionPolicy -Name "Policy-Int" -Action ALLOW -ServerInterface "eq,10.0.0.3" -ZoneScope "int,1" -ZoneName dodo.so
Add-DnsServerQueryResolutionPolicy -Name "Policy-Ext" -Action ALLOW -ServerInterface "eq,192.168.1.3" -ZoneScope "ext,1" -ZoneName dodo.so
Отлично после того, как все необходимые интерфейсы связаны можем проверить записи командой nslookup:
nslookup 10.0.0.2 10.0.0.3
nslookup 192.168.1.2 192.168.1.3 В результате мы выполнили настройку DNS сервера, на котором теперь выстроены логические абстракции, позволяющие сохранить единое имя ресурса для разных сетевых сегментов.