Сети в Hyper-V интересны для тех, кто привык к работе с физическими сетями или привык к тому, как сетевые подключения реализуются в VMware. В Hyper-V гостевые ОС никогда не имеют прямого доступа к аппаратному оборудованию, а интерфейсы управления Hyper-V контролируют трафик, проходящий через физические и виртуальные интерфейсы.
Hyper-V имеет диспетчер виртуальных сетей (Virtual Network Manager). Диспетчер виртуальных сетей отвечает за создание и управлением виртуальными коммутаторами. Количество создаваемых виртуальных коммутаторов не ограничено ‘ оно зависит от типа виртуальной сети, с которой вы работаете. Например, внешние виртуальные сети обычно расположены на физических сетевых картах (NIC), поэтому количество внешних сетей будет равно количеству физических сетевых карт.
Концепцию виртуальной сети очень важно понимать. Следует воспринимать виртуальную сеть, как коммутатор (switch), но вместо физического коммутатора, она является виртуальным коммутатором. Все виртуальные машины, подключенные к одной виртуальной сети, подключаются к одному коммутатору. Каждый виртуальный коммутатор логически изолирован от всех остальных виртуальных коммутаторов. Если вам нужно, чтобы узлы, подключенные к одному виртуальному коммутатору, взаимодействовали с узлами, подключенными к другому виртуальному коммутатору, вам нужно создавать виртуальный роутер, VPN сервер, брандмауэр или подобное устройство, как и в физической сети. Очень полезно создавать различные виртуальные коммутаторы, если вам нужна сетевая изоляция, подобная той, что имеется в физической сети, где различные сегменты разделены межсетевым экраном или другим устройством управления доступом.
Типы виртуальных сетей
Существует три типа виртуальных сетей, к которым можно подключаться в Hyper-V:
- Частная виртуальная сеть (Private Virtual Network)
- Внутренняя виртуальная сеть (Internal Virtual Network)
- Внешняя виртуальная сеть (External Virtual Network)
Частная виртуальная сеть представляет собой виртуальный коммутатор, к которому подключаются только виртуальные машины. Гостевые ОС, подключенные к одной частной виртуальной сети, могут взаимодействовать друг с другом, но не могут взаимодействовать с принимающей ОС (Host operating system), а принимающая ОС не может взаимодействовать с виртуальными машинами в частной виртуальной сети. Частные виртуальные сети очень удобны, если вам нужна полная изоляция от всех остальных виртуальных сетей, но они иногда могут быть проблематичны, если вам нужно копировать файлы на виртуальные машины, поскольку виртуальные машины не могут подключиться к физической (принимающей) ОС. В этом случае можно создавать виртуальную машину, которая действует в качестве роутера или межсетевого экрана, и подключить один виртуальный сетевой адаптер к частной виртуальной сети, а другой виртуальный сетевой адаптер к физической сети (через внешнюю виртуальную сеть, о чем мы поговорим чуть позже).
Внутренняя виртуальная сеть схожа с частной виртуальной сетью тем, что она не привязана ни к какому физическому NIC. Внутренняя виртуальная сеть представляет собой изолированный виртуальный коммутатор, как и частная виртуальная сеть, но в случае внутренней виртуальной сети принимающая ОС имеет доступ к гостевым виртуальным машинам через виртуальный коммутатор внутренней виртуальной сети. Однако в этих виртуальных коммутаторах нет функции DHCP (как, в некоторых случаях с VMware Workstation), поэтому если вам нужно взаимодействие с виртуальными машинами, подключенными к коммутатору внутренней виртуальной сети, вам нужно будет назначать IP адрес виртуальной NIC, связанной с внутренней виртуальной сетью, для принимающей ОС, который будет действителен для виртуальной сети, к которой вы собираетесь подключиться.
Внешняя виртуальная сеть отличается от других виртуальных сетей, так как этот тип виртуальной сети связан с физическими сетевыми адаптерами. У вас может быть по одной внешней виртуальной сети для каждого физического NIC, установленного на вашем Hyper-V сервере. Коммутатор внешней виртуальной сети будет представляться так, что он занимает физическую сетевую карту вашего сервера Hyper-V ‘ поэтому если бы вы посмотрели на конфигурацию предыдущей NIC, вам бы показалось, что для нее не настроены никакие IP адреса. Вместо этого виртуальная NIC добавляется в окне сетевых подключений и эта виртуальная сетевая карта подключается к коммутатору внешней виртуальной сети, и именно IP адреса, присвоенные этой виртуальной NIC, обеспечивают ее взаимодействие с физической сетью.
Есть ряд важных моментов, которые следует знать о виртуальных сетях и виртуальных сетевых картах, прежде чем приступать к работе с ними в Hyper-V:
- Если вы подключаетесь к Hyper-V серверу по сети с помощью RDP, сетевое подключение, использовавшееся ранее, исчезнет, и вам, возможно, потребуется посетить Hyper-V сервер и настроить новую виртуальную карту External NIC на сервере, чтобы снова создать подключение
- Невозможно создать внешнюю виртуальную сеть на беспроводной NIC (что является большим недостатком, на мой взгляд, так как VMware позволяет это сделать)
- Можно назвать имя виртуальной сетевой карты, связанной с виртуальным коммутатором, поскольку NIC и коммутатор будут иметь одинаковое имя; единственное различие заключается в том, что виртуальный коммутатор не будет содержать информацию об IP адресах, присвоенных ему, а NIC будет иметь эту информацию
- По причине проблем с подключением, о которых говорилось выше, полезно иметь как минимум две физические сетевые карты на сервере Hyper-V. В этом случае вы можете использовать одну карту, которая будет выделена под интерфейс управления для принимающей ОС, а внешнюю виртуальную сеть повесить на другую карту.
Виртуальные сетевые карты
Hyper-V поддерживает два типа виртуальных NIC:
- Legacy NICs
- High Speed NICs
Для каждой виртуальной машины можно назначать до 12 виртуальных NIC; говоря более точно, на каждой машине может быть установлено до 8 высокоскоростных (high speed) NIC и до 4 сетевых карт старого поколения (legacy) NIC.
Сетевая карта legacy NIC эмулирует физические карты NIC (DEC 21140 NIC) и будет работать сразу без необходимости в установке дополнительного программного обеспечения, так как большинство операционных систем будет поддерживать такие NIC в штатной конфигурации. Сетевая карта legacy NIC также поддерживает PXE для сетевой установки ОС.
Можно использовать legacy NIC для немедленной работы, чтобы у вас было сетевое подключение до того, как вы установите службы интеграции Hyper-V. Однако в некоторых случаях вам придется устанавливать службы интеграции, как например в случае с Windows XP и Windows Server 2003 64-bit ОС, которые не включают поддержку эмуляции сетевых карт legacy NIC для DEC виртуальных карт.
Высокоскоростная сетевая карта вполне понятна по своему названию ‘ она обеспечивает более высокую степень производительности. Однако чтобы использовать такую сетевую карту, вам нужно будет установить службы интеграции Hyper-V после установки гостевой ОС.
Виртуальные NIC поддерживают расстановку тэгов для VLAN номерами VLAN ID, присвоенными им, и виртуальным сетям можно присваивать VLAN ID.
Некоторые моменты, которые следует учитывать относительно конфигурации VLAN, виртуальных сетей и NIC:
- Физическая сетевая карта на сервере Hyper-V должна поддерживать использование VLAN тэгов, а функция VLAN должна быть включена на физической карте.
- Однако не следует задавать VLAN ID на физической сетевой карте. Вместо этого нужно настроить его на виртуальной карте, которая назначена для коммутатора внешней сети, или на самих виртуальных машинах.
- Виртуальная машина будет использовать VLAN ID, присвоенный ее виртуальной сетевой карте. Виртуальная машина не знает о ID, который присвоен виртуальному коммутатору.
Рекомендации по сетям Hyper-V
Ниже представлен список рекомендации, для того чтобы использовать свою сетевую среду Hyper-V по максимуму:
- Как говорилось выше, необходимо иметь как минимум две физические NIC на сервере Hyper-V, одна для управления принимающей ОС, вторая – для внешней виртуальной сети
- Следует использовать частную виртуальную сеть, когда необходима полная изоляция от принимающей ОС и физической сети
- Нужно использовать внутреннюю виртуальную сеть, если нужно передавать файлы между принимающей ОС и виртуальными машинами
- Можно динамически подключать и отключать виртуальные машины от различных виртуальных сетей. Не нужно выключать виртуальную машину, чтобы изменить ее сетевое подключение
- Если вам нужно сегментировать свои виртуальные сети, вы можете создать виртуальные коммутаторы для каждой сети (то есть, создать виртуальную сеть для каждой сети) и затем подключить их с помощью TMG или Windows RRAS виртуальных машин
- Не забудьте назначить действительный IP адрес внутренней виртуальной сетевой карте принимающей операционной системы, чтобы она могла взаимодействовать с виртуальными машинами в этой внутренней виртуальной сети
- Некоторые виртуальные машины могут требовать большого объема сетевых ресурсов для взаимодействия с физическими сетями. В этом случае следует настраивать выделенную внешнюю виртуальную сеть для этих NIC, и не подключить к ним никакие другие виртуальные машины
- Если вы хотите расположить Hyper-V сервер на границе своей сети, убедитесь, что виртуальная сетевая карта принимающей ОС в недоверенной сети не имеет информации о действительных IP адресах. Это не позволит взломщикам подключиться к принимающей ОС через интернет
Заключение
Сети Hyper-V обеспечивают вас способом настройки своей виртуальной сетевой среды. Можно использовать различные виртуальные сети для управления уровнем подключения виртуальных машин друг к другу, а также к принимающей ОС и физической сети. Однако прежде чем начать работу с виртуальными сетями Hyper-V, нужно понять то, как они работают, и какие ключевые функции и ограничения несут с собой. В одной из следующих статей я расскажу вам о настройке и управлении виртуальными сетями, а также мы посмотрим, как они работают с виртуальным сервером, имеющим четыре физические сетевые карты.