В опубликованных в нашем блоге статьях из цикла по виртуализации сетей мы обещали, что технологии VRF Lite посвятим отдельный материал. Что ж, слово свое мы держим – сегодняшний наш разговор именно ей и будет посвящен.
Ниже в деталях остановимся на том, что эта, появившаяся еще в версии 3.0, технология собой представляет, какую роль играет в дизайне и имплементации, а также администрировании NSX, каковы ее преимущества, особенности и методы использования. Тема – весьма объемна и интересна, поэтому без лишней лирики перейдем сразу к ее сути.
Перед прочтением этой статьи, если не являетесь гуру в сфере NSX, рекомендуем освежить знания в наших статьях «Дизайн VMware NSX-T Data Center 3.1», «VMware NSX-T Data Center 3.1: Разворот с нуля» и «Администрирование и настройка VMware NSX-T Data Center 3.1». Далее по тексту будут следовать постоянные к ним отсылки.
Немного теории
Шлюз VRF (Virtual Routing and Forwarding) позволяет существовать множеству инстансов таблицы маршрутизации на одном и том же шлюзе в одно и то же время. Это – своеобразный L3-эквивалент VLAN. Обязательность его привязки к Т0-шлюзу диктует правила следования режиму НА (A/A или A/S), функции Edge-кластера, внутреннюю транзитную подсеть, транзитные Т0-Т1-подсети и конфигурацию BGP-маршрутизации.
Свойства, требования и ограничения VRF Lite
Это если совсем кратко и в теории. По факту же VRF Lite предлагает изоляцию уровня данных тенантов, которые могут подключаться, как к Т0-, так и к Т1–сегментам, с отдельной таблицей маршрутизации на каждый VRF с такими особенностями:
- Поддержка файерволов NAT и Edge;
- Представление в виде виртуального Т0-шлюза, ассоциированного с родительским Т0-шлюзом, без необходимости в развороте дополнительных Т0-шлюзов;
- Доступно до 100 VRF на каждый Т0-шлюз;
- Внутренний трафик VRF проходит через физику или внутренние статические маршруты VRF;
- BGP локальное AS-число и настройки бережного запуска;
- Не используются MPLS/MP-BGP-протоколы (в этом отличие от других VRF-имплементаций):
Во всем остальном VRF Lite управляется независимо, как и Т0-шлюз, получая внешний интерфейс, BGP-статус и окружение, маршруты, фильтр маршрутизации и перераспределение, правила файервола и т.п.:
При том пропускная способность аплинков Edge делится между всеми Т0 и VRF, и не допускается никакой внутренней SR-маршрутизации для инстансов VRF. Но, следует помнить, что NAT не работает для внутреннего VRF-трафика, а если один из VRF должен иметь stateful-службу, глобальный Т0 следует настраивать исключительно как A/S.
Типы используемых шлюзами VRF интерфейсов:
- Подключение родительского Т0-шлюза к вышестоящим физическим устройствам по магистральному порту LR (порт восходящего канала VRF представляется субинтерфейсом со специфическим VLAN ID);
- Внутреннее подключение интерфейса VRF Uplink к магистральному порту LR родительского Т0-шлюза (создается внутри родительского Т0-шлюза и является единственным подключенным к магистральному сегменту восходящего канала);
- Внутренний транзитный канал Intratier между SR и DR VRF-шлюза;
- Интерфейсы нисходящего канала для соединения шлюзов VRF и сегментов с рабочими нагрузками;
- Порты Routerlink для связи шлюзов VRF с Т1-шлюзами.
Последние три интерфейса – полный аналог того, с чем мы знакомились, когда изучали стандартные Т0 и Т1 шлюзы в упомянутых вначале нашего разговора статьях:
Важно! Родительский Т0-шлюз должен иметь внешний интерфейс до того, как создастся внешний интерфейс на VRF Т0-шлюзе.
Важно! Внешний интерфейс на VRF Т0 нуждается в магистральном сегменте и доступе к VLAN (используется фактическая VLAN), настроенных для внешнего интерфейса. Data Center Gateway и соответствующая инфраструктура (vSphere Distributed Port Group и т.п.) должны поддерживать транкинг.
Важно! В продакшене можно разворачивать несколько Т0 со шлюзами VRF.
А теперь приведем несколько актуальных для VRF Lite ограничений:
- VRF Lite не работает с VPN и многоадресной рассылкой;
- Не доступна балансировка нагрузки.
Важно! Замечания по ограничениям касаются исключительно самого шлюза VRF – никто не запрещает подключать Т1-шлюз со всеми этими функциями, и там они будут вполне работоспособны.
Уровни контроля и данных для VRF Lite
Для уровня данных технология использует канал VLAN, а инстансы BGP-протокола по каждому VRF предоставляют функционал уровня контроля:
Связанный инстанс BGP запускается на каждом VRF, и его преимущества состоят в том, что он динамически распространяет и обновляет информацию о маршруте для всех пиров VRF. Каждый VLAN, в свою очередь, сопоставляется с VRF и работает только с переносом трафика для своего конкретного VRF.
Варианты топологии VRF Lite
VRF Lite можно разворачивать как в одноуровневой:
так и в многоуровневой топологиях:
Область применения
VRF Lite полезен, когда нужно:
- Позволить одному и тому же сетевому адресу существовать в разных доменах маршрутизации;
- Обеспечить совместимость существующих сетевых инсталляций;
- Запускать множество инстансов маршрутизации в одном и том же шлюзе для оптимизации имеющихся маршрутов.
Резюмируя вышесказанное, VRF Lite стоит отдать должное как достойной альтернативе, пусть и с актуальными ограничениями, одиночному Т0 (ведь на каждой Edge-ноде мы можем развернуть его один и только один) в случаях, когда клиенты требуют разделения инстансов сетевых маршрутов по каждому тенанту. Решение удобно масштабируемо, а кроме того, позволяет существующую физическую сетевую инфраструктуру расширять до NSX-T Data Center.
Подготовка к развороту VRF Lite
Перед тем, как приступать непосредственно к развороту и настройке VRF Lite, нужно обеспечить следующее:
- Развернутые менеджеры NSX;
- Добавленный в качестве центра вычислений vCenter Server;
- Настроенные в качестве транспортных нод хосты;
- Развернутые и собранные в свой кластер Edge;
- Разворот Т0-шлюза (статья «Администрирование и настройка VMware NSX-T Data Center 3.1») – до момента создания первого инстанса VRF. Нужно настроить вместе с конфигурацией интерфейса аплинка и BGP таким образом:
-
- Добавляем восходящие интерфейсы к дефолтному Т0-шлюзу;
- Настраиваем Т0-шлюз;
- Создаем восходящие магистральные сегменты;
- Настроенное внешнее подключение с L3-пирами, при этом устройство пиров поддерживает 802.1Q протокол (тэггирование VLAN – используется для отделения VRF друг от друга в сегменте аплинка, подключаемого к внешним устройствам).
Это если занимаемся сетевой виртуализацией с нуля, либо же создаем новые дополнительные Т0 с VRF-«дочками». Если же у нас уже есть готовая рабочая инфраструктура, все пункты до настройки Т0, включительно, можно опустить.
Пример топологии
В качестве примера разворота VRF Lite будем рассматривать следующую топологию:
Здесь нисходящие Т1-шлюзы будем подключать к VRF-шлюзам (см. замечание к этапам разворота п. 4 ниже).
VLAN и IP-подсети
Расшифровка по VLAN и подсетям:
VLAN ID | IP-подсеть | Описание |
5 | 192.168.5.0/28 | Родительский Т0 первый аплинк VLAN |
51 | 192.168.5.16/28 | Родительский Т0 второй аплинк VLAN |
50 | 192.168.5.64/28 | VRF-шлюз А первый аплинк VLAN |
501 | 192.168.5.80/28 | VRF-шлюз А второй аплинк VLAN |
555 | 192.168.5.96/28 | VRF-шлюз В первый аплинк VLAN |
556 | 192.168.5.112/28 | VRF-шлюз В второй аплинк VLAN |
7 | 192.168.7.0/25 | Вычислительная ТЕР подсеть |
9 | 192.168.9.0/25 | ТЕР-подсеть Edge |
Пример развернутой инфраструктуры
Для наглядности приведем скриншоты полностью готовой к развороту VRF Lite сетевой инфраструктуры.
Транспортные зоны:
Профиль аплинка хоста:
Профиль аплинка Edge:
Транспортные зоны на хостах:
Хосты, настроенные для NSX с использованием VDS как NSX-T-свитча хоста:
Конфигурация Edge-ноды:
Транспортные ноды Edge:
Созданный для родительского Т0 и VRF-шлюзов кластер Edge:
Родительский шлюз Т0:
Сегменты для аплинков на родительском Т0-шлюзе:
L3-интерфейсы на родительском Т0-шлюзе:
Конфигурация BGP на родительском Т0-шлюзе:
Процесс имплементации VRF Lite
После постановки ТЗ с разработанной подходящей топологией и перечислением ожиданий от VRF Lite, а также успешного прохождения вышеперечисленных этапов подготовки можно приступать к непосредственному его развороту. Шаги по воплощению идеи в жизнь:
- Разворачиваем шлюз VRF;
- Добавляем восходящие интерфейсы к шлюзу VRF;
- Настраиваем шлюз VRF;
- Подключаем Т1-шлюзы к VRF-шлюзу, но можно и напрямую подключать тенантов к VRF-шлюзам, так что этот шаг – опционален.
Далее будем опираться на тот факт, что читатель хорошо ориентируется в развороте и настройке всех компонентов виртуальных сетей, или работая с этим направлением давно и плотно, или внимательно изучив наши гайды «VMware NSX-T Data Center 3.1: Разворот с нуля» и «Администрирование и настройка VMware NSX-T Data Center 3.1». Поэтому в руководстве по развороту VRF Lite приведем только скриншоты создания элементов и их настройки в UI NSX-T, без конкретизации шагов, которые привели к этому результату.
Разворот и настройка шлюза VRF
Согласно ранее оглашенной нами и взятой за основу в качестве примера топологии, разворачиваем и настраиваем два шлюза VRF:
- Создаем сегменты аплинков для VRF-шлюзов, указав VLAN ID:
- Создаем VRF-шлюз (когда нажимаем на кнопку «Add Gateway», в выпадающем меню выбираем не «Tier-0», а «VRF»):
- Создаем ассоциацию VRF с родительским Т0-шлюзом и назначаем L3-интерфейсы на VRF-шлюзе А:
- Настраиваем BGP на VRF-шлюзе А:
Обратите внимание, что внутренние SR iBGP не поддерживаются на VRF-шлюзе:
- Повторяем все шаги сначала для VRF-шлюза В;
- Создаем соответствующие Т1-шлюзы и подключаем их к нужному VRF:
- Создаем сегменты для рабочих нагрузок и прикрепляем рабочие нагрузки к правильным оверлейным сегментам:
- Подключаем ВМ к оверлейной сети для VRF-шлюза А:
и VRF-шлюза В:
Физическая сеть нуждается в распознавании NSX-маршрутов, и когда это произойдет, подключенные сети на Т1-шлюзах будут объявлены шлюзами VRF. В результате VRF-шлюзы будут перераспределять NSX-маршруты в BGP:
А само перераспределение маршрутов на одном из VRF-шлюзов будет выглядеть так:
Проверяем, правильно ли все работает. Запускаем ICMP-тест между ВМ на VRF A и ВМ на VRF B:
Получение NSX-маршрутов первым физическим роутером:
Между шлейфом на втором физическом маршрутизаторе и ВМ на VRF B достигнута взаимосвязь:
Очевидно, что налажена связь между виртуальными машинами в разных VRF.
В качестве заключения хочется пару слов сказать и о технологии EVPN – расширяющей существующие VRF в традиционных опорных IP/MPLS-сетях до виртуальных сетей NSX-T Data Center:
На уровне данных для обмена трафиком с удаленными шлюзами используется VXLAN, а Geneve-инкапсуляция переносит оверлейный трафик между шлюзами VRF и виртуальными маршрутизаторами. При этом за изоляцию между разными VRF отвечает, по традиции, VLAN:
В результате уровень данных EVPN охватывает не только ноды по всему NSX-T Data Center, но и удаленные шлюзы.
Что же касается уровня контроля, инстанс BGP работает между VRF-шлюзом и vRouter в каждом VRF. А между дефолтным Т0-шлюзом и удаленным шлюзом настраивается одиночный MP-BGP:
Наглядно взаимосвязь и функционал технологии EVPN демонстрирует следующая схема:
Для которой справедливы такие утверждения:
- Возможности MP-BGP L2VPN используются для переноса информации о маршрутизации всех тенантов VRF в рамках единственного сеанса;
- vRouters используют BGP для объявления в каждом VRF сетей VRF-шлюзам;
- Определитель маршрута (RD) связан с каждым VRF, что помогает ему отличать его сети от других VRF-сетей;
- Цели маршрутов (RT) привязаны к маршрутам, объявленным в MP-BGP, и используются в процессе импорта/экспорта маршрутов в VRF;
- VRF-маршруты перераспределяются в MP-BGP как EVPN-маршруты 5-го типа (L3);
- IP VXLAN TEP объявляются в семействе адресов IPv4 в том же сеансе MP-BGP;
- Маршруты распространяются в базовую IP/MPLS-сеть.
Важно! Типы маршрутов EVPN для L2-сетей, начиная с версии 3.0 NSX-T Data Center, не используются.
Как и VRF Lite, EVPN не совместим с балансировщиком нагрузки и VPN-службами, а его область применения лежит в сфере простого расширения традиционных базовых IP/MPLS-сетей до NFV-облаков (Telco).
Чтобы больше узнать о EVPN, глубже понять структуру и практическое применение VRF Lite, а также других связанных с последним поколением NSX-T решений, рекомендуем записаться на авторизованные курсы VMware по этой тематике.