Что нужно знать о программно-определяемой сети в Hyper-V (часть 4)

Опубликовано: 19 Апреля, 2023

  • Что нужно знать о программно определяемой сети в Hyper-V (часть 2)
  • Что нужно знать о программно-определяемой сети в Hyper-V (часть 3)

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

Как я объяснял ранее, одно из основных преимуществ виртуализации сети Hyper-V заключается в том, что она позволяет создавать изолированные подсети. Подсети изолированы до такой степени, что каждая из них рассматривается как отдельная сеть. Таким образом, IP-адреса и MAC-адреса могут дублироваться в нескольких подсетях без каких-либо последствий.

Хотя это может показаться немного нелогичным после всего, что я объяснил, полная изоляция подсети обычно нежелательна. На самом деле, за исключением определенных ситуаций с безопасностью, виртуальная сеть, полностью изолированная от остального мира, вероятно, не будет такой уж полезной. Таким образом, маршрутизация необходима для облегчения связи между виртуальной сетью Hyper-V и Интернетом.

Конечно, есть некоторые требования, которым должен соответствовать процесс маршрутизации. Во-первых, маршрутизация должна быть выполнена таким образом, чтобы виртуальные сети могли взаимодействовать с Интернетом, но не позволяли им взаимодействовать друг с другом. В нормальных условиях одна виртуальная сеть не должна даже знать, что существует другая виртуальная сеть. Я часто слышал пример: если бы поставщик облачных услуг размещал виртуальные сети как для Coke, так и для Pepsi, то безопасность должна была бы обеспечиваться таким образом, чтобы ни одна компания не узнала, что вы также предоставляете услуги их конкурентам. Не говоря уже о том, что вам также нужно будет убедиться, что никто из Coke не сможет вмешаться в сеть Pepsi или наоборот.

Раньше маршрутизация виртуальных сетей Hyper-V выполнялась виртуальным коммутатором Hyper-V. Виртуальные машины, подключенные к виртуальному коммутатору, могли взаимодействовать друг с другом. Если предположить, что виртуальный коммутатор настроен как внешний виртуальный коммутатор, он также может облегчить связь с Интернетом. Если вам нужно создать границу изоляции между виртуальными сетями, вы можете просто подключить виртуальные сети к отдельным виртуальным коммутаторам.

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

Этот компонент представляет собой шлюз виртуализации сети Hyper-V (от HNV Gateway, как его любит называть Microsoft). Задача шлюза HNV — действовать как мост для виртуальных сетей. Виртуальная сеть может быть связана с физической сетью (обычно как способ получения доступа в Интернет) или может обеспечивать связь между виртуальными сетями, чтобы облегчить связь между двумя изолированными в противном случае виртуальными подсетями.

Самый простой способ думать о шлюзе HNV — думать о нем как о маршрутизаторе. Я уверен, вы знаете, что маршрутизатор находится между сетями и принимает решения, касающиеся пересылки пакетов между этими сетями. По сути, шлюз HNV делает то же самое (плюс несколько других вещей, о которых я расскажу позже). Однако самое большое различие между шлюзом HNV и обычным маршрутизатором заключается в том, что шлюз специально разработан для работы с уровнем инкапсуляции, который обеспечивает изоляцию между виртуальными сетями Hyper-V.

Логистика шлюза HNV

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

Как вы, возможно, уже знаете, шлюз HNV входит в состав Windows Server 2012 R2. Это компонент, к которому вы можете получить доступ из коробки, подобно другим ролям и функциям сервера. Однако шлюз HNV нельзя добавить непосредственно к существующим хостам Hyper-V. Вместо этого он предназначен для запуска внутри виртуальной машины. Таким образом, вы можете думать о HNV Gateway как о виртуальном устройстве, которое действует как маршрутизатор.

Обычно, когда вы настраиваете виртуальную машину, эта виртуальная машина получает адрес шлюза по умолчанию как часть ее IP-конфигурации. Этот адрес шлюза по умолчанию может быть предоставлен вручную или получен от DHCP-сервера. В любом случае адрес шлюза по умолчанию обычно указывает на маршрутизатор.

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

Виртуальная машина, действующая как шлюз, должна существовать в собственной выделенной виртуальной подсети. Хост Hyper-V может содержать несколько виртуальных машин шлюза HNV, но каждая из этих виртуальных машин должна существовать в выделенной виртуальной подсети. Вы не можете создать основную виртуальную подсеть, которая содержит все ваши виртуальные машины шлюза, и вы не можете поместить виртуальные машины в ту же подсеть, что и виртуальная машина шлюза.

Хотя можно создать несколько виртуальных машин шлюза, в большинстве случаев в этом нет необходимости. Одна виртуальная машина шлюза может работать с несколькими сетями виртуальных машин.

При этом важно, чтобы ваша виртуальная машина шлюза не стала единой точкой отказа. Хотя технически возможно запустить шлюз HNV на физическом компьютере, Microsoft особенно рекомендует запускать его на виртуальной машине, чтобы он мог использовать возможности кластеризации Hyper-V.

Функциональность шлюза HNV

Последнее, о чем я хочу рассказать, — это различные задачи, которые может выполнять шлюз HNV. Я уже упоминал, что шлюз может выступать в роли маршрутизатора и пересылать пакеты между сетями. Это основная функция шлюза, но не единственная. Шлюз также может выполнять функцию преобразования сетевых адресов (NAT) и может предоставлять услуги балансировки нагрузки в качестве способа обеспечения масштабируемости.

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

Вывод

Как видите, шлюз HNV — один из наиболее важных компонентов, используемых в виртуализации сети Hyper-V. Именно этот шлюз не позволяет Hyper-V и виртуальным сетям быть полностью отрезанными от остального мира. В отличие от физического маршрутизатора, шлюз был специально разработан для работы с уровнем инкапсуляции, присутствующим в виртуализации сети Hyper-V.

Теперь, когда я объяснил основы того, как работает виртуализация сети Hyper-V, я хочу начать с примера развертывания, чтобы вы могли увидеть, как настроить свои собственные виртуальные сети.

  • Что нужно знать о программно определяемой сети в Hyper-V (часть 2)
  • Что нужно знать о программно-определяемой сети в Hyper-V (часть 3)