Настройка условной переадресации DNS и политик DNS на Windows Server

В этой статье мы рассмотрим два способа организации условного разрешения имен в DNS-сервере на Windows Server 2016/2019/2022: Условная переадресация DNS и Политики DNS. Эти технологии позволяют настраивать условное разрешение имен DNS на основе запрашиваемого имени, IP-адреса, местоположения клиента, времени суток и т. д.

Условная переадресация DNS позволяет перенаправлять DNS-запросы о конкретном домене на определенные DNS-серверы. Обычно условные переадресации используются, когда вы хотите настроить быстрое разрешение имен между несколькими частными внутренними доменами, или если вы не хотите, чтобы DNS-запросы с вашего сервера отправлялись через Интернет. В этом случае вы можете создать на своем DNS-сервере правило для перенаправления DNS-запросов для определенной доменной зоны (только!!!) на указанный DNS-сервер.

Как настроить условный переадресатор DNS на Windows Server?

Давайте попробуем настроить условную переадресацию DNS для определенной доменной зоны на Windows Server 2019. Например, все DNS-запросы к corp.woshub.com должны перенаправляться на DNS-сервер 10.1.10.11.

  1. Откройте консоль управления DNS (dnsmgmt.msc);
  2. Разверните свой DNS-сервер, щелкните правой кнопкой мыши Условные переадресаторы, и выберите Новый условный пересыльщик;
  3. Введите FQDN домена, для которого вы хотите включить условную переадресацию, в поле DNS-домен поле;
  4. Укажите IP-адрес DNS-сервера, на который должны перенаправляться все запросы для указанного пространства имен в поле IP-адреса главных серверов поле;Добавление условного переадресатора в Windows Server DNS Добавление условного переадресатора в Windows Server DNS
  5. Если вы хотите хранить правило условной переадресации не только на одном DNS-сервере, вы можете интегрировать его с AD. Отметьте опцию Хранить этот условный переадресатор в Active Directory;
  6. Настройте параметр репликации с условной пересылкой (Все DNS-серверы в этом лесу, Все DNS-серверы в этом домене, или Все контроллеры домена в этом домене). список правил условной переадресации в DNSсписок правил условной переадресации в DNS

Настройка условной переадресации DNS с помощью PowerShell

Вы можете создать правило условной переадресации для зоны DNS с помощью PowerShell. Для этого используйте Add-DnsServerConditionalForwarderZone команда:

Add-DnsServerConditionalForwarderZone -Name dmz.woshub.com -MasterServers 192.168.1.11,192.168.101.11 -ReplicationScope Forest

Узнайте больше об управлении DNS-серверами с помощью PowerShell.

Запустите следующий сценарий PowerShell, чтобы перечислить условные переадресаторы DNS на определенном сервере:

$DNSServer = "DC01"
$Zones = Get-WMIObject -Computer $DNSServer -Namespace "root\MicrosoftDNS" -Class "MicrosoftDNS_Zone"
$Zones | Select-Object Name,MasterServers,DsIntegrated,ZoneType | where {$_.ZoneType -eq "4"} | ft -AutoSize

Настройка условного переадресатора DNS Windows Server с помощью PowerShellНастройка Windows Server DNS Conditional Forwarder с помощью PowerShell

Фильтрация DNS-запросов с помощью политик Windows Server DNS

В Windows Server 2016 добавлена функция политика DNS функция для DNS-сервера. DNS-политики позволяют настроить DNS-сервер на возврат различных ответов на DNS-запросы в зависимости от местоположения (в зависимости от IP-адреса или подсети, с которой был отправлен запрос), интерфейса DNS-сервера, времени суток, типа запрашиваемой записи (A, CNAME, PTR, MX) и т. д. Политики DNS в Windows Server позволяют реализовать балансировку нагрузки, фильтрацию DNS-трафика, возврат DNS-записей на основе географического положения (IP-адреса клиента) и другие сложные сценарии.

Вы можете создать политику на уровне DNS-сервера или определенной доменной зоны. Настройка политик DNS в Windows Server может быть выполнена только из командной строки PowerShell.

