В этой статье мы рассмотрим два способа организации условного разрешения имен в DNS сервере на Windows Server 2016: DNS conditional forwarding и DNS policy. Эти технологии позволяют настроить условное разрешение DNS имен в зависимости от запрошенного имени, IP адреса и местоположения клиента, времени суток и т.д.
Содержание:
- Настройка DNS Conditional Forwarder в Windows Server
- Настройка DNS Conditional Forwarding с помощью PowerShell
- Фильтрация запросов DNS, политики разрешения имен в Windows Server 2016
Условная пересылка DNS (Conditional Forwarding) позволяет перенаправить DNS запросы об определенном домене на определенные DNS-сервера. Обычно Conditional Forwarders используется, когда нужно настроить быстрое разрешение имен между несколькими внутренними приватными доменами, или вы не хотите, чтобы DNS запросы с вашего сервера пересылались через публичную сеть Интернет. В этом случае вы можете создать на DNS сервере правило DNS пересылки DNS запросов для определенной доменной зоны (только !!!) на определенный DNS сервер.
Настройка DNS Conditional Forwarder в Windows Server
Попробуем настроить условное перенаправление DNS запросов для определенной доменной зоны на Windows Server 2016. Например, я хочу, чтобы все DNS запросы к зоне corp.winitpro.ru пересылались на DNS сервер 10.1.10.11.
- Запустите консоль управления DNS (
dnsmgmt.msc
); - Разверните ваш DNS сервер, щелкните правой кнопкой по разделу Conditional Forwarders и выберите New Conditional Forwarder;
- В поле DNS domain укажите FQDN имя домена, для которого нужно включить условную пересылку;
- В поле IP addresses of the master servers укажите IP адрес DNS сервера, на который нужно пересылать все запросы для указанного пространства имен;
- Если вы хотите хранить правило условной переадресации не только на этом DNS сервере, вы можете интегрировать его в AD. Выберите опцию “Store this conditional forwarder in Active Directory”;
- Выберите правило репликации записи conditional forwarding (All DNS servers in this forest, All DNS servers in this domain или All domain controllers in this domain).
Настройка DNS Conditional Forwarding с помощью PowerShell
Вы можете создать правило Conditional Forward для определенной DNS зоны с помощью PowerShell. Воспользуйтесь командлетом Add-DnsServerConditionalForwarderZone:
Add-DnsServerConditionalForwarderZone -Name dmz.winitpro.ru -MasterServers 192.168.1.11,192.168.101.11 -ReplicationScope Forest
Чтобы вывести список DNS Conditional Forwarders на определенном сервере, выполните следующий PowerShell скрипт:
$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 2016
В Windows Server 2016 появилась новая фича в службе DNS сервера – DNS политики. DNS политики позволяют настроить DNS сервер так, чтобы он возвращал различные ответы на DNS запросы в зависимости от местоположения клиента (с какого IP адреса или подсети пришел запрос), интерфейса DNS сервера, времени суток, типа запрошенной записи (A, CNAME, PTR, MX) и т.д. DNS политики в Windows Server 2016 позволяют реализовать сценарии балансировки нагрузки, фильтрации DNS трафика, возврата DNS записей в зависимости от геолокации (IP адреса клиента) и многие другие сложные сценарии.
Вы можете создать политику как на уровне DNS сервера, так и на уровне всей зоны. Настройка DNS политик в Windows Server 2016 возможна только из командной строки PowerShell.
Попробуем создать простую политику, которая позволяет вернуть разный ответ на DNS запрос в зависимости от геолокации клиента. Допустим, вы хотите, чтобы клиенты в каждом офисе использовали собственный прокси на площадке. Вы создали политику назначения прокси в домене (на всех клиентах будет указано proxy.winitpro.ru). Но клиент из каждого офиса должен резолвить этот адрес по-разному, чтобы использовать для доступа свой локальный прокси-сервер.
Я создал 3 подсети для разных офисов компании:
Add-DnsServerClientSubnet -Name "MSK_DNS_Subnet" -IPv4Subnet "192.168.1.0/24"
Add-DnsServerClientSubnet -Name "EKB_DNS_Subnet" -IPv4Subnet "192.168.11.0/24"
Add-DnsServerClientSubnet -Name "SPB_DNS_Subnet" -IPv4Subnet "192.168.21.0/24"
Эти команды придется выполнить на всех DNS серверах, на которых должна работать условная политика DNS. Эти записи не реплицируются в DNS и хранятся локально в реестре DNS сервера. Вы можете указать имя сервера с помощью параметра
-ComputerName dc01
.
Чтобы вывести список всех IP подсетей клиентов, выполните:
Get-DnsServerClientSubnet
Теперь нужно для каждого офиса создать отдельную DNS область:
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “MSKZoneScope”
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “EKBZoneScope”
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “SPBZoneScope”
Следующие команды добавят 3 DNS записи с одним именем, но указывающие на разные IP адреса в разных областях DNS:
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.1.10” -ZoneScope “MSKZoneScope”
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.11.10” -ZoneScope “EKBZoneScope”
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.21.10” -ZoneScope “SPBZoneScope”
Вы можете вывести все ресурсные DNS записи для области с помощью команды:
Get-DnsServerResourceRecord -ZoneName “winitpro.ru” -ZoneScope SPBZoneScope
Теперь нужно создать DNS политики, которые свяжут IP подсети, DNS области и A записи.
Add-DnsServerQueryResolutionPolicy -Name “MSKResolutionPolicy” -Action ALLOW -ClientSubnet “eq,MSK_DNS_Subnet” -ZoneScope “MSKZoneScope,1” -ZoneName “winitpro.ru” –PassThru
Add-DnsServerQueryResolutionPolicy -Name “EKBResolutionPolicy” -Action ALLOW -ClientSubnet “eq,EKB_DNS_Subnet” -ZoneScope “EKBZoneScope,1” -ZoneName “winitpro.ru” -PassThru
Add-DnsServerQueryResolutionPolicy -Name “SPBResolutionPolicy” -Action ALLOW -ClientSubnet “eq,SPB_DNS_Subnet” -ZoneScope “SPBZoneScope,1” -ZoneName “winitpro.ru” –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 winitpro.ru
Теперь с устройств из различных офисов проверьте, что DNS сервер на один и тот же запрос возвращает различные IP адреса прокси:
nslookup proxy.winitpro.ru
Можно запретить DNS серверу возвращать DNS адреса для определенного пространства имен (домена):
Add-DnsServerQueryResolutionPolicy -Name 'BlockFidhingPolicy' -Action IGNORE -FQDN "EQ,*.cberbank.ru"
To put it simple, you can understand DNS forwarding as a method for DNS server to resolve a query by “asking for a help” from another DNS server. It is supported by on Windows DNS server, including Windows Server 2012 R2. The default behaviour is that Windows DNS Server will forward query that it cannot resolve to a list of public DNS servers on the internet which is called the root hints. But if you Configure DNS Forwarding in Windows Server 2012 R2, then it will forward the query to the designated DNS server which is called the forwarder.
If you install DNS server on Windows Server 2012 R2, you can configure DNS forwarding by using DNS Manager or PowerShell.
Using DNS Manager
On the server where DNS Server role installed, open Server Manager then navigate to Tools > DNS to open up the DNS Manager.
In the DNS Manager, right click the DNS server hostname on the left-pane and select Properties.
Click on Forwarders tab, then click on Edit button.
Enter the IP address of the other DNS server (forwarder) then press Enter. If the IP address is a valid DNS server then it will show green checklist icon as in the picture below. Repeat this for each forwarder servers that you want.
You can click OK to confirm the settings.
Using PowerShell
You can also configure DNS forwarding in Windows Server 2012 R2 by using PowerShell. Below is the command you need to enter in an elevated PowerShell window:
Add-DnsServerForwarder —IPAddress FORWARDER_IP
Alternatively, you can also use the command below:
Set-DnsServerForwarder —IPAddress FORWARDER_IP
You only need to adjust the FORWARDER_IP value to match your configuration plan. You can specify more than one forwarder in a single command by separating each IP address with a comma. Note that there is difference between the two commands above. The “Add” command will append the specified forwarder IP to the existing list of forwarders that you have. Meanwhile, the “Set” command will overwrite the existing forwarders list with the specified IP address.
Here’s example of adjustment in the query that will resulting the same as the previous example:
Verification
To verify that DNS forwarding works, you can attempt to resolve any names that is not in the DNS server data. In this example, our DNS server only has data for names in domain mustbegeek.com. Therefore, now we will test to resolve for domain corp.mbg.com.
Before we have DNS forwarding configured to the authoritative server for domain corp.mbg.com, our DNS clients unable to get the name resolution for corp.mbg.com.
After DNS forwarding configured, our clients able to get the name resolution for corp.mbg.com.
Working with DNS Forwarding in Windows DNS Server
Before you configure DNS forwarding, you should make sure that recursion is not disabled on the server. DNS forwarding requires recursion to request for information from the forwarders on behalf of the client.
By default recursion is enabled on Windows DNS Server but in some case it may be disabled. To check if recursion enabled, you can go to the DNS server properties in the Advanced tab. Then, under Server Options, confirm that no tick mark on the check box for Disable recursion setting.
And that’s all you need to know to configure DNS forwarding in Windows Server 2012 R2.
The following two tabs change content below.
- Bio
- Latest Posts
I am IT practitioner in real life with specialization in network and server infrastructure. I have years of experience in design, analysis, operation, and optimization of infrastructure solutions for enterprise-scaled network. You can send me a message on LinkedIn or email to arranda.saputra@outlook.com for further inquiry regarding stuffs that I wrote or opportunity to collaborate in a project.
Статья давно не обновлялась, поэтому информация могла устареть.
Чтобы установить DNS-сервер
Откройте диспетчер сервера. Чтобы открыть диспетчер сервера, щелкните Пуск, затем выберите Диспетчер сервера.
В области результатов, в разделе Сводка по ролям щелкните элемент Добавить роли.
В мастере добавления ролей при появлении страницы Прежде чем приступить к работе нажмите кнопку Далее.
В списке Роли щелкните DNS-сервер, а затем нажмите кнопку Далее.
Прочитайте сведения на странице DNS-сервер, затем нажмите кнопку Далее.
На странице Подтверждение параметров установки убедитесь, что будет установлена роль DNS-сервера, затем нажмите кнопку Установить.
Настройка
Чтобы настроить параметры DNS-сервера, щелкните правой кнопкой мыши имя нужного сервера и в контекстном меню выберите Свойства.
На вкладке Интерфейсы вы можете указать IP-адреса интерфейсов, которые будет «прослушивать» DNS-сервер и отвечать на DNS-запросы. Изменять этот параметр имеет смысл только при использовании нескольких сетевых адаптеров или при настройке нескольких IP-адресов для сетевых интерфейсов.
Если переключатель Прослушивать установлен в положение По всем IP-адресам, DNS-сервер отвечает на запросы, полученные через любой сетевой интерфейс. Если же переключатель установлен в положение Только по указанным IP-адресам, добавьте в список IP-адреса, через которые сервер будет обслуживать запросы — вводите их в поле IP-адрес и щелкайте кнопку Добавить. По щелчку кнопки Удалить адрес из списка удаляется.
На вкладке Пересылка вы можете настроить IP-адреса серверов, использующихся для пересылки DNS-запросов. Ваш DNS-сервер будет переадресовывать все запросы, не относящиеся к его зоне ответственности, на указанные серверы. В этом случае по отношению к вышестоящим серверам он ведет себя как DNS-клиент. Метод пересылки запросов удобен при использовании межсетевых экранов (firewall) для защиты внутренней сети: все запросы на разрешение имен внутренние DNS-серверы пересылают на внешние. Также этот метод может использоваться для уменьшения трафика по каналам с малой пропускной способностью — в этом случае все запросы перенаправляются на DNS-сервер провайдера, который, в свою очередь, осуществляет разрешение имени.
Используя поле IP-адрес и кнопки Добавить и Удалить, вы можете указать список серверов, на которые будут пересылаться запросы. Кнопки Вверх и Вниз служат для изменения порядка опроса DNS-серверов. Если первый сервер не пришлет ответ в течение времени, указанного в поле Время ожидания пересылки, запрос будет отправлен на следующий сервер из списка, и т. д. Если ни один из перечисленных серверов не смог ответить на DNS-запрос за отведенное время, настраиваемый DNS-сервер пытается выполнить рекурсивный запрос для разрешения имени самостоятельно. Установка флажка Не использовать рекурсию запрещает серверу выполнять рекурсивные запросы, и он возвращает сообщение об ошибке.
На вкладке Дополнительно вы можете настроить дополнительные параметры DNS-сервера. Они загружаются при запуске службы DNS-сервера из информационного загрузочного файла, системного реестра или Active Directory. В большинстве случаев значения параметров, установленные по умолчанию, не требуют модификации.
В поле Номер версии сервера вы можете узнать номер версии службы DNS-сервера. Это бывает необходимо для выяснения совместимости службы DNS-сервера Windows с другими DNS-серверами.
Раскрывающийся список Проверка имен позволяет выбрать метод проверки имен при изменении записей средствами Консоли управления. Возможны следующие значения:
Строгое следование (Strict) RFC (ANSI) — все вводимые имена должны полностью соответствовать требованиям стандарта RFC 1123;
- Не (Non) RFC (ANSI) — допускается ввод нестандартных имен, недопустимых стандартом RFC 1123;
- Многобайтовый (UTF8) — допускается ввод имен, содержащих не ASCII-символы, включая символы в кодировке Unicode, которые обычно требуют для своего хранения более одного байта. Этот режим проверки выбран по умолчанию.
Раскрывающийся список Загружать зону при старте позволяет указать, откуда будут загружаться параметры службы DNS-сервера при ее запуске. Возможны следующие значения:
Из реестра — параметры службы DNS-сервера загружаются из системного реестра. Для хранения параметров службы используется ветвь реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\ Parameters. Из файла — параметры службы загружаются из специального файла по аналогии с серверами BIND (Berkeley Internet Name Domain). Для использования этого режима необходим загрузочный файл (обычно с именем Named.boot) с другого DNS-сервера, использующего BIND. В Windows Server 2003 этот файл должен иметь имя boot и располагаться в папке %systemroot%\system32\dns. Файл должен иметь более ранний формат BIND 4, а не BIND 8. Для всех параметров, не настраиваемых через загрузочный файл, будут использоваться значения из системного реестра. Из Active Directory и реестра — параметры службы DNS-сервера загружаются из Active Directory и системного реестра. Этот режим загрузки используется по умолчанию.
Установив флажок Разрешить автоматическое удаление устаревших записей, вы включаете автоматическое удаление устаревших записей зон DNS-сервера. Чтобы механизм автоматического обновления работал, он должен быть включен для сервера в целом. В поле Период очистки введите период времени, по прошествии которого производится анализ и удаление устаревших записей. Из соображений производительности сервера не рекомендуется устанавливать период автоматического удаления менее 1 часа.
Щелкнув кнопку Восстановить умолчания, вы восстановите значения параметров по умолчанию.
При хранении конфигурации в загрузочном файле или в системном реестре для применения новых значений параметров необходимо перезапустить службу DNS-сервера. При хранении конфигурации в Active Directory некоторые параметры начинают действовать по щелчку кнопки OK в окне свойств.
На вкладке Корневые ссылки вы можете отредактировать список корневых DNS-серверов, ответственных за обслуживание корневой зоны, именуемой «.» (точка). Эта информация используется DNS-сервером при выполнении рекурсивных запросов на разрешение имени.
Сведения о корневых серверах хранятся в файле %systemroot%\system32\DNS\ Cache.dns. Вы можете редактировать его вручную в текстовом редакторе, либо воспользоваться вкладкой Корневые ссылки окна свойств DNS-сервера. Файл корневых ссылок Cache.dns автоматически создается и заполняется при первом запуске службы DNS-сервера Windows Server 2003.
Вы можете обновить или модифицировать файл корневых ссылок в зависимости от используемой конфигурации DNS-серверов.
Если ваша сеть подключена к Интернету, при необходимости можно обновить файл cache.dns, загрузив новую версию файла корневых ссылок Named.root по адресу ftp://rs.internic.net/domain/named.root. Переименуйте полученный файл в cache.dns. Если ваша сеть не подключена к Интернету, можно сохранить файл cache.dns в надежном месте, очистить его и добавить адреса серверов, ответственных за обслуживание корневого домена. На серверах, обслуживающих корневой домен, этот файл может быть вообще удален, т. к. для нормальной работы корневых серверов он не нужен.
Чтобы добавить новый корневой сервер, щелкните кнопку Добавить. В появившемся окне введите DNS-имя сервера (или, если оно определено в одной из зон, обслуживаемых локальным сервером, найдите его, щелкнув кнопку Обзор). Если соответствующий хост уже имеет доменное имя DNS, щелкните кнопку Сопоставить, чтобы получить IP-адрес хоста. Если же у него еще нет доменного имени DNS, самостоятельно укажите один или более IP-адресов сервера, последовательно вводя их в поле IP-адрес и щелкая кнопку Добавить. Для добавления DNS-сервера должно быть указано и его имя, и как минимум один его IP-адрес. Заполнив все необходимые поля, щелкните кнопку ОК.
Чтобы изменить информацию о корневом сервере, щелкните кнопку Изменить.
При добавлении корневого сервера в файл cache.dns заносятся две записи: запись NS сервера и запись A соответствующего хоста. Запись A добавляется независимо от того, определена она в какой-либо зоне или нет. Такая запись называется glue record и предназначена для того, чтобы соответствующее имя хоста можно было использовать даже в случае неработоспособности зоны, в которой он определен. DNS-сервер Windows Server 2003 добавляет glue-записи для всех серверов, указываемых в записях NS.
Ниже приводится содержимое стандартного файла cache.dns:
- cache.dns — DNS CACHE FILE
- Initial cache data for root domain servers.
- YOU SHOULD CHANGE
- -> Nothing if connected to the Internet. Edit this file only when
- updated root name server list is released.
- OR
- -> If NOT connected to the Internet, remove these records and replace
- with NS and A records for the DNS server authoritative for the
- root domain at your site.
- Note, if you are a root domain server, for your own private intranet,
- no cache is required, and you may edit your boot file to remove
- it.
- This file holds the information on root name servers needed to
- initialize cache of Internet domain name servers
- (e.g. reference this file in the «cache . «
- configuration file of BIND domain name servers).
- This file is made available by InterNIC
- under anonymous FTP as
- file /domain/named.root
- on server FTP.INTERNIC.NET
- last update
- Nov 5, 2002
- related version of root zone
- 2002110501
- formerly NS.INTERNIC.NET
. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
- formerly NS1.ISI.EDU
. 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
- formerly C.PSI.NET
. 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
- formerly TERP.UMD.EDU
. 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
- formerly NS.NASA.GOV
. 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
- formerly NS.ISC.ORG
. 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
- formerly NS.NIC.DDN.MIL
. 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
- formerly AOS.ARL.ARMY.MIL
. 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
- formerly NIC.NORDU.NET
. 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
- operated by VeriSign, Inc.
. 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
- housed in LINX, operated by RIPE NCC
. 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
- operated by IANA
. 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
- housed in Japan, operated by WIDE
. 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
- End of File
Не изменяйте список корневых серверов без крайней на то необходимости! Использование неверных адресов в этом списке или его очистка может привести к невозможности выполнения рекурсивных DNS-запросов, что в свою очередь приведет к невозможности разрешения практически всех доменных имен.
На вкладке Ведение журнала отладки вы можете настроить список параметров, фиксируемых в журнале DNS-сервера. Журнал располагается в файле %systemroot%\ system32\dns\dns.log. Чтобы начать ведение журнала, включите как минимум один параметр журнала и щелкните кнопку ОК.
Чтобы включить параметр, установите соответствующий флажок.
В журнале могут фиксироваться следующие события:
Запросы и передачи — фиксируются все запросы клиентов на разрешение имен; Уведомление — фиксируются уведомления, посылаемые серверу другими DNS-серверами; Обновление — фиксируются все динамические обновления; Запрос — фиксируются основные параметры запроса на разрешение имени; Отклик — фиксируются основные параметры ответа на запрос на разрешение имени; Исходящие — фиксируется количество запросов, отправленных DNS-сервером; Входящие — фиксируется количество запросов, полученных DNS-сервером; UDP — фиксируется количество запросов, полученных DNS-сервером через UDP-порт; TCP — фиксируется количество запросов, полученных DNS-сервером через TCP-порт;
Функция ведения журнала DNS-сервера предназначена исключительно для отладки его работы и не должна использоваться при нормальной работе сервера по причине ее большой ресурсоемкости.
На вкладке Наблюдение вы можете осуществить проверку работоспособности сервера путем выполнения ряда стандартных запросов к этому и другим DNS-серверам.
Вы можете использовать два вида тестов.
Простой запрос к этому DNS-серверу — для теста используется локальный DNS-клиент, при помощи которого DNS-серверу отправляется итеративный запрос (с запретом использования рекурсии); Рекурсивный запрос к другим DNS-серверам — для теста используется локальный DNS-клиент, при помощи которого DNS-серверу отправляется рекурсивный запрос.
После того как вы выберете хотя бы один тест, станет доступна кнопка Тест. Кроме того, установив флажок Автоматическое тестирование и желаемый интервал выполнения проверки в поле Интервал теста, вы можете включить автоматическую многократную проверку сервера через определенные интервалы времени. Одиночный или многократный тест запускается щелчком кнопки Тест.
Результаты тестов выводятся в таблице в нижней части окна. В ней отображается дата и время исполнения каждого теста, а также результат (ПРОШЕЛ или ОШИБКА ) простого и рекурсивного запросов.
Вкладка Безопасность позволяет устанавливать права доступа к объектам службы DNS определенным пользователям и группам пользователей, устанавливая тем самым уровень безопасности и защищенности службы.
This guide is for system administrators running their internal DNS using Windows Server 2016/2019.
When running your own DNS, we recommend configuring CleanBrowsing as a forwarder on your network. This ensure you retain full control of your network, while taking advantage of the filtering our service offers.
What is a DNS Forwarder?
DNS forwarding allows you to designate a third-party to resolve all, or a specific set, of DNS queries from your network while offering the administrator full control of what is happening on the network. Having this type of configuration also allow you to differentiate from internal and external queries, and configure the traffic accordingly.
DNS Forwarder on Windows Server 2016/2019
Configuring a forwarder on the Windows Server 2019 DNS server is a matter of a few clicks.
1 – Open the DNS Manager ( Server Manager > Tools > DNS or dnsmgmt.msc)
2 – Right-click Hostname and select Properties
3 – Click the Forwarders tab and click the Edit button
4 – Enter the IPv4 DNS values provided in your dashboard:
That’s it, click OK and you should see a new Forwarders file appear in the DNS Manager.
Содержание
- Настройка DNS-сервера для использования серверов пересылки
- Настройка DNS-сервера для использования пересылки
- Дополнительные сведения
- Дополнительная информация
- Условное разрешение DNS имен в Windows Server: DNS Conditional Forwarding, политики DNS
- Настройка DNS Conditional Forwarder в Windows Server
- Настройка DNS Conditional Forwarding с помощью PowerShell
- Фильтрация запросов DNS, политики разрешения имен в Windows Server 2016
Настройка DNS-сервера для использования серверов пересылки
Сервер пересылки — это DNS-сервер в сети, который пересылает DNS-запросы внешних DNS-имен на DNS-серверы за пределами этой сети. Сервер также можно настроить на пересылку запросов в соответствии с определенными именами домена, используя условную пересылку.
DNS-сервер используется как сервер пересылки, когда другие DNS-серверы в сети настроены на переадресацию запросов, которые не могут быть разрешены локально, на этот DNS-сервер. С помощью сервера пересылки можно управлять разрешением имен для имен, находящихся за пределами организации, например в сети Интернет, что может способствовать увеличению эффективности разрешения имен для компьютеров в сети. Дополнительные сведения об использовании серверов пересылки и условной пересылки см. в разделе Общее представление о серверах пересылки.
Минимальным требованием для выполнения этой процедуры является членство в группе Администраторы или наличие эквивалентных прав. Подробные сведения об использовании соответствующих учетных записей и членства в группах см. на странице https://go.microsoft.com/fwlink/?LinkId=83477 .
Настройка DNS-сервера для использования пересылки
Чтобы настроить DNS-сервер для использования пересылки с помощью интерфейса Windows |
Откройте диспетчер DNS.
В дереве консоли щелкните необходимый DNS-сервер.
В меню Действие выберите команду Свойства.
На вкладке Серверы пересылки в разделе Домен DNS щелкните имя домена.
В поле Список IP-адресов серверов пересылки для выбранного домена введите IP-адрес сервера пересылки, а затем нажмите кнопку Добавить.
Дополнительные сведения
- Чтобы открыть диспетчер DNS, нажмите кнопку Пуск, выберите Администрирование, затем щелкнете DNS.
Чтобы создать новое доменное имя, нажмите кнопку Создать, затем в разделе Домен DNS введите имя домена.
При указании сервера условной пересылки выберите DNS-имя домена, прежде чем ввести IP-адрес.
По умолчанию DNS-сервер пять секунд ожидает ответа от IP-адреса одного сервера пересылки, прежде чем пытаться связаться с IP-адресом другого сервера. В поле Время ожидания пересылки (сек) можно изменить количество секунд, в течение которых DNS-сервер будет ожидать ответа. Если ни один сервер пересылки не отозвался, начинается стандартная процедура рекурсии.
Если DNS-сервер должен использовать только серверы пересылки и не пытаться выполнять дальнейшую рекурсию, установите флажок Не использовать рекурсию для этого домена.
Можно отключить рекурсию для DNS-сервера, чтобы она не выполнялась для любого запроса. Если рекурсия на DNS-сервере отключена, на этом сервере невозможно будет использовать пересылку.
Не вводите IP-адрес сервера пересылки более одного раза в списке серверов пересылки для DNS-сервера, даже если это более надежный или географически близкий сервер пересылки. Если предпочтение отдается одному из серверов пересылки, поместите его первым в списке IP-адресов серверов пересылки.
Нельзя использовать имя домена в качестве сервера условной пересылки, если DNS-сервер содержит основную зону, дополнительную зону или зону-заглушку для этого имени домена. Например, если DNS-сервер является полномочным для имени домена corp.contoso.com (то есть он содержит основную зону для этого имени домена), нельзя настроить DNS-сервер на использование сервера условной пересылки для corp.contoso.com.
Можно предотвратить обычные проблемы, связанные с серверами пересылки, путем настройки DNS-серверов таким образом, чтобы они не использовали серверы пересылки избыточно.
Чтобы настроить DNS-сервер для использования пересылки с помощью командной строки |
Откройте окно командной строки.
Введите указанную ниже команду и нажмите клавишу ВВОД.
Имя средства командной строки, предназначенного для управления DNS-серверами.
Обязательный компонент. DNS-имя узла, на котором содержится DNS-сервер. Также можно ввести IP-адрес DNS-сервера. Чтобы указать DNS-сервер на локальном компьютере, можно ввести точку (.).
Обязательный компонент. Настройка сервера пересылки.
Обязательный компонент. Разделенный пробелами список, состоящий из одного или нескольких IP-адресов DNS-серверов, на которые пересылаются запросы. Можно указать список IP-адресов, разделенных запятыми.
Параметр времени ожидания. Параметр времени ожидания — это количество секунд перед истечением срока действия пересланных запросов.
Указывает значение для параметра /TimeOut. Значение указывается в секундах. По умолчанию это время составляет 5 секунд.
Определяет, использует ли DNS-сервер рекурсию при запросе имени домена, указанного в параметре имя_зоны.
Чтобы просмотреть полный синтаксис этой команды, введите следующий текст в командной строке, а затем нажмите клавишу ВВОД:
Дополнительная информация
- Чтобы открыть окно командной строки с более высоким уровнем прав, нажмите кнопку Пуск, выберите Все программы, Стандартные, щелкните правой кнопкой мыши пункт Командная строка, а затем выберите пункт Выполнить от имени администратора.
Чтобы указать сервер условной пересылки для зоны, используйте следующую команду:
Команда /ZoneAdd служит для добавления зоны, указанной в параметре имя_зоны. Параметр IP-адрес — это IP-адрес, на который DNS-сервер будет пересылать неразрешенные DNS-запросы. С помощью параметра /Slave DNS-сервер обозначается как подчиненный сервер. При указанном параметре /NoSlave (параметр по умолчанию) DNS-сервер не является подчиненным сервером, а это означает, что он может выполнять рекурсию. Параметры /Timeout и Время были рассмотрены в предыдущей таблице.
Чтобы просмотреть зону, добавленную только как сервер условной пересылки, используйте следующую команду:
Чтобы сбросить IP-адреса сервера пересылки для имени домена сервера условной пересылки, используйте следующую команду:
С помощью параметра /Local можно задать локальный список главных серверов для серверов пересылки, интегрированных в Active Directory. Параметр IP-адреса_серверов является списком, состоящим из одного или нескольких IP-адресов главных серверов для зоны. Главными серверами могут быть DNS-серверы, содержащие основные или дополнительные копии зоны, однако в главные серверы не могут быть записаны IP-адреса DNS-серверов таким образом, чтобы два DNS-сервера, содержащие копии зоны, использовали друг друга в качестве главных серверов. Такая настройка приведет к созданию циклической пересылки.
Нельзя использовать имя домена в качестве сервера условной пересылки, если DNS-сервер содержит основную зону, дополнительную зону или зону-заглушку для этого имени домена. Например, если DNS-сервер является полномочным для имени домена corp.contoso.com (то есть он содержит основную зону для этого имени домена), нельзя настроить DNS-сервер на использование сервера условной пересылки для corp.contoso.com.
Можно предотвратить обычные проблемы, связанные с серверами пересылки, путем настройки DNS-серверов таким образом, чтобы они не использовали серверы пересылки избыточно.
Условное разрешение DNS имен в Windows Server: DNS Conditional Forwarding, политики DNS
В этой статье мы рассмотрим два способа организации условного разрешения имен в DNS сервере на Windows Server 2016: DNS conditional forwarding и DNS policy. Эти технологии позволяют настроить условное разрешение DNS имен в зависимости от запрошенного имени, IP адреса и местоположения клиента, времени суток и т.д.
Условная пересылка DNS (Conditional Forwarding) позволяет перенаправить DNS запросы об определенном домене на определенные DNS-сервера. Обычно Conditional Forwarders используется, когда нужно настроить быстрое разрешение имен между несколькими внутренними приватными доменами, или вы не хотите, чтобы DNS запросы с вашего сервера пересылались через публичную сеть Интернет. В этом случае вы можете создать на DNS сервере правило DNS пересылки DNS запросов для определенной доменной зоны (только . ) на определенный DNS сервер.
Настройка DNS Conditional Forwarder в Windows Server
Попробуем настроить условное перенаправление DNS запросов для определенной доменной зоны на Windows Server 2016. Например, я хочу, чтобы все DNS запросы к зоне corp.winitpro.ru пересылались на DNS сервер 10.1.10.11.
- Запустите консоль управления DNS ( dnsmgmt.msc );
- Разверните ваш DNS сервер, щелкните правой кнопкой по разделу Conditional Forwarders и выберите New Conditional Forwarder;
- В поле DNS domain укажите FQDN имя домена, для которого нужно включить условную пересылку;
- В поле IP addresses of the master servers укажите IP адрес DNS сервера, на который нужно пересылать все запросы для указанного пространства имен;
- Если вы хотите хранить правило условной переадресации не только на этом DNS сервере, вы можете интегрировать его в AD. Выберите опцию “Store this conditional forwarder in Active Directory”;
- Выберите правило репликации записи conditional forwarding (All DNS servers in this forest, All DNS servers in this domain или All domain controllers in this domain).
Настройка DNS Conditional Forwarding с помощью PowerShell
Вы можете создать правило Conditional Forward для определенной DNS зоны с помощью PowerShell. Воспользуйтесь командлетом Add-DnsServerConditionalForwarderZone:
Add-DnsServerConditionalForwarderZone -Name dmz.winitpro.ru -MasterServers 192.168.1.11,192.168.101.11 -ReplicationScope Forest
Чтобы вывести список DNS Conditional Forwarders на определенном сервере, выполните следующий PowerShell скрипт:
$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 2016
В Windows Server 2016 появилась новая фича в службе DNS сервера – DNS политики. DNS политики позволяют настроить DNS сервер так, чтобы он возвращал различные ответы на DNS запросы в зависимости от местоположения клиента (с какого IP адреса или подсети пришел запрос), интерфейса DNS сервера, времени суток, типа запрошенной записи (A, CNAME, PTR, MX) и т.д. DNS политики в Windows Server 2016 позволяют реализовать сценарии балансировки нагрузки, фильтрации DNS трафика, возврата DNS записей в зависимости от геолокации (IP адреса клиента) и многие другие сложные сценарии.
Вы можете создать политику как на уровне DNS сервера, так и на уровне всей зоны. Настройка DNS политик в Windows Server 2016 возможна только из командной строки PowerShell.
Попробуем создать простую политику, которая позволяет вернуть разный ответ на DNS запрос в зависимости от геолокации клиента. Допустим, вы хотите, чтобы клиенты в каждом офисе использовали собственный прокси на площадке. Вы создали политику назначения прокси в домене (на всех клиентах будет указано proxy.winitpro.ru). Но клиент из каждого офиса должен резолвить этот адрес по-разному, чтобы использовать для доступа свой локальный прокси-сервер.
Я создал 3 подсети для разных офисов компании:
Add-DnsServerClientSubnet -Name «MSK_DNS_Subnet» -IPv4Subnet «192.168.1.0/24»
Add-DnsServerClientSubnet -Name «EKB_DNS_Subnet» -IPv4Subnet «192.168.11.0/24»
Add-DnsServerClientSubnet -Name «SPB_DNS_Subnet» -IPv4Subnet «192.168.21.0/24»
Чтобы вывести список всех IP подсетей клиентов, выполните:
Теперь нужно для каждого офиса создать отдельную DNS область:
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “MSKZoneScope”
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “EKBZoneScope”
Add-DnsServerZoneScope -ZoneName “winitpro.ru” -Name “SPBZoneScope”
Следующие команды добавят 3 DNS записи с одним именем, но указывающие на разные IP адреса в разных областях DNS:
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.1.10” -ZoneScope “MSKZoneScope”
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.11.10” -ZoneScope “EKBZoneScope”
Add-DnsServerResourceRecord -ZoneName “winitpro.ru” -A -Name “proxy” -IPv4Address “192.168.21.10” -ZoneScope “SPBZoneScope”
Get-DnsServerResourceRecord -ZoneName “winitpro.ru” -ZoneScope SPBZoneScope
Теперь нужно создать DNS политики, которые свяжут IP подсети, DNS области и A записи.
Add-DnsServerQueryResolutionPolicy -Name “MSKResolutionPolicy” -Action ALLOW -ClientSubnet “eq,MSK_DNS_Subnet” -ZoneScope “MSKZoneScope,1” -ZoneName “winitpro.ru” –PassThru
Add-DnsServerQueryResolutionPolicy -Name “EKBResolutionPolicy” -Action ALLOW -ClientSubnet “eq,EKB_DNS_Subnet” -ZoneScope “EKBZoneScope,1” -ZoneName “winitpro.ru” -PassThru
Add-DnsServerQueryResolutionPolicy -Name “SPBResolutionPolicy” -Action ALLOW -ClientSubnet “eq,SPB_DNS_Subnet” -ZoneScope “SPBZoneScope,1” -ZoneName “winitpro.ru” –PassThru
- -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 winitpro.ru
Теперь с устройств из различных офисов проверьте, что DNS сервер на один и тот же запрос возвращает различные IP адреса прокси:
Можно запретить DNS серверу возвращать DNS адреса для определенного пространства имен (домена):
Параметр | Описание |
---|---|