Управление трафиком на основе географического расположения на основных серверах с помощью политики 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 для ответов запросов на основе геолокации, необходимо выполнить следующие действия.
- Создание подсетей DNS-клиента
- Создание областей зоны
- Добавление записей в области зоны
- Создание политик
Примечание.
Эти действия необходимо выполнить на 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-сервер в входящих запросах.