Давайте попробуем создать простую политику, которая будет возвращать разные ответы на DNS-запросы в зависимости от местоположения клиента. Предположим, вы хотите, чтобы клиенты в каждом филиале использовали свой локальный прокси-сервер на сайте.

Вы создали GPO для настройки параметров прокси в домене (proxy.woshub.com будет указан на всех клиентах). Однако, чтобы использовать локальный прокси-сервер, клиенты из разных офисов должны по-разному разрешать это FQDN.

Я создал 3 подсети для филиалов компании:
Add-DnsServerClientSubnet -Name "BER_DNS_Subnet" -IPv4Subnet "192.168.1.0/24"
Add-DnsServerClientSubnet -Name "HH_DNS_Subnet" -IPv4Subnet "192.168.11.0/24"
Add-DnsServerClientSubnet -Name "MCH_DNS_Subnet" -IPv4Subnet "192.168.21.0/24"

Вы должны выполнить эти команды на всех DC, на которых вы хотите включить условную политику DNS. Эти настройки не реплицируются в DNS и хранятся локально в реестре DNS-сервера. Имя сервера можно указать с помощью команды -ComputerName dc01 опцию.

Список всех доступных IP-подсетей на DNS-сервере:

Get-DnsServerClientSubnet

Get-DnsServerClientSubnet - разрешение DNS на основе IP-подсетей на Windows Server Get-DnsServerClientSubnet - разрешение DNS на основе IP-подсети на Windows Server

Теперь нужно создать отдельную зону DNS для каждого офиса:

Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "BERZoneScope"
Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "HHZoneScope"
Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "MCHZoneScope"

Следующие команды добавят 3 DNS-записи с одним и тем же именем, указывающие на разные IP-адреса в разных DNS-зонах:

Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.1.10" -ZoneScope "BERZoneScope"
Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.11.10" -ZoneScope "HHZoneScope"
Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.21.10" -ZoneScope "MCHZoneScope"

Вы можете перечислить все ресурсные записи DNS в зоне с помощью следующей команды:

Get-DnsServerResourceRecord -ZoneName "woshub.com" -ZoneScope BERZoneScope

Get-DnsServerResourceRecord Get-DnsServerResourceRecord

Затем создайте политики DNS, связывающие IP-подсети, зоны DNS и записи A.

Add-DnsServerQueryResolutionPolicy -Name BERResolutionPolicy -Action ALLOW -ClientSubnet "eq,BER_DNS_Subnet" -ZoneScope "BERZoneScope,1" -ZoneName woshub.com –PassThru
Add-DnsServerQueryResolutionPolicy -Name HHResolutionPolicy -Action ALLOW -ClientSubnet "eq,HH_DNS_Subnet" -ZoneScope "HHZoneScope,1" -ZoneName woshub.com -PassThru
Add-DnsServerQueryResolutionPolicy -Name MCHResolutionPolicy -Action ALLOW -ClientSubnet "eq,MCH_DNS_Subnet" -ZoneScope "MCHZoneScope,1" -ZoneName woshub.com –PassThru

В политиках DNS доступны следующие действия:

  • -Action ALLOW
  • -Action DENY
  • -Action IGNORE

В фильтрах DNS можно использовать следующие параметры:

-InternetProtocol "EQ,IPv4,NE,IPv6"
-TransportProtocol "EQ,UDP,TCP"
-ServerInterfaceIP "EQ,192.168.1.21"
-QType "EQ,A,AAAA,NE,PTR"
-TimeOfDay "EQ,9:00-18:00"

Вы можете отобразить список политик DNS для зоны DNS на сервере:

Get-DnsServerQueryResolutionPolicy -ZoneName woshub.com

Get-DnsServerQueryResolutionPolicy - список политик разрешения DNSGet-DnsServerQueryResolutionPolicy - список политик разрешения DNS

Теперь проверьте, что DNS-сервер возвращает разные IP-адреса прокси для одного и того же запроса, отправленного с устройств в разных офисах:

nslookup proxy.woshub.com

Вы можете запретить DNS-серверу возвращать DNS-адреса для пространства имен (домена):

Add-DnsServerQueryResolutionPolicy -Name 'BlockDNSQuery' -Action IGNORE -FQDN "EQ,*.spamorg.org"

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *