Содержание

Hyper-V: Настраиваем NAT

Создание сетей NAT возможно в Windows Server 2016, Hyper-V Server 2016 и более поздних версиях, а также Windows 10. На одном гипервизоре может быть создана только одна сеть NAT. Также обратите внимание, что в отличие от настольных средств виртуализации (VMWare Workstation или VirtualBox), служба NAT в Hyper-V не предоставляет дополнительных сетевых служб (DHCP или DNS), поэтому сетевые настройки виртуальным машинам необходимо назначить самостоятельно.

Также настройка NAT производится исключительно в консоли PowerShell и недоступна в графическом интерфейсе.

Создание NAT

Создаем новый виртуальный коммутатор с типом сети Внутренняя:

New-VMSwitch -SwitchName "VM_NAT" -SwitchType Internal

Смотрим ifIndex только что созданного коммутатора:

Get-NetAdapter

Задаем адресацию:

New-NetIPAddress -IPAddress 192.168.10.1 -PrefixLength 24 -InterfaceIndex 21

Пояснения:

Создаем Nat:

New-NetNat -Name "vNAT" -InternalIPInterfaceAddressPrefix 192.168.10.0/24

Проверим что NAT создался:

Get-NetNat

Теперь для вновь создаваемых виртуальных машин нужно указать сеть VM_NAT и при настройке сети прописать адрес шлюза 192.168.10.1

Удаляем NAT

Удалить можно командой

Remove-NetNat

После этого потребуется удалить назначенный шлюзу IP-адрес:

Remove-NetIPAddress -IPAddress 192.168.10.1 -InterfaceIndex 21

Это может потребоваться, если вы захотите изменить адресное пространство NAT. В этом случае удаляете старую сеть NAT и создаете новую, с требуемыми параметрами. Виртуальный коммутатор и виртуальный сетевой интерфейс при этом остаются прежними.

Если вы полностью хотите полностью удалить NAT, то дополнительно удалите виртуальный коммутатор, это можно сделать через графический интерфейс, либо командой, указав в ней имя коммутатора:

Remove-VMSwitch -SwitchName «VM_NAT»

Проброс порта через NAT

Создаем проброс порта 22 в виртуальную машину:

Add-NetNatStaticMapping -NatName "vNAT" -Protocol TCP -ExternalIPAddress 0.0.0.0/24 -ExternalPort 22 -InternalIPAddress 192.168.10.1 -InternalPort 22

Посмотреть список:

Get-NetNatStaticMapping

Удалить конкретное правило по ID:

Remove-NetNatStaticMapping -StaticMappingID <ID>

Удалить все правила:

Remove-NetNatStaticMapping

Компоненты интеграции для Debian

Установку компонент интеграции Hyper-V можно выполнить из официальных репозиториев Debian. После установки желательно перезагрузить гостевую ОС, чтобы убедиться в успешном автоматическом запуске служб:

# apt-get install hyperv-daemons
# reboot

Проверим состояние служб после перезагрузки:

# systemctl status hyperv-daemons.hv-*