Управление трафиком на основе географического расположения на основных и вспомогательных серверах с помощью политики DNS
С помощью этого раздела вы узнаете, как создать политику DNS для управления трафиком на основе геолокации, если развертывание DNS включает как первичные, так и вторичные DNS-серверы.
В предыдущем сценарии используйте политику DNS для управления трафиком на основе геолокации с основными серверами, указав инструкции по настройке политики DNS для управления трафиком на основе геолокации на первичном DNS-сервере. Однако в инфраструктуре Интернета DNS-серверы широко развертываются в первичной вторичной модели, где записываемая копия зоны хранится на выборах и защищенных первичных серверах, а копии зоны только для чтения хранятся на нескольких дополнительных серверах.
На вторичных серверах используются протоколы передачи зоны ,доверенные методы передачи (AXFR) и добавочная передача зоны (IXFR) для запроса и получения обновлений зоны, включающих новые изменения в зоны на первичных DNS-серверах.
Примечание.
Дополнительные сведения о AXFR см. в запросе IETF для комментариев 5936. Дополнительные сведения о IXFR см. в запросе IETF для комментариев 1995.
Пример управления трафиком на основе первичного вторичного геолокации
Ниже приведен пример использования политики 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. Эти вторичные серверы работают в качестве серверов имен в двух разных регионах, с дополнительным серверомServer1, расположенным в Европе и SecondaryServer2, расположенных в США.
На primaryServer (IP-адрес 10.0.0.1) есть копия основной записываемой зоны, в которой вносятся изменения зоны. При передаче регулярной зоны на вторичные серверы вторичные серверы всегда обновляются с новыми изменениями зоны на первичном сервере.
На следующем рисунке показан этот сценарий.
Как работает система первичного-вторичного DNS
При развертывании геолокации управления трафиком на основе географического расположения в основном развертывании DNS важно понимать, как обычные передачи первично-вторичной зоны выполняются перед изучением передачи уровня области зоны. В следующих разделах содержатся сведения о передаче уровня зоны и зоны.
- Передача зоны в основном-вторичном развертывании DNS
- Передача уровня области зоны в основном развертывании DNS-вторичного развертывания
Передача зоны в основном-вторичном развертывании DNS
Вы можете создать первичное вторичное развертывание DNS и синхронизировать зоны со следующими шагами.
- При установке DNS основная зона создается на основном DNS-сервере.
- На сервере-получателе создайте зоны и укажите первичные серверы.
- На первичных серверах можно добавить вторичные серверы в качестве доверенных вторичных файлов в основной зоне.
- Вторичные зоны делают полный запрос на передачу зоны (AXFR) и получают копию зоны.
- При необходимости первичные серверы отправляют уведомления на вторичные серверы об обновлениях зоны.
- Вторичные серверы делают добавочный запрос на передачу зоны (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, содержащий этот RR и тот же процесс, что описано выше.
Настройка политики DNS для управления трафиком на основе первичного вторичного геолокации
Прежде чем начать, убедитесь, что вы выполнили все действия, описанные в разделе " Использование политики DNS для управления трафиком на основе географического расположения с основными серверами, а основной DNS-сервер настроен с зонами, областями зоны, подсетями DNS-клиента и политикой 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.
Настройка параметров передачи зоны в основной зоне
Необходимо настроить параметры основной зоны таким образом:
- Разрешены передачи зоны с основного сервера на указанные вторичные серверы.
- Уведомления об обновлении зоны отправляются первичным сервером на вторичные серверы.
Для настройки параметров передачи зоны в основной зоне можно использовать следующие команды 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-клиента, ответ запроса возвращается из правильной области зоны. Для сопоставления области зоны по умолчанию не требуются политики.
Для создания политики DNS, которая связывает подсети КЛИЕНТА DNS и области зоны, можно использовать следующие команды Windows PowerShell.
$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-сервер в входящих запросах.