Динамическая маршрутизация с Azure VPN Gateway и инспекцией с помощью NVA

Вопрос или проблема

Я ищу возможность реализовать топологию подобную этой:

Spoke VNETs <====> NVA, например FortiGate <=====> VPN Gateway <=====> локально

Реализовать это с помощью статической маршрутизации довольно просто, но у нее есть раздражающие ограничения:

  • Если я размещу NVA и VPN Gateway в одном HUB-VNET, включив опцию Enable Spoke-VNET to use HUB-VNET's remote gateway or route server – тогда узкие локальные префиксы, полученные от VPN Gateway, будут перезаписывать более общие префиксы в Spoke-VNET UDR, которые направляют трафик к NVA для инспекции. Мне придется перезаписывать каждый из них в UDR, что не практично.

  • Если я размещу их в одном HUB-VNET без включения этой опции, или если я размещу VPN Gateway в VNET, который непосредственно не соединен со Spokes – тогда VPN Gateway не будет знать о диапазонах IP Spoke VNETs. Он все равно будет передавать трафик для них к NVA с помощью UDR, примененного к его GatewaySubnet – но если VPN Gateway узнает какой-либо префикс, перекрывающийся с префиксом Spoke VNET из одного из его BGP-over-IPsec соседей – он отправит трафик туда вместо того, чтобы доставить его к NVA, и связь будет нарушена.

Пример:

  • UDR GatewaySubnet говорит “доставить трафик к 10.0.0.0/0 через NVA“.
  • Диапазон Spoke VNET составляет 10.11.12.0/24.
    Если VPN Gateway не узнает его автоматически из SDN, в то время как узнает префикс 10.11.0.0/16 от одного из своих BGP-соседей – тогда трафик к 10.11.12.0/24 будет отправляться к этому соседу вместо Spoke.

Я ищу решение, которое бы:

  1. Позволяло Spoke VNETs доставлять трафик к NVA – без необходимости перезаписывать UDR каждый узкий префикс, внедренный в них VPN Gateway.

  2. Позволяло VPN Gateway автоматически узнавать префиксы Spoke VNETs – при этом продолжая доставлять трафик к ним через NVA.

Возможно ли это? Со службой Azure Route Server или без нее?

Спасибо!
Муций.

Ответ или решение

Динамическая маршрутизация с использованием Azure VPN Gateway и инспекции через NVA

Ваша задача – сформировать архитектуру, в которой Spoke VNETs смогут взаимодействовать с NVA (Network Virtual Appliance), например, FortiGate, для инспекции трафика перед взаимодействием с Azure VPN Gateway, который в свою очередь будет соединен с локальной сетью. Данная задача действительно неплоха в своей сложности, и вам, безусловно, предстоит обойти некоторые ограничения, связанные с статической маршрутизацией. Рассмотрим решение, которое может удовлетворить ваши требования:

Проблемы и ограничения текущей архитектуры

Как вы правильно отметили, использование статической маршрутизации имеет свои недостатки:

  1. Конфликт маршрутов: Когда NVA и VPN Gateway находятся в одном HUB VNET и активирована опция "Enable Spoke-VNET to use HUB-VNET’s remote gateway or route server", маршруты, полученные от VPN Gateway, могут затмить более общие маршруты в UDR (User Defined Route) Spoke VNET. Это требует ручного управления маршрутизацией и может привести к ошибкам.

  2. Проблемы с динамическим обновлением: Если VPN Gateway размещён в VNET, который не непосредственно связан с Spoke VNET, он не сможет автоматически получать информацию о диапазонах IP Spoke VNET, что может вызвать проблемы с маршрутизацией трафика.

Решение проблемы

Чтобы достичь ваших целей, рекомендую следующее решение на основе Azure Route Server вместе с BGP:

  1. Использование Azure Route Server:
    Azure Route Server позволяет динамически управлять маршрутами и обеспечивает автоматическую регистрацию маршрутов для VPN Gateway и NVA. Настройка Azure Route Server может устранить необходимость ручного управления маршрутизацией и устранить конфликты маршрутов.

  2. Конфигурация BGP:
    Настройте BGP между вашим Azure Route Server, VPN Gateway и NVA. Это позволит NVA и VPN Gateway автоматически обмениваться маршрутами. Ваши Spoke VNETs также должны быть подключены к Azure Route Server через настройку BGP.

Шаги по настройке решения:

  1. Подключите Route Server:
    Создайте Azure Route Server в вашем HUB VNET. Подключите его к вашему NVA и VPN Gateway через BGP с соответствующими ASN (Autonomous System Number).

  2. Конфигурируйте BGP на NVA:
    Настройте BGP на вашем NVA, чтобы он мог взаимодействовать с Azure Route Server. Это позволит NVA загружать маршруты от Spoke VNET через Route Server.

  3. Настройка маршрутов в VPN Gateway:
    После подключения VPN Gateway к Route Server и настройки BGP, маршруты из Spoke VNET будут автоматически передаваться Gateway. UDR для GatewaySubnet теперь могут указывать на NVA без необходимости вручную управлять каждым маршрутом.

Преимущества данного решения:

  • Динамическое обновление маршрутов: Вся информация о маршрутах обрабатывается автоматически, что избавит вас от необходимости вручную настраивать маршруты.
  • Поддержка инспекции NVA: Все запросы из Spoke VNET будут направляться через NVA, где они могут быть инспектированы, прежде чем направляться к VPN Gateway.
  • Масштабируемость: При добавлении новых Spoke VNET не потребуется переконфигурация существующих маршрутов.

Заключение

Ваша архитектура сможет эффективно использовать услуги Azure с динамической маршрутизацией, предоставляя автоматическое обновление маршрутов при использовании Azure Route Server и BGP. Это позволит вам достичь вашей цели без значительных усилий по управлению маршрутизацией на стороне Spoke VNET и VPN Gateway.

Если у вас возникнут дополнительные вопросы или вам потребуется помощь в настройке, обратитесь за поддержкой к специалистам Azure или вашему техническому отделу.

Удачи в реализации вашей архитектуры!

Оцените материал
Добавить комментарий

Капча загружается...