Сегодня поговорим о сети в Hyper-V, особенно о таких случаях, когда компьютер подключен по wifi, что в домашних условиях бывает часто...
В таких продуктах, как Vmware Player и Virtualbox изначально идет заточка под десктоп и там легко заводится тип подключения мост на wifi адаптер, когда ip адреса прокидываются в вашу беспроводную сеть... Но Hyper-V заточен больше под серверное применение, можете попробовать установить Linux на virtualbox или vmware (тут не говорю про серверный аналог, только десктопный продукт) и пингануть сеть, то пинги будут слегка больше иметь задержки, чем на Hyper-V, к тому же, Hyper-V еще имеет автозапуск в фоне независимо от того зашел пользователь в систему или нет.
Всё это и многое другое, к примеру скорость дисковой подсистемы, определяет выбор в пользу Hyper-V для домашнего Linux-сервера на Windows машине.
Но вот в Hyper-V нет никаких специальных сетевых драйверов-прослоек, которые бы позволяли его использовать по wifi в режиме моста (внешняя сеть), при таком использовании начнутся проблемы с обрывами между машинами и самым правильным решением будет использовать внутреннюю сеть или NAT.
Установка Hyper-V на Windows 10
Hyper-V работает только на редакциях Windows 10 pro, для его активации нужно запустить настройки - приложения -программы и компоненты
Далее нужно зайти в "включени и отключение компонентов"
И тут отметить галочкой Hyper-V, после перезагрузки в пуске появится Диспетчер Hyper-V
Создание внутренней сети в Hyper-V
Первым делом нужно создать виртуальный коммутатор, использовать Default Switch с недавнего времени стало невероятно, т.к. при каждой перезагрузке он сбрасывает ip на свой автоматический.
Для создания виртуального коммутатора, нужно зайти в диспетчер виртуальных коммутаторов
А дальше создать виртуальный сетевой коммутатор, выбрав для него режим внутренняя сеть
Назовем его к примеру VirtMachines
Настройка NAT на Windows 10 в PowerShell для Hyper-v (и не только)
Допустим, все виртуальные машины у нас будут в подсети 192.168.200.0, а шлюз у них будет 192.168.200.1, для этого этот айпи укажем у адаптера для virtmachines
А далее открываем PowerShell от имени администратора (правый клик по кнопке пуск)
И начинаем колдовать...
Первым делом нам нужно настроить сам nat, это snat или прямой нат или подмена источника... Он же маскарадинг. Дело в том, что если во внешнюю сеть улетит ip источника 192.168.200.100, то ответа никак не получит эта машина, для этого всю внутреннюю подсеть нужно скрывать за своим внешним или почти внешним айпи
New-NetNat -Name nat1 -InternalIPInterfaceAddressPrefix 192.168.200.0/24
Теперь в обратную сторону, то что приходит на физическую машину на 80 порт отправим на виртуальную машину с айпи 192.168.200.100
Add-NetNatStaticMapping -NatName nat1 -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.200.100 -InternalPort 80 -ExternalPort 80
Обратите внимание, что в прямом и обратном NAT применяется один NatName...