Управление трафиком на основе географического расположения на основных и вспомогательных серверах с помощью политики DNS

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

В этом разделе вы узнаете, как создать политику DNS для управления трафиком на основе геолокации, если развертывание DNS включает как первичные, так и вторичные DNS-серверы.

В предыдущем сценарии используйте политику DNS для управления трафиком на основе Geo-Location с основными серверами, указав инструкции по настройке политики DNS для управления трафиком на основе географического расположения на основном DNS-сервере. Однако в инфраструктуре Интернета DNS-серверы широко развертываются в основной вторичной модели, где записываемая копия зоны хранится на выборах и защищенных первичных серверах, а копии зоны доступны только для чтения, хранятся на нескольких дополнительных серверах.

Серверы-получатели используют протоколы делегированной передачи зоны (AXFR) и добавочную передачу зоны (IXFR) для запроса и получения обновлений зоны, включающих новые изменения в зоны на первичных DNS-серверах.

Примечание

Дополнительные сведения об AXFR см. в запросе IETF для комментариев 5936. Дополнительные сведения о IXFR см. в запросе IETF для комментариев 1995.

Пример управления трафиком на основе Primary-Secondary Geo-Location

Ниже приведен пример использования политики DNS в основном дополнительном развертывании для перенаправления трафика на основе физического расположения клиента, выполняющего ЗАПРОС DNS.

В этом примере используются две вымышленные компании — Contoso Облачные службы, которая предоставляет решения для размещения веб-сайтов и доменов; и Woodgrove Food Services, которые предоставляют услуги доставки продуктов питания в нескольких городах по всему миру, а также веб-сайт с именем woodgrove.com.

Чтобы убедиться, что woodgrove.com клиенты получают быстрый опыт работы со своим веб-сайтом, Woodgrove хочет, чтобы европейские клиенты направлялись в европейский центр обработки данных и американские клиенты, направленные в центр обработки данных США. Клиенты, расположенные в другом месте мира, могут направляться в любой из центров обработки данных.

Компания Contoso Облачные службы имеет два центра обработки данных: один в США и другой в Европе, на котором компания Contoso размещает свой портал заказа продуктов питания для woodgrove.com.

Развертывание DNS Contoso включает два сервера-получателя: SecondaryServer1 с IP-адресом 10.0.0.2; и SecondaryServer2 с IP-адресом 10.0.0.3. Эти серверы-получатели работают в качестве серверов доменных имен в двух разных регионах с secondaryServer1, расположенными в Европе и SecondaryServer2, расположенных в США.

На primaryServer (IP-адрес 10.0.0.1) есть первичная копия зоны, в которой вносятся изменения зоны. При передаче регулярной зоны на серверы-получатели серверы-получатели всегда обновляются с новыми изменениями зоны на сервере PrimaryServer.

На следующем рисунке показан этот сценарий.

Primary-Secondary Geo-Location Based Traffic Management Example

Принцип работы системы Primary-Secondary DNS

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

Передача между зонами в развертывании первичного и вторичного DNS

Вы можете создать развертывание первичного и вторичного DNS и синхронизировать зоны, выполнив следующие действия.

  1. При установке DNS основная зона создается на основном DNS-сервере.
  2. На сервере-получателе создайте зоны и укажите первичные серверы.
  3. На первичных серверах можно добавить серверы-получатели в качестве доверенных вторичных зоны в основной зоне.
  4. Вторичные зоны делают полный запрос на передачу зоны (AXFR) и получают копию зоны.
  5. При необходимости первичные серверы отправляют уведомления на вторичные серверы об обновлениях зоны.
  6. Серверы-получатели делают добавочный запрос на передачу зоны (IXFR). Из-за этого серверы-получатели остаются синхронизированными с основным сервером.

Передача уровня области зоны в основном развертывании DNS-вторичного развертывания

Сценарий управления трафиком требует дополнительных действий по секционирование зон на разные области зоны. Из-за этого необходимо выполнить дополнительные действия для передачи данных в пределах зоны на вторичные серверы, а также для передачи политик и подсетей DNS-клиента на серверы-получатели.

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

Чтобы обеспечить передачу уровня области зоны, DNS-серверы используют механизмы расширения для DNS (EDNS0) OPT RR. Все запросы на передачу зоны (AXFR или IXFR) из зон с областями происходят с EDNS0 OPT RR, идентификатор параметра которого по умолчанию имеет значение 65433. Дополнительные сведения о EDNSO см. в запросе IETF для комментариев 6891.

Значение opt RR — это имя области зоны, для которой отправляется запрос. Когда основной DNS-сервер получает этот пакет от доверенного сервера-получателя, он интерпретирует запрос как поступающий для этой области зоны.

Если основной сервер имеет область зоны, она отвечает данными передачи (XFR) из этой области. Ответ содержит opt RR с тем же идентификатором параметра "65433" и значением, установленным в той же области зоны. Серверы-получатели получают этот ответ, извлекают сведения о области из ответа и обновляют определенную область зоны.

