Введение / Зачем это нужно
В Hyper-V сетевые взаимодействия виртуальных машин (ВМ) обеспечиваются через виртуальные коммутаторы (Virtual Switches). Это программные аналоги физических сетевых коммутаторов, которые определяют, как ВМ общаются между собой и с внешним миром. Настройка правильного типа коммутатора решает ключевые задачи:
- External: предоставляет ВМ прямой доступ к физической сети и интернету через выбранный адаптер хоста.
- Internal: создаёт сеть для обмена данными между ВМ и самой хост-системой, но без доступа в интернет.
- Private: обеспечивает связь только между виртуальными машинами, хост исключён.
Этот гайд проведёт вас через создание и настройку каждого типа коммутатора, а также подключение ВМ к ним. После выполнения вы сможете изолировать тестовые среды, подключать серверы к локальной сети или настраивать сложные сетевые топологии.
Требования / Подготовка
Перед началом убедитесь, что:
- На компьютере установлена и включена роль Hyper-V.
- У вас есть права администратора.
- Для создания External-коммутатора в вашем распоряжении есть хотя бы один работающий физический сетевой адаптер (Ethernet или Wi-Fi).
- Виртуальные машины, которые вы планируете подключать, уже созданы.
Пошаговая инструкция
Шаг 1: Открыть диспетчер Hyper-V и запустить мастер коммутаторов
- Откройте Диспетчер Hyper-V (Hyper-V Manager). Это можно сделать через меню Пуск или выполнив в PowerShell
virtmgmt.msc. - В правой панели действий нажмите «Virtual Switch Manager...».
Шаг 2: Выбрать тип виртуального коммутатора
В открывшемся окне вы увидите список существующих коммутаторов (если есть) и три варианта для создания нового:
- External: для доступа ВМ в общую сеть и интернет.
- Internal: для связи ВМ между собой и с хостом.
- Private: для связи только между ВМ.
Выберите нужный тип и нажмите «Создать виртуальный коммутатор».
Шаг 3: Настроить параметры коммутатора
Для External-коммутатора:
- В разделе «Подключение к внешней сети» выпадающим списком выберите физический сетевой адаптер, который будет использоваться (например,
EthernetилиWi-Fi). - ⚠️ Важно: Если вы хотите, чтобы хост-система тоже могла использовать этот адаптер одновременно с ВМ (что нужно в большинстве случаев), обязательно поставьте галочку
Разрешить управление операционной системой хоста. - Поле «Имя виртуального коммутатора» можно оставить по умолчанию или задать осмысленное (например,
External-Switch).
Для Internal или Private-коммутатора:
- Настройка сводится только к заданию имени (например,
Internal-TestNetилиPrivate-Lab). - Никаких физических адаптеров выбирать не нужно.
Нажмите «OK». Система может выдать предупреждение о перезапуске сетевых служб и временном разрыве соединения — согласитесь.
Шаг 4: Подключить виртуальные машины к новому коммутатору
- В Диспетчере Hyper-V выберите нужную виртуальную машину в списке.
- В правой панели нажмите «Параметры...» (или дважды кликните по ВМ).
- В окне настроек ВМ выберите раздел «Сеть» (Network Adapter).
- В выпадающем списке «Виртуальный коммутатор» выберите только что созданный коммутатор.
- Нажмите «OK».
- Повторите этот шаг для каждой ВМ, которую нужно подключить к данной сети.
Шаг 5: Настроить сетевые параметры внутри виртуальной машины
Запустите виртуальную машину и настройте сеть внутри гостевой ОС:
- Для External-сети: Обычно достаточно выбрать «Автоматически получать IP-адрес» (DHCP). Адресацию предоставит ваш роутер/сеть, как для физического компьютера.
- Для Internal/Private-сетей:
- Вариант A (DHCP): Настройте на хосте (в Windows) роль DHCP-сервера для этой подсети и запустите его. ВМ получат адреса автоматически.
- Вариант B (статический IP): Назначьте ВМ ручные IP-адреса из одной подсети. Например, для сети
192.168.100.0/24:- ВМ1:
192.168.100.10, маска255.255.255.0, шлюз не требуется (доступа в интернет нет). - ВМ2:
192.168.100.11, маска255.255.255.0. - Для Internal-сети можно прописать шлюзом IP-адрес хоста (например,
192.168.100.1), если на нём настроен общий доступ или нужен выход в другие сети.
- ВМ1:
Проверка результата
- Для External: Внутри ВМ откройте командную строку и выполните
ping 8.8.8.8. Должны быть ответы. Также проверьте доступ к сайтам. - Для Internal/Private:
- Запустите несколько ВМ, подключённых к одному коммутатору.
- С каждой ВМ выполните
ping <IP-адрес_другой_ВМ>. Должны быть ответы. - Для Internal попробуйте с хоста (
Win+R->cmd) пропинговать IP-адрес ВМ. Должно работать. - Для Private пинг с хоста на ВМ должен не проходить (это ожидаемое поведение).
Возможные проблемы
- Нет доступа в интернет на ВМ в External-сети:
- Проверьте, что в настройках коммутатора стоит галочка
Разрешить управление ОС хоста. - Убедитесь, что выбранный физический адаптер работает и имеет доступ в сеть.
- Проверьте брандмауэр хоста и на ВМ — они могут блокировать трафик.
- Убедитесь, что в настройках ВМ выбран правильный виртуальный коммутатор.
- Проверьте, что в настройках коммутатора стоит галочка
- ВМ не получает IP-адрес (Internal/Private):
- Для DHCP-сети: убедитесь, что служба DHCP-сервера на хосте запущена и имеет активную область (scope) для вашей подсети.
- Для статической настройки: проверьте, что IP-адреса назначены в одной подсети и без конфликтов.
- Перезапустите сетевую службу внутри ВМ:
ipconfig /release, затемipconfig /renew.
- Ошибка при создании External-коммутатора:
- Адаптер уже используется другим коммутатором. Удалите старый коммутатор или выберите другой адаптер.
- Нет прав администратора. Запустите Hyper-V Manager от имени администратора.
- Сеть между ВМ не работает, хотя они в одном коммутаторе:
- Проверьте, что у ВМ включен сетевой адаптер (в ОС гостя).
- Убедитесь, что на ВМ настроены IP-адреса в одной подсети и маска корректна.
- Проверьте брандмауэр на ВМ — он может блокировать ICMP (ping). Временно отключите для диагностики.