Windows

Настройка виртуального коммутатора Hyper-V: полное руководство

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

Обновлено 15 февраля 2026 г.
15-20 мин
Средняя
FixPedia Team
Применимо к:Windows 10 Pro/Enterprise/EducationWindows 11 Pro/Enterprise/EducationHyper-V Role

Введение / Зачем это нужно

Виртуальный коммутатор (Virtual Switch) в Hyper-V — это ключевой компонент, который обеспечивает сетевое взаимодействие виртуальных машин (ВМ) между собой, с хост-системой и внешней сетью. Правильная настройка коммутатора решает большинство проблем с сетью в виртуальной среде: от отсутствия доступа в интернет до необходимости изолировать трафик между серверами. После выполнения этого гайда вы сможете создавать и настраивать три типа коммутаторов, понимать их назначение и устранять типичные неполадки.

Требования / Подготовка

Перед началом убедитесь, что выполнены следующие условия:

  1. Операционная система: Windows 10 Pro/Enterprise/Education или Windows 11 аналогичных редакций. Домашние (Home) редакции не поддерживают Hyper-V.
  2. Установленная роль Hyper-V: Откройте «Панель управления» → «Программы и компоненты» → «Включение или отключение компонентов Windows». Галочка «Гипер-V» должна быть установлена. Альтернативно, в PowerShell от администратора: Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart.
  3. Права администратора: Все операции по созданию и настройке коммутаторов требуют запуска PowerShell или диспетчера Hyper-V от имени администратора.
  4. Физический сетевой адаптер: Для создания Внешнего (External) коммутатора у вас должен быть хотя бы один работающий физический сетевой интерфейс (Ethernet или Wi-Fi).

Пошаговая инструкция

Шаг 1: Просмотр текущей конфигурации и адаптеров

Сначала нужно понять, что уже есть в системе. Запустите PowerShell от администратора и выполните команду для просмотра всех виртуальных коммутаторов:

Get-VMSwitch | Format-List Name, SwitchType, NetAdapterInterfaceDescription

Пример вывода:

Name           : ВнешнийКоммутатор
SwitchType     : External
NetAdapterInterfaceDescription : Intel(R) Ethernet Connection I219-V

Name           : ВнутренняяСеть
SwitchType     : Internal
NetAdapterInterfaceDescription :

Обратите внимание на SwitchType и NetAdapterInterfaceDescription для внешних коммутаторов.

Также узнайте точные имена ваших физических сетевых адаптеров:

Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Select-Object Name, InterfaceDescription, Status

Запишите имя (Name) нужного адаптера, например Ethernet или Wi-Fi.

Шаг 2: Создание внешнего (External) виртуального коммутатора

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

⚠️ Важно: Один физический адаптер может быть привязан только к одному внешнему коммутатору. Если коммутатор уже существует, команда New-VMSwitch завершится ошибкой.

Через PowerShell (рекомендуется):

New-VMSwitch -Name "ГостьИнтернет" -NetAdapterName "Ethernet" -AllowManagementOS $true
  • -Name "ГостьИнтернет" — задаёт имя коммутатора. Используйте латинские буквы и цифры без пробелов для надёжности.
  • -NetAdapterName "Ethernet" — указывает имя физического адаптера из шага 1.
  • -AllowManagementOS $trueкритически важный параметр. $true означает, что хост-система (Windows) также будет использовать этот коммутатор для своего сетевого подключения. Если вы создаёте коммутатор только для ВМ и хотите оставить сеть хоста на другом адаптере, укажите $false. Но тогда хост потеряет связь через этот адаптер.

Через графический интерфейс (Диспетчер Hyper-V):

  1. Откройте «Диспетчер Hyper-V».
  2. В меню справа выберите «Менеджер виртуальных коммутаторов».
  3. Нажмите «Создать виртуальный коммутатор» → «Внешний».
  4. В поле «Имя» введите понятное имя (например, External-Net).
  5. В «Подключение к» выберите нужный физический адаптер из списка.
  6. Обязательно оставьте галочку «Разрешить управляющей операционной системе использовать этот виртуальный коммутатор», если хотите, чтобы хост имел сеть через него.
  7. Нажмите «ОК». Система может перезапустить сетевые службы и кратко прервать соединение.

Шаг 3: Создание внутреннего (Internal) или изолированного (Private) коммутатора

Эти типы не имеют выхода в физическую сеть.

  • Внутренний (Internal): Сеть доступна только между виртуальными машинами и хост-системой. Хост видит этот коммутатор как отдельный сетевой адаптер. Идеально для тестовых сред или когда ВМ должны общаться с сервисами на хосте.
    New-VMSwitch -Name "ЛабСеть" -SwitchType Internal
    

    После создания настройте статический IP на виртуальном адаптере хоста (через ncpa.cpl) и на адаптерах ВМ в одной подсети (например, 192.168.100.1 и 192.168.100.2/24).
  • Изолированный (Private): Сеть доступна только между виртуальными машинами. Хост не видит этот коммутатор. Используется для создания полностью изолированных кластеров или тестов, где хост не должен вмешиваться.
    New-VMSwitch -Name "ИзолСеть" -SwitchType Private
    

    Настройте IP только на адаптерах ВМ.