После этого основной сервер хранит список доверенных получателей, отправляющих такой запрос области зоны для уведомлений.

Для дальнейшего обновления в области зоны уведомление IXFR отправляется на серверы-получатели с тем же оповещением OPT RR. Область зоны, получающая это уведомление, делает запрос IXFR, содержащий запрос OPT RR и тот же процесс, что описано выше.

Настройка политики DNS для управления трафиком на основе Primary-Secondary Geo-Location

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

Примечание

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

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

В следующих разделах приведены подробные инструкции по настройке.

Важно!

В следующих разделах приведены примеры Windows PowerShell команд, содержащих примеры значений для многих параметров. Перед выполнением этих команд замените примеры значений на значения, подходящие для развертывания.

Для выполнения следующих процедур требуется членство в DnsAdmins или эквиваленте.

Создание вторичных зон

Вы можете создать вторичную копию зоны, которую требуется реплицировать в SecondaryServer1 и SecondaryServer2 (если командлеты выполняются удаленно из одного клиента управления).

Например, можно создать вторичную копию www.woodgrove.com в SecondaryServer1 и SecondarySesrver2.

Для создания дополнительных зон можно использовать следующие команды Windows PowerShell.

Add-DnsServerSecondaryZone -Name "woodgrove.com" -ZoneFile "woodgrove.com.dns" -MasterServers 10.0.0.1 -ComputerName SecondaryServer1
Add-DnsServerSecondaryZone -Name "woodgrove.com" -ZoneFile "woodgrove.com.dns" -MasterServers 10.0.0.1 -ComputerName SecondaryServer2

Дополнительные сведения см. в разделе Add-DnsServerSecondaryZone.

Настройка Параметры передачи зоны в основной зоне

Необходимо настроить параметры основной зоны таким образом:

  1. Разрешена передача зоны с основного сервера на указанные серверы-получатели.
  2. Уведомления об обновлении зоны отправляются основным сервером на серверы-получатели.

Для настройки параметров передачи зоны в основной зоне можно использовать следующие команды Windows PowerShell.

Примечание

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

Set-DnsServerPrimaryZone -Name "woodgrove.com" -Notify Notify -SecondaryServers "10.0.0.2,10.0.0.3" -SecureSecondaries TransferToSecureServers -ComputerName PrimaryServer

Дополнительные сведения см. в разделе Set-DnsServerPrimaryZone.

Копирование подсетей DNS-клиента

Необходимо скопировать подсети DNS-клиента с основного сервера на сервер-получатель.

Следующие команды Windows PowerShell можно использовать для копирования подсетей на серверы-получатели.

Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer1
Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer2

Дополнительные сведения см. в разделе Add-DnsServerClientSubnet.

Создание областей зоны на сервере-получателе

Необходимо создать области зоны на серверах-получателях. В DNS области зоны также начинают запрашивать XFR с основного сервера. При любом изменении областей зоны на основном сервере уведомление, содержащее сведения о области зоны, отправляется на серверы-получатели. Затем серверы-получатели могут обновлять области зоны с добавочным изменением.

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

Get-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName PrimaryServer|Add-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName SecondaryServer1 -ErrorAction Ignore
Get-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName PrimaryServer|Add-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName SecondaryServer2 -ErrorAction Ignore

Примечание

В этих примерах команд включен параметр -ErrorAction Ignore , так как область зоны по умолчанию существует в каждой зоне. Область зоны по умолчанию не может быть создана или удалена. Конвейерная настройка приведет к попытке создать область, и она завершится ошибкой. Кроме того, можно создать области зоны, отличные от по умолчанию, в двух дополнительных зонах.

Дополнительные сведения см. в разделе Add-DnsServerZoneScope.

Настройка политики DNS

После создания подсетей секции (области зоны) и добавления записей необходимо создать политики, которые подключают подсети и секции, чтобы при выполнении запроса из источника в одной из подсетей КЛИЕНТА DNS ответ возвращается из правильной области зоны. Для сопоставления области зоны по умолчанию не требуются политики.

Следующие команды Windows PowerShell можно использовать для создания политики DNS, которая связывает подсети DNS-клиента и области зоны.

$policy = Get-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName PrimaryServer
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer1
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer2

Дополнительные сведения см. в разделе Add-DnsServerQueryResolutionPolicy.

Теперь вторичные DNS-серверы настраиваются с необходимыми политиками DNS для перенаправления трафика на основе географического расположения.

Когда DNS-сервер получает запросы разрешения имен, DNS-сервер оценивает поля в запросе DNS на соответствие настроенным политикам DNS. Если исходный IP-адрес в запросе разрешения имен соответствует любой из политик, связанная область зоны используется для ответа на запрос, и пользователь направляется к ресурсу, который географически ближе всего к ним.

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