Top.Mail.Ru
РБК Компании
Заморозили скидки: делитесь новостями бизнеса и читайте эксклюзивы на РБК
Успеть до 14.12
Заморозили скидки:
делитесь новостями бизнеса
и читайте эксклюзивы на РБК
Успеть до 14.12

Реализация DNS Anycast с использованием фабрики Cisco ACI

Ведущий бизнес-консультант АРБАЙТ, ИТ-эксперт Илья Глейкин рассказывает о реализации DNS Anycast с использованием фабрики Cisco ACI
Реализация DNS Anycast с использованием фабрики Cisco ACI
Источник изображения: Freepik.com
Илья Глейкин
Илья Глейкин
Ведущий бизнес-консультант компании АРБАЙТ

Эксперт в сфере сетевых и беспроводных технологий, импортозамещения в ИТ-сфере, управление ИТ-проектами, ЦОДы, системная интеграция

Подробнее про эксперта

Целевая схема

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

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

Для организации такого сервиса подойдет технология Anycast — технология сетевой адресации и маршрутизации, при использовании которой пользовательский трафик отправляется на сервер, наиболее близкий к пользователю. Технология предполагает назначение одинакового IP-адреса на несколько разных серверов. Такой адрес называется Anycast-адрес. Такой адрес не должен использоваться где-либо еще, кроме нужных серверов. В отличие от мультикаст адресов, нет заранее определенного диапазона, зарезервированного для Anycast, по этому лучшей практикой обычно является выделение отдельной подсети для Anycast -адресов, из которой будут браться только /32 адреса для Anycast-сервисов. Такой подход исключит возможные проблемы с маршрутизацией, связанные с суммаризацией маршрутов на транзитных маршрутизаторах.

На сервере такой адрес обычно настраивается на loopback-интерфейсе. Маршрут к Anycast-адресу можно получать динамически через протоколы маршрутизации OSPF или BGP или через статический маршрут. Чаще всего используется BGP, о его плюсах расскажу ниже.

Реализация в классической сети 

Сначала рассмотрим классическую сеть. В классическом случае необходимо построить BGP-соединение между сервером и точкой терминации подсети, в которой находятся сервер (чаще всего это ядро сети). По протоколу BGP от сервера будет анонсироваться маршрут /32 Anycast адрес, который настроен на loopback-интерфейсе. При этом, для большей информативности самого маршрута, рекомендуется на каждый сервер выделить отдельную BGP as 65xxx. Тогда просто по атрибутам BGP-маршрута будет понятно, от какого сервера он получен — это существенный плюс использования BGP-протокола (в атрибуте AS PATH будет присутствовать уникальный номер AS-сервера).

Так как у нас два сервера на площадке, то для BGP сессии необходимо настроит BFD для быстрого переключения (иначе стандартное время переключения на резервный сервер составит 180 секунд).

Для того, чтобы настроить на сервере BGP и BFD чаще всего используют пакет FRRouting или просто FRR. Этот инструмент имеет богатый функционал и схожий с CISCO синтаксис конфигурации, поэтому получил широкое распространение.

Реализация DNS Anycast с использованием фабрики Cisco ACI

Реализация с использованием фабрики Cisco ACI

Фабрика Cisco ACI это, по сути, кусочек программно определяемой сети (SDN) в вашем ЦОДе, поэтому изначально хотелось найти способ генерировать anycast маршрут средствами фабрики. И действительно некоторые возможности у фабрики имеются. 

Например, в настройках EPG можно указать /32 префикс с указанием anycast mac. Но для того, чтобы функционал заработал, требуется, чтобы существовал endpoint с таким ip адресом, то есть адрес должен быть настроен на интерфейсе сервера, подключенном к фабрике. В нашем случае это не так, так как требуется сохранить существующий dns адрес и anycast можно настроить только на loopback-интерфейсе, то есть фабрика не будет знать о таком endpoint-е. 

Еще один вариант — это функционал EP reachability. Этот функционал позволяет простым способом создавать маршрут для подсети за подсетью EPG. В настройках EPG также нужно указать /32 префикс для маршрута. В качестве next-hop для такого маршрута указывается VIP-адрес, настроенный для VRRP-группы на двух серверах DNS. При такой конфигурации маршрут всегда будет указывать на активный сервер (тот, на котором в данный момент находится VIP-адрес). С опцией Advertised Externally такой маршрут будет отдаваться в L3Out в сторону внешней сети (за пределы фабрики) по протоколу маршрутизации, настроенному для взаимодействия с внешней сетью (чаще всего это тоже BGP). Однако у такого варианта есть существенный недостаток — маршрут для Anycast адреса, созданный таким способом, не удаляется автоматически в случае недоступности обоих серверов. Даже если оба сервера будут недоступны, на фабрике будет маршрут на Anycast-адрес для DNS-сервиса, указывающий на VIP-адрес, который не будет доступен. Для пользователей, которые находятся на той же площадке, сервис DNS становится недоступен, даже если на другой площадке будет работающий сервер DNS, так как маршрут от фабрики будет более приоритетный.

Последний вариант упрощенной схемы — создание и удаление статического маршрута через API фабрики. Можно осуществлять мониторинг доступность VIP-адреса серверов DNS, в случае недоступности VIP-адреса удалять сконфигурированный статический маршрут для Anycast-адреса, в случае восстановления доступности VIP-адреса снова создавать маршрут. Непосредственно с фабрики это делать не получится, так как на фабрике ограничена возможность запуска скриптов. Для реализации такого варианта потребуется отдельный хост, с которого будет осуществляться мониторинг и выполняться скрипт, создающий и удаляющий статический маршрут через API фабрики. Такой способ подойдет в случае, если по какой-либо причине нельзя существенно менять конфигурацию DNS сервера.

Источники изображений:

Networkengineering.stackexchange.com

Интересное:

Новости отрасли:

Все новости:

Достижения

Эксперт в IT-сфереБолее 30 лет на российском ИТ-рынке. Партнерская сеть более чем в 120 городах России

Контакты

Адрес
117587, Россия, г. Москва, Варшавское шоссе, д. 125Ж, корп. 6, Офисный Центр “Меридио”, 6 этаж
Телефон

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия