-
Notifications
You must be signed in to change notification settings - Fork 0
Hyper V
- Hyper-V работает только на редакциях Windows 10 pro, для его активации нужно запустить настройки - приложения -программы и компоненты
- Далее нужно зайти в "включени и отключение компонентов"
- И тут отметить галочкой Hyper-V, после перезагрузки в пуске появится Диспетчер Hyper-V
Первым делом нужно создать виртуальный коммутатор, использовать Default Switch с недавнего времени стало невероятно, т.к. при каждой перезагрузке он сбрасывает ip на свой автоматический.
- Для создания виртуального коммутатора, нужно зайти в диспетчер виртуальных коммутаторов
- А дальше создать виртуальный сетевой коммутатор, выбрав для него режим внутренняя сеть
- Назовем его к примеру VirtMachines
Допустим, все виртуальные машины у нас будут в подсети 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...
Создание сетей NAT возможно в Windows Server 2016, Hyper-V Server 2016 и более поздних версиях, а также Windows 10. На одном гипервизоре может быть создана только одна сеть NAT. Также обратите внимание, что в отличие от средств настольной виртуализации, таких как VMWare Workstation или VirtualBox, служба NAT в Hyper-V не предоставляет дополнительных сетевых служб, таких как DHCP или DNS, поэтому сетевые настройки виртуальным машинам вам придется назначить самостоятельно.
Также настройка NAT производится исключительно в консоли PowerShell и недоступна в графическом интерфейсе, однако это не представляет никаких сложностей.
Подключимся к нужному нам гипервизору, перейдем в командную строку и запустим консоль PowerShell:
powershell
Цвет консоли при этом не изменится, останется черным, но в начале строки приглашения появятся буквы PS.
Теперь создадим новый виртуальный коммутатор с типом сети Внутренняя:
New-VMSwitch -SwitchName "VM_NAT" -SwitchType Internal
где VM_NAT - имя нашего виртуального коммутатора, которое можно задать произвольно.

При создании сети данного типа автоматически создается виртуальный сетевой адаптер на хосте, поэтому просмотрим список адаптеров командой:
Get-NetAdapter

Из полученной информации нам нужно выяснить и запомнить индекс сетевого интерфейса, в нашем случае 16. Следующим шагом мы настроим на нем шлюз. Перед этим следует определиться с адресацией будущей сети NAT, выделив ей свою подсеть и указав адрес шлюза. В нашем случае это будут 192.168.192.0/24 и 192.168.192.1, теперь можно настраивать шлюз:
New-NetIPAddress -IPAddress 192.168.192.1 -PrefixLength 24 -InterfaceIndex 16
Где IPAddress - адрес шлюза, PrefixLength - префикс сети, префикс 24 соответствует маске 255.255.255.0, InterfaceIndex - индекс интерфейса, для которого мы выполняем настройку.

Ну и наконец создадим NAT:
New-NetNat -Name "vNAT" -InternalIPInterfaceAddressPrefix 192.168.192.0/24
где Name - имя нашей сети NAT, в нашем случае vNAT, задается на ваше усмотрение, InternalIPInterfaceAddressPrefix - внутренняя сеть NAT.

Теперь можно вернуться в оснастку управления Hyper-V, в Диспетчере виртуальных коммутаторов у нас появится новая сеть - VM-NAT. Чтобы ее использовать, просто укажите этот коммутатор в настройках виртуальной машины Также вам потребуется выполнить ручную настройку сети внутри виртуальной машины, ей нужно выдать адрес и указать шлюз из внутренней сети NAT, а также любые доступные DNS:
Просмотреть существующие сети NAT, напоминаем, она должна быть только одна, можно командой:
Get-NetNat
Для удаления используйте:
Get-NetNat | Remove-NetNat
После этого вам также потребуется удалить назначенный шлюзу IP-адрес:
Remove-NetIPAddress -IPAddress 192.168.192.1 -InterfaceIndex 16
Это может потребоваться, если вы захотите изменить адресное пространство NAT. В этом случае удаляете старую сеть NAT и создаете новую, с требуемыми параметрами. Виртуальный коммутатор и виртуальный сетевой интерфейс при этом остаются прежними.
Если вы полностью хотите отказаться от NAT, то дополнительно удалите виртуальный коммутатор, это можно сделать через графический интерфейс, либо командой, указав в ней имя коммутатора:
Remove-VMSwitch -SwitchName "VM_NAT"
Связанный с коммутатором виртуальный сетевой адаптер будет удален автоматически.


