Виртуализация Сети В Hyper-V. Настройка Шлюза Hnv На Базе Windows Server 2012 R2

В нескольких предыдущих постах, посвященных технологии виртуализации сети (Hyper-V Network Virtualization (HNV), я говорил о архитектура , настройки , и новые возможности HNV в Windows Server 2012 R2. Сегодня мы поговорим, пожалуй, о самой сложной теме — построении шлюза HNV на базе Windows Сервер 2012 Р2 обеспечить виртуализированным сегментам сети доступ к внешнему миру.

Скриншотов будет много.

В большинстве случаев виртуальным машинам (ВМ), развернутым в виртуализированных сетях, необходимо взаимодействовать с внешним миром — общаться с другими объектами дата-центра, выходить в Интернет, получать доступ к корпоративной сети компании, разместившей эти самые ВМ в центр обработки данных и т. д. Применительно к технологии HNV внешний мир — это все, что находится за пределами виртуализированной сети.

И прежде чем двигаться дальше, необходимо еще раз определиться с терминологией, которая за два года существования HNV несколько изменилась.

Терминология Итак, определяющей концепцией HNV является клиентская сеть, имеющая уникальный идентификатор домена маршрутизации (RDID).

Это та же самая виртуализированная сеть.

Существует несколько синонимов слова «Сеть клиентов» в зависимости от того, какой инструмент вы используете:

  • в VMM это сеть VM;
  • в PowerShell это домен маршрутизации;
  • во многих статьях и блогах это Tenant или Tenant Virtual Network.
Но все эти термины являются клиентской сетью.

Каждая сеть клиента состоит из одной или нескольких виртуальных подсетей, и каждая виртуальная подсеть имеет свой уникальный 24-битный VSID. Маршрутизация пакетов между ВМ, принадлежащими одной сети заказчика, осуществляется автоматически, независимо от того, находятся эти машины в одной виртуальной подсети или в разных, на одном физическом хосте или на разных.

Но если необходима связь с внешним миром, то есть необходимо передавать пакеты за пределы Сети Заказчика, то необходимо настроить HNV Gateway (HNVGW).

Варианты реализации шлюза Шлюз HNV может представлять собой как готовое аппаратное решение, так и хост на базе Windows Server 2012 R2. В настоящее время на рынке доступны три аппаратных решения:

В этом посте я сосредоточусь на создании шлюза HNV на Windows Server 2012 R2 с помощью System Center 2012 R2 Virtual Machine Manager (VMM), управляющего HNV в моей демонстрационной сети, включая настройку шлюза.

Используя следующую аббревиатуру VMM, я предполагаю версию R2, если явно не указано иное.

Напомню, что, строго говоря, HNV — это технология Windows Server 2012 и выше, и ее можно настроить без VMM, просто используя командлеты PowerShell. Предоставляю ссылки на примеры соответствующих скриптов без использования И с использованием Шлюз HNV. Но в реальных сценариях для управления HNV используется VMM, который берет на себя роль централизованного хранения и распространения политик HNV. Архитектура шлюза С архитектурной точки зрения шлюз HNV на базе Windows Server 2012 R2 представляет собой физический хост, на котором работает одна или несколько виртуальных машин, которые маршрутизируют пакеты из виртуализированных сетей во внешний мир и обратно.

Обратите внимание, это именно физический хост. Реализация HNV-шлюза просто в виде виртуальной машины не получится хотя бы из-за инкапсуляции пакетов (см.

быстрый о концепции HNV) требуется роль Hyper-V, а Hyper-V не поддерживает вложенную виртуализацию.

Справедливости ради стоит отметить, что технически шлюз может быть построен на базе Windows Server 2012. Но при этом, во-первых, шлюз с Windows Server 2012 потребует запуска такого количества ВМ, сколько у вас есть Сетей Заказчика, и масштабировать такое решение сложно.

Во-вторых, чтобы управлять таким шлюзом с помощью VMM, вам потребуется написать провайдер для VMM. Использование Windows Server 2012 R2 + System Center 2012 R2 Virtual Machine Manager — это практически готовый шлюз HNV «из коробки».

В Windows Server 2012 R2 реализован мультитенантный шлюз, который позволяет использовать одну виртуальную машину для маршрутизации трафика из разных виртуализированных сетей, а в System Center 2012 R2 Virtual Machine Manager уже есть встроенный провайдер для управления таким шлюзом.

Какие варианты шлюза HNV существуют? Их двое.



Частное облако (маршрутизация)

Первый вариант реализует маршрутизацию трафика из Сети Заказчика в сеть ЦОД, причем маршрутизация может быть как прямой, так и с трансляцией адресов (NAT).



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

На рисунке показана прямая маршрутизация, что имеет смысл, если адресные пространства ЦС разных арендаторов (Customer Networks) не пересекаются и им необходим доступ к корпоративной сети.

Или как на картинке есть только один тенант с несколькими подсетями.

Для частного облака, когда арендаторами, например, являются виртуализированные сети различных подразделений крупного предприятия, это вполне возможный вариант. При использовании NAT шлюз HNV назначает каждому арендатору выделенный IP-адрес на своем внешнем интерфейсе, и все пакеты от виртуальных машин арендатора отправляются во внешний мир с этим выделенным IP-адресом в поле «IP-адрес отправителя».



Гибридное облако (сеть-сеть VPN)

Второй вариант предполагает построение межсетевого туннеля от шлюза HNV до необходимой точки, например, через Интернет в корпоративную сеть заказчика.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Это типичный сценарий хостинга, когда виртуальные машины заказчика располагаются в дата-центре хостера и подключаются через VPN к сети заказчика.

При этом технология HNV позволяет заказчику сохранять настройки IP и не бояться за функциональность ПО внутри ВМ, а хостеру размещать виртуальные машины с нужным заказчику IP, изолируя эти виртуальные машины от других ВМ и без настройки VLAN. Завершая архитектурный раздел поста, кратко отмечу, что такое мультитенантность шлюза на базе Windows Server 2012 R2. Представьте, что сети двух клиентов виртуализированы в дата-центре.

Контосо И Вудгроув , используя точно такие же пространства CA: 10.0.0.0/24. Как «разделить» пакеты этих клиентов на шлюзе HNV? Первое возможное решение — создать для каждого клиента на шлюзе свою ВМ и указать ее в настройках соответствующей сети клиента как шлюз по умолчанию.

Таким образом, пакеты, направляемые во внешний мир из Контосо , пакеты из Вудгроув – к интерфейсу второй ВМ и т. д. Как уже упоминалось, шлюз на базе Windows Server 2012 будет использовать именно такой подход.

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

В Windows Server 2012 R2 появилась возможность использовать для маршрутизации так называемые отсеки.

В виртуальной машине для каждого арендатора создается определенный объект «ячейка» (отсек), включающий в себя интерфейсы виртуальной сети, IP-адреса, таблицу маршрутизации, таблицу ARP и т. д. Элементы одной ячейки изолированы от элементов.

другой клетки.

Маршрутизация пакетов от Контосо , таким образом, осуществляется внутри соответствующей ячейки и не пересекается, не влияет на маршрутизацию пакетов Вудгроув в другой ячейке, даже если записи в таблицах маршрутизации этих ячеек выглядят одинаково.

Такой подход позволяет использовать одну виртуальную машину для маршрутизации пакетов от разных арендаторов без каких-либо конфликтов.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Как видно на рис.

выше, имеется отсек по умолчанию, включающий в себя сетевые настройки, заданные при создании ВМ, и две ячейки для арендаторов, появившихся при настройке шлюза HNV. Создание шлюза Закрепив теорию, перейдем непосредственно к созданию шлюза.

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

Подробный документ о том, как обеспечить высокую доступность шлюза HNV, можно найти.

Здесь .

Основные шаги по созданию шлюза включают в себя следующее:

  • настройка логических сетей и сетей ВМ;
  • настройка хоста для роли шлюза
  • подготовка виртуальных машин для шлюза
  • добавление шлюза в VMM
  • настройка шлюза для конкретных сетей ВМ
Давайте по порядку.



Настройка логических сетей и сетей виртуальных машин

Этот момент подробно описан в одном из предыдущих посты , поэтому я просто покажу вам, как выглядят логические и виртуальные сети в моем лабораторном центре обработки данных Contoso.

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Для нашей задачи нам нужны три логические сети: внешний сегмент (Contoso_External_LN01), сеть управления шлюзом (Contoso_Management_LN01) и сеть (Contoso_HNV_LN01), поверх которых собственно и создаются виртуализированные сети.

Пул IP сети Contoso_HNV_LN01 определяет пространство PA, и в свойствах этой сети необходимо поставить галочку, чтобы разрешить использование технологии HNV.

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Сети ВМ (VM Networks, также известные как клиентские сети, также известные как Customer Networks) выглядят следующим образом:

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Вы видите две сети виртуальных машин для компаний.

Адатум И Фабрикам , используя перекрывающееся адресное пространство (10.30.1.0/24).

В колонке Соединение через шлюз Видно, что пока ни одна из сетей ВМ не использует шлюз.



Настройка хоста для роли шлюза

В общем, любой хост под управлением Windows Server 2012 R2, управляемый VMM, можно настроить как шлюз HNV. По-хорошему, этот хост должен иметь несколько физических сетевых интерфейсов, смотрящих на нужные сегменты (внешний, управляющий сегмент, HNV-сегмент).

Однако из архитектурной части поста следует, что фактической маршрутизацией пакетов в шлюзе занимается ВМ.

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

В частности, на моем тестовом стенде хост-шлюз содержит только один физический сетевой интерфейс, которого мне пока достаточно для экспериментов.

Но в любом случае в свойствах хоста, выбранного в качестве шлюза, следует установить эту галочку

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Это предотвратит запуск любых «обычных» виртуальных машин на шлюзе, предполагающих использование HNV. В реальной ситуации вы вряд ли будете запускать на шлюзе что-то еще, кроме компонентов самого шлюза.



Подготовка виртуальных машин для шлюза

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

Самый простой способ развернуть его — использовать шаблон службы.

В этом случае можно сразу сказать VMM, что при развертывании ВМ в ней должен быть поднят сервис RRAS, чтобы для высокой доступности таких машин в кластере было поднято две и т.д. Но, во-первых, мы договорились сделать все вручную, чтобы лучше понимать, что происходит, во-вторых, шаблоны сервисов не поддерживают ВМ второго поколения, которые развертываются и работают быстрее.

Поэтому я создал шаблон виртуальной машины второго поколения на основе VHDX с образом Windows Server 2012 R2. В этом процессе нет ничего необычного; Я покажу только настройки сети в шаблоне.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Вы видите три виртуальных сетевых адаптера (vNIC): один подключен к внешней сети (см.

рисунок), второй — к сети управления, третий можно оставить в сети.

Не подключен и во время или сразу после развертывания виртуальной машины подключите ее через виртуальный коммутатор (Hyper-V Extensible Switch) к сети, в которой используется HNV. Обычно при описании шлюза эту сеть называют Backend. Теперь мы развертываем виртуальную машину на основе этого шаблона на хосте, который мы выбрали и настроили в качестве шлюза в предыдущем параграфе.

Обратите внимание на имя, которое вы даете этой виртуальной машине.

Он понадобится вам позже при настройке шлюза.

После того, как ВМ развернута, заходим в нее, подключаем сетевой адаптер к Backend сети, отключаем Firewall и для удобства переименовываем сетевые адаптеры, чтобы имена отражали их назначение, например

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Теперь в ВМ (я назвал это ШлюзVM01 ) роль должна быть установлена Удаленный доступ .

Это делается стандартно через Менеджер сервера , Управлять -> Добавьте роли и функции .

Нажмите Следующий , пока не дошли до выбора роли, выбираем Удаленный доступ , затем снова Следующий пока мы не достигнем Ролевые службы , где мы отмечаем две услуги

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Нажмите до конца Следующий И Установить .

После завершения установки нажмите Откройте мастер начала работы

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

и в открывшемся окне мастера выберите Развернуть только VPN .



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

В результате откроется знакомая консоль RRAS, из которой видно, что сервис еще не настроен.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Таким образом, мы настроили хост и соответствующую ВМ, и теперь все готово для добавления этой «болванки» в качестве шлюза HNV в консоль VMM для последующей настройки.



Добавление шлюза в VMM

В консоли VMM перейдите в раздел Ткань , нажимать Добавить ресурсы и выбери Сетевая служба .

На первой странице мастера мы даем шлюзу осмысленное имя и описание.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Затем выберите Майкрософт как производитель и Серверный шлюз Microsoft Windows в списке моделей

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

На странице Реквизиты для входа должен быть выбран Учетная запись запуска от имени для доступа к устройству.

Эта запись должна иметь административные права на виртуальную машину шлюза.

В нашем случае ВМ не была включена в домен, поэтому указываем запись с паролем локального администратора.

Если такой записи в VMM нет, ее можно сразу создать.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Пожалуй, самым интересным параметром является строка подключения ( Строка подключения ), в котором по трем параметрам ВМХост , ШлюзВМ И BackendSwitch необходимо указать имя хоста и «пустую» ВМ и имя виртуального свитча на хосте, через который ВМ подключается к Backend сети.

Обратите внимание, что в строке подключения нет пробелов, разделителем является точка с запятой ( ; ).



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

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

Здесь (см.

пункт 16).

В частности, DirectRoutingMode=Истина настроит шлюз для работы в режиме прямой маршрутизации.

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

На странице Поставщик нажать на кнопку Тест и убедиться, что все тесты проходят без ошибок.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

На странице Группа хостов указать, какие группы хостов могут использовать этот шлюз

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Проверяем настройки на странице Краткое содержание , и если все верно, нажмите Заканчивать .



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Убедитесь, что соответствующие задачи в разделе Вакансии завершено успешно.

Остается только настроить сетевые интерфейсы вновь созданного шлюза HNV. В главе Ткань -> сеть -> Сетевая служба В консоли VMM щелкните правой кнопкой мыши шлюз и выберите Характеристики и перейти в закладку Возможности подключения .

Здесь вам нужно включить Переднее соединение И Заднее соединение и выберите правильные сетевые адаптеры виртуальных машин и соответствующие сайты логической подсети.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Теперь VMM знает, для каких целей предназначены адаптеры виртуальной машины шлюза, и правильно настроит службу RRAS внутри этой виртуальной машины.

Когда задания будут обработаны, в консоли RRAS виртуальной машины шлюза вы увидите, что служба запущена и работает как многопользовательский шлюз.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Все, что вам нужно сделать, это настроить необходимые сети виртуальных машин для использования созданного шлюза HNV.

Настройка шлюза для конкретных сетей виртуальных машин

В консоли VMM перейдите в раздел Виртуальные машины и службы , нажмите Сети виртуальных машин , выберите нужную сеть ВМ и нажмите кнопку Характеристики .

Перейдем к закладке Возможности подключения и разрешить использование шлюза HNV этой сетью.

Для сети Фабрикам , например, включить NAT

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

VMM автоматически выберет из пула IP логической сети, связанной с внешним интерфейсом шлюза HNV, адрес, на который будут транслироваться адреса отправителей всех пакетов из сети.

Фабрикам .

Но вы можете вручную выбрать IP из пула, указав его в поле айпи адрес

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Закрыв окно свойств, в нижней части консоли VMM можно увидеть, какой конкретно внешний адрес используется для данной сети ВМ.



Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Делаем то же самое для сети Адатум и все другие виртуализированные сети, требующие внешнего доступа с поддержкой NAT. Теперь посмотрим, как настроить подключение к внешнему миру через VPN, то есть реализуем сценарий Hybrid Cloud (Site to Site VPN).

В данном случае я предполагаю, что VPN-устройство в корпоративной сети уже настроено, использует протокол IKEv2 и аутентификацию на основе Preshared Key, что характерно для туннелей site-to-site, и мы знаем его внешний IP. В свойствах той же сети ВМ Фабрикам на знакомой вкладке Возможности подключения поставь самый верхний флажок

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

При этом в окне свойств сети ВМ появляется новая вкладка.

VPN-подключения , где необходимо кнопкой Добавлять добавить VPN-подключение, указать его имя и IP-адрес VPN-устройства, к которому строится туннель

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

В главе Аутентификация указать подготовленную запись Учетная запись запуска от имени с зарегистрированным предварительным ключом,

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

и в разделе Маршруты прописываем необходимые маршруты, например

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Как вы могли заметить, реализована поддержка BGP для динамического обновления маршрутов.

Дополнительные настройки вы можете посмотреть в Передовой , скажем, изменить протокол VPN или параметры шифрования, но если ничего из этого не требуется, то нажмите ОК.

В нижней части консоли VMM для настроенной сети виртуальных машин теперь будет отображаться что-то вроде

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Как только с любой виртуальной машины, работающей в виртуализированной сети Фабрикам , попробуем пропинговать адрес из подсети, указанной в настройках VPN-туннеля, например 10.30.50.101, HNV-шлюз поднимет туннель и установит соединение с указанным VPN-устройством, а через него и с корпоративной сетью

Виртуализация сети в Hyper-V. Настройка шлюза HNV на базе Windows Server 2012 R2

Сделано! Если информации в этом посте оказалось недостаточно, вы можете воспользоваться подробным пошаговым руководством.

управление создать лабораторный стенд. Открытым остается один вопрос: как на самом деле происходит маршрутизация пакетов при использовании шлюза HNV, как она выглядит внутри шлюза? Но это уже уровень сложности 400 для особо опытных.

:) Хотя, если они есть, я готов написать.

Надеюсь, материал был полезен.

Спасибо! Теги: #SDN #Hyper-V #windows server 2012 #windows server 2012 r2 #виртуализация сети #HNV

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.