Шаг 4: Назначение коммутатора виртуальной машине

  1. В Диспетчере Hyper-V выберите нужную виртуальную машину в списке.
  2. Правой кнопкой → «Параметры» (или «Свойства» в старых версиях).
  3. В левом меню выберите «Дополнительно» (или «Сетевой адаптер» в простом режиме).
  4. В выпадающем списке «Виртуальный коммутатор» выберите созданный коммутатор (например, ГостьИнтернет).
  5. Нажмите «ОК».
  6. Перезагрузите виртуальную машину, чтобы сетевой адаптер переинициализировался с новыми настройками.

Шаг 5: Проверка работы сети внутри виртуальной машины

Запустите виртуальную машину и выполните проверки:

  1. Откройте командную строку или PowerShell внутри ВМ.
  2. Проверьте наличие сетевого адаптера и получение IP:
    ipconfig /all
    
    У вас должен быть адаптер с IP-адресом (для внешнего коммутатора — от вашего DHCP, для внутреннего/private — статическим, который вы настроили).
  3. Проверьте связь с хостом (для Internal/Private):
    ping <IP-адрес_хоста_в_этой_сети>
    
  4. Проверьте выход в интернет (для External):
    ping 8.8.8.8
    
    Если пинги идут, но не открываются сайты, проверьте настройки DNS (ipconfig показывает DNS-серверы).

Проверка результата

Главный признак успешной настройки — виртуальная машина получает корректный IP-адрес и может общаться в нужном направлении:

  • Для External коммутатора: ВМ должна получать IP от вашего роутера/DHCP-сервера и иметь доступ в интернет и локальной сети.
  • Для Internal коммутатора: ВМ и хост должны видеть друг друга (проверьте ping по IP, установленному на виртуальном адаптере хоста). Имя хоста в этой сети обычно Host или Windows.
  • Для Private коммутатора: Две и более ВМ, подключённые к одному Private коммутатору, должны «пропигать» друг друга.

Также в PowerShell на хосте можно выполнить:

Get-VMNetworkAdapter -VMName "ИмяВашейВМ" | Select-Object -ExpandProperty IPAddresses

Это покажет IP-адреса, которые видит Hyper-V для адаптера конкретной ВМ.

Возможные проблемы

Ошибка: «Не удалось добавить виртуальный коммутатор... Адаптер уже используется»

Это означает, что выбранный физический адаптер уже привязан к другому внешнему коммутатору. Решение:

  1. Удалите или перенастройте существующий коммутатор: Remove-VMSwitch -Name "СтарыйКоммутатор" (или через GUI).
  2. Если адаптер используется хостом (например, для Wi-Fi), создавайте Internal/Private коммутатор или отключите -AllowManagementOS для External, но тогда хост потеряет сеть через этот адаптер.

ВМ не получает IP-адрес (DHCP)

  1. Убедитесь, что на физическом адаптере, к которому привязан External коммутатор, есть доступ к DHCP-серверу (попробуйте с хоста получить IP вручную через ipconfig /release и ipconfig /renew).
  2. Проверьте, что в настройках ВМ в Hyper-V для сетевого адаптера выбран правильный коммутатор.
  3. Внутри ВМ перезапустите службу DHCP-клиента: net stop dhcp && net start dhcp (cmd) или Restart-Service Dhcp (PowerShell).

Нет связи, но IP есть (для External)

Чаще всего проблема в брандмауэре Windows на хосте или внутри ВМ. При создании External коммутатора с -AllowManagementOS $true трафик хоста фильтруется. Попробуйте временно отключить брандмауэр на хосте для проверки. Также проверьте, не блокирует ли трафик антивирус или корпоративные политики безопасности.

Хост «теряет» сеть после создания External коммутатора

Это происходит, если при создании коммутатора была снята галочка «Разрешить управляющей ОС использовать...» (-AllowManagementOS $false). Хост создаст новый виртуальный адаптер, но физический адаптер останется «чистым». Решение: либо создайте новый External коммутатор с $true (предварительно удалив старый), либо настройте статический IP на виртуальном адаптере хоста, который появился в ncpa.cpl (он будет иметь имя типа «vEthernet (ИмяКоммутатора)») и настройте маршрутизацию.

Часто задаваемые вопросы

Какой тип виртуального коммутатора выбрать для виртуальной машины с доступом в интернет?
Почему виртуальная машина в Hyper-V не получает IP-адрес?
Можно ли использовать один физический адаптер для нескольких внешних коммутаторов?
Что такое 'Виртуальный коммутатор по умолчанию' и можно ли его удалить?

Полезное

Подготовка: проверка роли Hyper-V и прав администратора
Просмотр существующих виртуальных коммутаторов
Создание внешнего коммутатора через PowerShell
Настройка внутреннего коммутатора для изолированной сети
Настройка сетевых адаптеров виртуальных машин