Hyper-V Extensible Switch – ключевая компонента Hyper-V в Windows Server 2012 – представляет собой расширяемый управляемый коммутатор второго уровня. Расширяемость означает возможность создания разработчиками модулей, встраиваемых в Hyper-V и модифицирующих/расширяющих штатный функционал анализа, фильтрации и форвардинга пакетов. Управляемость подразумевает наличие целого набора настроек, доступных администратору через PowerShell или консоль Hyper-V Manager, обеспечивающих требуемый уровень изоляции, безопасности и мониторинга запущенных виртуальных машин (ВМ). В одном из предыдущих постов я описывал реализацию технологии Private VLAN (PVLAN) в Hyper-V Extensible Switch. Сегодня посмотрим на ряд дополнительных возможностей.
С точки зрения терминологии понятие Hyper-V Switch (или Virtual Switch) пришло на смену понятию виртуальной сети (Virtual Network) в Windows Server 2008/2008 R2. Если раньше, чтобы обеспечить взаимодействие ВМ между собой или с внешним миром, вы создавали виртуальную сеть одного из трех типов – External, Internal, Private – то теперь вы создаете Virtual Switch, который может быть тех же трех типов и обладает всеми возможностями, описанными ниже. Причем эти возможности задаются для конкретного порта виртуального свича (см. рис.), а порт, в свою очередь, идентифицируется именем виртуальной машины, которая к этому порту подключена, точнее, именем виртуального сетевого адаптера, поскольку таких адаптеров у ВМ может быть несколько.
Далее рассматриваемые настройки Hyper-V Extensible Switch я разбил на три категории: безопасность и изоляция, мониторинг, отказоустойчивость.
Безопасность и изоляция
В консоли Hyper-V Manager в свойствах виртуального сетевого адаптера появился новый подраздел Advanced Features. Первые три настройки в этом окне непосредственно связаны с безопасностью и изоляцией.
Спуфинг MAC-адреса (MAC address spoofing)
По умолчанию Hyper-V запрещает спуфинг МАС-адреса. Иными словами, если ВМ пытается в исходящих пакетах заменить МАС-адрес отправителя, то есть свой МАС-адрес, ассоциированный с виртуальным сетевым адаптером этой машины, на другой МАС-адрес, Hyper-V блокирует такие пакеты. Установка верхнего чекбокса, соответственно, спуфинг разрешает. Как всегда, все, что можно сделать в консоли Hyper-V Manager и даже больше, можно сделать в PowerShell. Для приведенной на рисунке ВМ с именем SRV4 включение спуфинга MAC-адреса реализуется следующей командой:
Set-VMNetworkAdapter -VMName srv4 -MacAddressSpoofing On
Защита DHCP (DHCP Guard)
Данную настройку необходимо использовать для блокировки неавторизованного сервера DHCP, запущенного внутри ВМ. Технически при установке данного чекбокса Hyper-V блокирует пакеты DHCP acknowledge от данной ВМ и предотвращает возможность получения DHCP-клиентами настроек IP от данной ВМ.
Set-VMNetworkAdapter -VMName srv4 -DhcpGuard On
Защита маршрутизатора (Router Guard)
По аналогии с DHCP Guard установка этого чекбокса блокирует пакеты редиректа и объявления маршрутизатора (redirection и router advertisement) от данной ВМ. Тем самым ВМ не сможет повлиять на таблицы маршрутизации других компьютеров сети.
Set-VMNetworkAdapter -VMName srv4 -RouterGuard On
Список управления доступом порта (Port Access Control List, Port ACL)
Для каждого порта Hyper-V Extensible Switch вы можете настроить один или несколько списков управления доступом (ACLs), чтобы задать дополнительные правила безопасности и уровень изоляции ВМ. Все настройки ACL задаются только через PowerShell, в консоли Hyper-V Manager управление списками недоступно. Просмотреть текущее состояние списков можно командой:
Get-VMNetworkAdapterAcl -VMName srv4
Добавление и удаление списка выполняется командами Add-VMNetworkAdapterAcl и Remove-VMNetworkAdapterAcl соответственно. Синтаксис обеих команд одинаков. Для каждого списка ACL необходимо указать:
- Локальный или удаленный IP-адрес или MAC-адрес
- Направление действия: входящий трафик, исходящий трафик, оба направления (Inbound, Outbound, Both)
- Собственно действие: разрешить, запретить, измерить (Allow, Deny, Meter)
По умолчанию, никакие ACLs не заданы, и, таким образом, разрешен любой трафик. Пример ниже запрещает для ВМ с именем SRV4 любой трафик с/на IP-адрес 192.168.1.143:
Add-VMNetworkAdapterAcl -VMName srv4 -RemoteIPAddress 192.168.1.143 -Direction Both -Action Deny
Применительно к IP-адресам можно указывать не только конкретный адрес, но и подсеть:
Add-VMNetworkAdapterAcl -VMName srv4 -RemoteIPAddress 192.168.1.0/24 -Direction Both -Action Deny
Если заданы ACLs и для подсети, и для конкретного адреса из этой подсети, то ACL для адреса имеет больший приоритет, то есть «более конкретное» правило имеет большую силу. Например, ниже показан результат выполнения команды Get-VMNetworkAdapterAcl:
Как видно, задан запрет на подсеть 192.168.1.0/24, и при этом разрешен трафик для адреса 192.168.1.143. В результате, IP-трафик возможен только на один 143-й адрес из всей подсети.
Действие Meter позволяет измерять объем входящего и/или исходящего трафика для указанного IP- или MAC-адреса с момента создания соответствующего ACL, например, следующая команда включает измерение входящего трафика с адреса 192.168.1.143:
Add-VMNetworkAdapterAcl -VMName srv4 -RemoteIPAddress 192.168.1.143 -Direction Inbound -Action Meter
Результат можно увидеть с помощью все той же Get-VMNetworkAdapterAcl:
Мониторинг
Мониторинг трафика можно реализовать благодаря механизму зеркалирования порта (port mirroring). Для настройки зеркалирования необходимо указать источник информации, в Hyper-V Manager это делается здесь:
И затем в настройках нужной ВМ, которая и будет осуществлять мониторинг трафика, выбрать в таком же поле значение Destination. В PowerShell это делается параметрами команды Set-VMNetworkAdapter:
Set-VMNetworkAdapter -VMName srv4 -PortMirroring Destination
После чего весь трафик, входящий и исходящий, на порт ВМ SRV3 копируется и перенаправляется на порт ВМ SRV4. Останется только установить в SRV4 необходимое ПО для анализа трафика. Важное условие, обе ВМ должны быть подключены к одному виртуальному свичу.
Отказоустойчивость
Последняя опция в расширенных свойствах виртуального сетевого адаптера относится к отказоустойчивости, а именно к технологии группирования сетевых адаптеров (NIC Teaming).
NIC Teaming – штатная возможность Windows Server 2012, заслуживающая, вообще говоря, отдельного поста. Эта возможность позволяет объединить несколько физических сетевых адаптеров в группу и обеспечить, с одной стороны, отказоустойчивость сетевого трафика при выходе какой-либо «сетевушки» из строя, с другой стороны, агрегирование пропускной способности адаптеров, включенных в группу.
По разным причинам вы можете не захотеть включать тиминг на хостовой машине. Тем не менее, если на хосте более одного физического сетевого адаптера, можно использовать NIC Teaming внутри гостевой ОС. Представим, что на хосте две сетевые карточки. Если в некоторой ВМ два виртуальных сетевых адаптера, эти адаптеры через два виртуальных свича типа external подключены к, соответственно, двум физическим карточкам, и внутри ВМ установлена ОС Windows Server 2012, то вы можете сконфигурировать NIC Teaming внутри гостевой ОС. И такая ВМ сможет воспользоваться всеми преимуществами тиминга, и отказоустойчивостью, и повышенной пропускной способностью. Но для того, чтобы Hyper-V понимал, что при выходе из строя одного физического адаптера, трафик для этой ВМ нужно перебросить на другой физический адаптер, как раз и нужно установить упомянутый чекбокс в свойствах каждого виртуального NIC, входящего в тиминг. В PowerShell аналогичная настройка задается следующим образом:
Set-VMNetworkAdapter -VMName srv4 -AllowTeaming On
Все рассмотренные выше настройки могут быть заданы для запущенных ВМ и вступают в силу немедленно. Разумеется, это не весь функционал Hyper-V Extensible Switch. Просмотрев перечень доступных в Hyper-V командлетов, вы сможете найти еще много интересного.
В заключении хочу заметить, что 26 ноября в Москве пройдет бесплатный семинар из серии IT Camp, посвященный Windows Server 2012 и System Center 2012. Семинар будут проводить мои коллеги – Георгий Гаджиев и Саймон Перриман (Редмонд). Вы сможете посмотреть на продукты живьем и задать возникшие вопросы.
Надеюсь, материал был полезен.
Спасибо!
В Microsoft Hyper-V виртуальный коммутатор Hyper-V vSwitch является центром связи внутри и снаружи среды Hyper-V. Он позволяет виртуальным машинам взаимодействовать друг с другом, а также с физической сетью.
Конечная цель сетевых возможностей с точки зрения гипервизора — позволить сетевому трафику из виртуализированной среды взаимодействовать с физической сетью, чтобы пакеты могли быть отправлены по назначению. Хотя большая часть коммуникаций происходит непосредственно внутри гипервизора, взаимодействие виртуальной сети с физической является важной частью общей виртуальной инфраструктуры.
Обзор виртуального коммутатора Hyper-V
Прежде чем углубиться в виртуальную инфраструктуру, большинство инженеров по эксплуатации в течение многих лет имели дело с физическими конструкциями ЦП, памяти и сети. Все эти конструкции реплицируются в виртуализированном мире.
Сосредоточив внимание на виртуальной сетевой карте, они функционируют так же, как и функции физической сетевой карты, за исключением всего, что происходит в программном обеспечении.
В мире Hyper-V сетевой уровень абстрагируется так же, как абстрагируется уровень вычислений и хранения и представляется гостевой операционной системе.
Виртуальный коммутатор Hyper-V называется vSwitch. Опять же, это программные объекты, которые находятся на хосте Hyper-V и по сути абстрагируют сетевые карты, найденные на хосте, и представляют их гостевой операционной системе. Порты хост-сетевого адаптера Hyper-V по существу являются портами восходящей линии связи, которые обеспечивают обратную связь с физической сетью как для интрасети, так и для подключения к Интернету.
Что такое виртуальный коммутатор Hyper-V?
Виртуальный коммутатор Hyper-V — это программный сетевой коммутатор Ethernet уровня 2, доступный в диспетчере Hyper-V по умолчанию после подготовки роли Hyper-V на узле. Это позволяет подключаться как к виртуальным сетям, так и к физической сети.
Примером этого является коммутатор Cisco Nexus 1000x для Microsoft Hyper-V. Этот сторонний модуль от Cisco добавляет множество функций Cisco к виртуальному коммутатору Hyper-V, благодаря чему он ведет себя так же, как физические устройства Cisco, с которыми знакомы многие сетевые инженеры. Это помогает поддерживать виртуальный коммутатор Hyper-V практически так же, как и его физические аналоги.
По сравнению с физическими коммутаторами виртуальный коммутатор Hyper-V предлагает множество преимуществ, включая возможность программного управления и подготовки, а также возможность расширения за счет дополнительных функций, которые позволяют сторонним поставщикам расширять его возможности.
Виртуальный коммутатор Hyper-V обладает широкими возможностями расширения.
Используя спецификацию интерфейса сетевого устройства или фильтры NDIS, а также платформу фильтрации Windows или WFP, виртуальные коммутаторы Hyper-V можно расширить с помощью подключаемых модулей, написанных специально для взаимодействия с виртуальным коммутатором Hyper-V. Они называются расширениями виртуального коммутатора и могут обеспечить расширенные возможности сети и безопасности.
Виртуальные коммутаторы Hyper-V также позволяют применять и обеспечивать соблюдение политик безопасности, изоляции ресурсов и обеспечения соглашений об уровне обслуживания. Эти дополнительные функции представляют собой мощные инструменты, которые позволяют современным многопользовательским средам изолировать рабочие нагрузки, а также обеспечивать формирование трафика. Это также помогает защититься от вредоносных виртуальных машин.
Как уже упоминалось о большинстве функций Hyper-V, ими можно управлять и настраивать программно. Hyper-V чрезвычайно легко настраивается и управляется с помощью Microsoft PowerShell. Виртуальные коммутаторы не являются исключением. С большинством функций виртуального коммутатора можно взаимодействовать с помощью командлетов PowerShell.
Вы можете перечислить различные командлеты, доступные для виртуального коммутатора Hyper-V, введя команду:
- Получить помощь *VMSwitch*
Базовым примером использования PowerShell с виртуальным коммутатором Hyper-V является создание нового виртуального коммутатора. Это можно сделать с помощью команды:
- New-VMSwitch -Name ‘External01’ -NetAdapterName LAN01
Возможности и функциональность виртуального коммутатора Hyper-V
Сегодня, пожалуй, нет большей заботы и цели в использовании любой формы технологии, чем безопасность. Виртуальный коммутатор Hyper-V позволяет применять политику для повышения безопасности и изоляции, а также обеспечивает изоляцию клиентов, формирование трафика и защиту от вредоносных виртуальных машин.
Существует множество замечательных функций и возможностей виртуального коммутатора Hyper-V, которые, безусловно, обеспечивают и укрепляют безопасность среды Hyper-V, включая следующее:
- Защита от отравления/подмены ARP/ND. Распространенным методом атаки, который многие злоумышленники могут использовать в сети, является подмена MAC-адреса или атака отравления или подделки ARP. Злоумышленник может использовать вредоносную виртуальную машину, чтобы выдать себя за законный IP-адрес или украсть его с помощью подмены ARP. Виртуальные коммутаторы Hyper-V предотвращают такое поведение, обеспечивая защиту от подмены MAC-адреса.
- Защита DHCP Guard. Атаки типа «человек посередине» могут осуществляться с использованием мошеннических DHCP-серверов. DHCP Guard защищает от вредоносной виртуальной машины, выдающей себя за неавторизованный DHCP-сервер.
- Списки ACL портов. ACLS портов позволяют администраторам фильтровать трафик на основе MAC- или IP-адресов или диапазонов, что позволяет эффективно настраивать сетевую изоляцию и микросегментацию.
- Транковый режим к виртуальной машине — позволяет направлять трафик из нескольких VLAN на конкретную виртуальную машину.
- Мониторинг сетевого трафика. Администраторы могут просматривать трафик, проходящий через сетевой коммутатор.
- Изолированная частная VLAN. Частные VLAN могут эффективно микросегментировать трафик и обеспечивать лучшую сегрегацию в целях безопасности в многопользовательской среде, поскольку по сути это VLAN внутри VLAN. Виртуальным машинам можно разрешить или запретить взаимодействие с другими виртуальными машинами в рамках конструкции частной VLAN.
Технология объединения Hyper-V
Действительно замечательная функция Windows Server 2016 Hyper-V — это технология Switch Embedded Teaming или SET. Это новая технология объединения, представленная в Windows Server 2016, которая предоставляет альтернативный способ объединения сетевых карт на узле Hyper-V. SET интегрирует некоторые из этих новых функций в виртуальный коммутатор Hyper-V.
Команда SET позволяет группировать от одного до восьми физических сетевых адаптеров в программный виртуальный сетевой адаптер, который можно использовать для обеспечения высокой производительности и отказоустойчивости в случае сбоев. Группа SET настраивается для каждого хоста Hyper-V, и каждая группа должна существовать на одном хосте.
Команда SET интегрирована в виртуальный коммутатор Hyper-V, поэтому ее нельзя представить гостевой операционной системе, работающей на виртуальной машине. Вы можете использовать объединение сетевых карт внутри виртуальной машины, но не SET. SET можно управлять через PowerShell, а также использовать подключения к удаленному рабочему столу для настройки и взаимодействия с SET.
Фундаментальное различие в объединении SET и обычного сетевого адаптера заключается в том, что при объединении сетевых карт вы можете иметь резервный адаптер как таковой. Однако в команде SET все адаптеры активны и ни один не может находиться в режиме ожидания. Команда SET работает в независимом от коммутатора режиме, то есть физические коммутаторы, к которым подключена группа SET, не знают о команде SET и не распределяют трафик между участниками SET. Скорее, команда SET распределяет входящий сетевой трафик между участниками SET.
Типы виртуальных коммутаторов Hyper-V
Если посмотреть на виртуальный коммутатор Hyper-V, то можно увидеть три различных типа коммутаторов, которые можно настроить для использования. Они включают:
- Частный виртуальный коммутатор
- Внутренний виртуальный коммутатор
- Внешний виртуальный коммутатор
Частный виртуальный коммутатор
При использовании частного виртуального коммутатора виртуальный коммутатор обеспечивает связь только между подключенными виртуальными машинами, подключенными к частному виртуальному коммутатору.
Хорошим реальным применением частного виртуального коммутатора является использование с технологиями гостевой кластеризации для кластерного трафика.
Внутренний виртуальный коммутатор
Внутренний виртуальный коммутатор обеспечивает связь только между виртуальными адаптерами, подключенными к подключенным виртуальным машинам, и операционной системой управления. Это означает, что хост сможет видеть трафик внутреннего виртуального коммутатора.
Основное преимущество использования частного или внутреннего виртуального коммутатора заключается в изоляции трафика, чтобы гарантировать, что он не выйдет за пределы виртуального коммутатора. Единственный способ вывести трафик из частного или внутреннего виртуального коммутатора — использовать маршрутизатор для маршрутизации трафика наружу.
Внешний виртуальный коммутатор
Внешний виртуальный коммутатор — это наиболее распространенный тип виртуального коммутатора Hyper-V, который будет использоваться в большинстве сред, поскольку позволяет подключать виртуальные машины к физической сети. Внешний виртуальный коммутатор подключен к физическому сетевому адаптеру, установленному на узлах Hyper-V, что делает возможным обмен данными за пределами узла.
С помощью внешнего виртуального коммутатора виртуальные машины могут быть подключены к внешнему миру без какого-либо дополнительного механизма маршрутизации. Однако как для частных, так и для внутренних коммутаторов должна быть какая-то функция маршрутизации, позволяющая передавать трафик от внутренних/частных виртуальных коммутаторов наружу.
Логические коммутаторы Hyper-V
При использовании System Center в среде Hyper-V диспетчер виртуальных машин или структура VMM позволяет использовать виртуальный коммутатор Hyper-V другого типа — логические коммутаторы.
Логический коммутатор объединяет расширения виртуального коммутатора, профили портов и классификации портов, что позволяет единообразно настраивать сетевые адаптеры на нескольких хостах. Таким образом, несколько хостов могут иметь один и тот же логический коммутатор и связанные порты восходящей линии связи.
По ощущениям и функциям это похоже на администраторов VMware, имеющих опыт работы с распределенным виртуальным коммутатором. Конфигурация распределенного виртуального коммутатора хранится на уровне сервера vCenter. Затем конфигурация развертывается из vCenter на каждый хост, а не со стороны хоста.
Заключительные мысли
Виртуальный коммутатор Hyper-V — это мощная конструкция в области инфраструктуры Hyper-V. Разрешение входящего и исходящего сетевого трафика в среде Hyper-V имеет решающее значение для обеспечения возможности взаимодействия виртуальных машин друг с другом, а также с интрасетью и Интернетом в целом.
Как показано, виртуальный коммутатор Hyper-V — это мощная программно-определяемая сетевая технология, которая обеспечивает множество мощных функций, включая программируемость и расширяемость. Виртуальный коммутатор Hyper-V содержит множество замечательных функций безопасности, которые позволяют организациям применять политику и защищаться от многих распространенных сетевых атак.
Используя объединение SET с Windows Server 2016 и более поздних версий, Hyper-V может гораздо более эффективно использовать восходящие каналы и физические соединения. Hyper-V также обеспечивает гибкость в выборе типов и вариантов использования трех различных виртуальных коммутаторов Hyper-V — внешнего, внутреннего и частного.
Логические коммутаторы Hyper-V можно создавать с помощью System Center Virtual Machine Manager и предоставлять возможность создавать виртуальные коммутаторы, которые размещаются на уровне System Center и могут быть соответствующим образом применены к хостам Hyper-V. Каждый из них позволяет контролировать и разрешать прохождение сетевого трафика в среде Hyper-V различными способами.
Это позволяет создать стандартизированную и согласованную конфигурацию для всех хостов Hyper-V. Собственные инструменты Hyper-V позволяют создать стандартный виртуальный коммутатор, включая Hyper-V Manager и PowerShell.
Внимание! Данная статья не является официальной документацией.Использование информации необходимо выполнять с осторожностью, используя для этого тестовую среду.
Если у вас есть вопросы о построении современных систем резервного копирования, репликации, синхронизации данных и защиты от программ вымогателей обратитесь в нашу компанию для получения консультации о современных технологиях резервного копирования и восстановления данных. Наша компания имеет более чем 20-летний опыт в этой области. |
Десять лучших практик Vembu
The de facto open source virtual switch forwarding extension,
now with GENEVE, GRE, VXLAN and STT support.
Download latest release
Overview
Networking is one of the areas which enjoyed the largest amount of innovation recently, especially in configuration and multi-tenancy, with Open vSwitch™ (OVS) playing the leading part in this domain by far.
As a result of the joint effort between Cloudbase Solutions, VMware and the rest of the Open vSwitch community, OVS is now ported for Microsoft Hyper-V, allowing the integration of Hyper-V in multi-hypervisor clouds using GENEVE, GRE, VXLAN and STT as a common overlay standard.
The installation process is made extremely easy with our intuitive MSI installer taking care of all the required binaries and configurations, including Windows services for the ovsdb-server and ovs-vswitchd daemons.
Enterprise support
Contact us and explore different commercial support options for your on premise, hybrid cloud or datacenter.
Download
Register and receive information on Cloudbase Solutions products, services and the latest updates:
Installation
Please refer to the following blog post on how to integrate Open vSwitch in your Hyper-V OpenStack installation.
Unattended setup
Fully unattended installation is also available(if you already have accepted/imported our certificate) in order to install Open vSwitch with Windows GPOs, Puppet, Chef, SaltStack, DSC or any other automated deployment solution:
msiexec /i openvswitch—hyperv.msi /l*v log.txt |
Виртуальный коммутатор Ethernet
Подключение нескольких компьютеров обычно требует настройки сети, что повышает общую эффективность за счёт установления протоколов связи между ними. Вместо традиционных аппаратных инструментов можно использовать специализированное программное обеспечение, такое как Virtual Ethernet Switch.
Это приложение имеет простой пользовательский интерфейс, который позволяет легко пользоваться функциями программы. Если возникнут трудности в работе с приложением, можно обратиться к руководству пользователя, но для этого потребуется подключение к интернету.
Virtual Ethernet Switch позволяет превратить любой поддерживаемый компьютер в виртуальный коммутатор Ethernet, избавив от необходимости искать дополнительные аппаратные компоненты. Можно создавать коммутаторы, которые поддерживают до четырёх доступных портов. Порты можно настраивать индивидуально, нажимая на значок шестерёнки для каждой записи и регулируя параметры в соответствующем окне.
Приложение позволяет просматривать список доступных адаптеров в левой части окна. Вы можете подключить любой поддерживаемый адаптер к виртуальному коммутатору, нажав кнопку «Связать» для нужного элемента, или отключить их, нажав кнопку «Отсоединить».
Можно выбрать один из двух уровней «Интеллектуальности маршрутизации»: настройка «Smart» позволяет получать только предназначенный трафик, а «Dumb» — весь нефильтрованный трафик. Локальный трафик можно блокировать или разрешать, переключая соответствующую опцию в окне «Настройки слота».
Скачать с официальной страницы
Virtual Network Hub