Поделиться через


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

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

Внимание

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

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

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

  • Подсеть клиента. Имя предопределенной подсети клиента. Используется для проверки подсети, из которой был отправлен запрос.
  • Транспортный протокол. Транспортный протокол, используемый в запросе. Возможные записи: UDP и TCP.
  • Интернет-протокол. Сетевой протокол, используемый в запросе. Возможные записи: IPv4 и IPv6.
  • IP-адрес интерфейса сервера. IP-адрес сетевого интерфейса DNS-сервера, который получил DNS-запрос.
  • Полное доменное имя. Полное доменное имя (FQDN) записи в запросе с возможностью использования подстановочной карточки.
  • Тип запроса. Тип запрашиваемой записи (A, SRV, TXT и т. д.).
  • Время дня. Время получения запроса.

Для формирования выражений политики можно объединить следующие критерии с логическим оператором (AND/OR). При совпадении этих выражений политики должны выполнять одно из следующих действий.

  • Игнорировать. DNS-сервер автоматически удаляет запрос.
  • Запретить. DNS-сервер отвечает на запрос с ответом на сбой.
  • Разрешить. DNS-сервер отвечает обратно с управляемым трафиком ответом.

Пример управления трафиком на основе геолокации

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

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

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

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

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

Пример управления трафиком на основе геолокации

Как работает процесс разрешения DNS-имен

Во время процесса разрешения имен пользователь пытается подключиться к www.woodgrove.com. Это приводит к запросу разрешения DNS-имен, который отправляется НА DNS-сервер, настроенный в свойствах сетевого подключения на компьютере пользователя. Как правило, это DNS-сервер, предоставляемый локальным isP, который выступает в качестве сопоставителя кэширования, и называется LDNS.

Если DNS-имя отсутствует в локальном кэше LDNS, сервер LDNS перенаправляет запрос на DNS-сервер, который является доверенным для woodgrove.com. Доверенный DNS-сервер реагирует на запрошенную запись (www.woodgrove.com) на сервер LDNS, который, в свою очередь, кэширует запись локально перед отправкой на компьютер пользователя.

Так как компания Contoso Облачные службы использует политики DNS-сервера, доверенный DNS-сервер, на котором размещается contoso.com, настроен для возврата управляемых ответов на основе геолокации трафика. Это приводит к направлению европейских клиентов к европейскому центру обработки данных и направлению американских клиентов к центру обработки данных США, как показано на рисунке.

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

Примечание.

Политики DNS используют IP-адрес отправителя в пакете UDP/TCP, который содержит DNS-запрос. Если запрос достигает первичного сервера с помощью нескольких прыжков сопоставителя или LDNS, политика будет рассматривать только IP-адрес последнего сопоставителя, от которого DNS-сервер получает запрос.

Настройка политики DNS для ответов запросов на основе геолокации

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

  1. Создание подсетей DNS-клиента
  2. Создание областей зоны
  3. Добавление записей в области зоны
  4. Создание политик

Примечание.

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

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

Внимание

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

Создание подсетей DNS-клиента

Первым шагом является определение подсетей или пространства IP-адресов регионов, для которых требуется перенаправить трафик. Например, если вы хотите перенаправить трафик для США и Европы, необходимо определить подсети или IP-адреса этих регионов.

Эти сведения можно получить из карт гео IP- адресов. На основе этих гео IP-дистрибутивов необходимо создать подсети клиента DNS. Подсеть КЛИЕНТА DNS — это логическая группировка подсетей IPv4 или IPv6, из которых запросы отправляются на DNS-сервер.

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

Add-DnsServerClientSubnet -Name "USSubnet" -IPv4Subnet "192.0.0.0/24"
Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet "141.1.0.0/24"

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

Создание областей зоны

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

Например, если вы хотите перенаправить трафик для DNS-имени www.woodgrove.com, необходимо создать две разные области зоны в зоне woodgrove.com, одну для США и одну для Европы.

Область зоны — это уникальный экземпляр зоны. Зона DNS может иметь несколько областей зоны с каждой областью, содержащей собственный набор записей DNS. Одна запись может присутствовать в нескольких областях с разными IP-адресами или одинаковыми IP-адресами.

Примечание.

По умолчанию область зоны существует в зонах DNS. Эта область зоны имеет то же имя, что и зона и устаревшие операции DNS, работающие в этой области.

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

Add-DnsServerZoneScope -ZoneName "woodgrove.com" -Name "USZoneScope"
Add-DnsServerZoneScope -ZoneName "woodgrove.com" -Name "EuropeZoneScope"

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

Добавление записей в области зоны

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

Например, USZoneScope и EuropeZoneScope. В USZoneScope можно добавить запись www.woodgrove.com с IP-адресом 192.0.0.1, который находится в центре обработки данных США; и в EuropeZoneScope можно добавить ту же запись (www.woodgrove.com) с IP-адресом 141.1.0.1 в европейском центре обработки данных.

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

Add-DnsServerResourceRecord -ZoneName "woodgrove.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "USZoneScope"
Add-DnsServerResourceRecord -ZoneName "woodgrove.com" -A -Name "www" -IPv4Address "141.1.0.1" -ZoneScope "EuropeZoneScope"

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

Add-DnsServerResourceRecord -ZoneName "woodgrove.com" -A -Name "www" -IPv4Address "192.0.0.1"
Add-DnsServerResourceRecord -ZoneName "woodgrove.com" -A -Name "www" -IPv4Address "141.1.0.1"

Параметр ZoneScope не включается при добавлении записи в область по умолчанию. Это то же самое, что и добавление записей в стандартную зону DNS.

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

Создание политик

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

Для создания политики DNS, которая связывает подсети КЛИЕНТА DNS и области зоны, можно использовать следующие команды Windows PowerShell.

Add-DnsServerQueryResolutionPolicy -Name "USPolicy" -Action ALLOW -ClientSubnet "eq,USSubnet" -ZoneScope "USZoneScope,1" -ZoneName "woodgrove.com"
Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "EuropeZoneScope,1" -ZoneName "woodgrove.com"

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

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

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

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