====== 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 Пояснения: * 192.168.10.1 - адрес нашего шлюза * 24 - маска /24 (255.255.255.0) * 21 - ifIndex из предыдущей команды Создаем 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 Удалить все правила: Remove-NetNatStaticMapping ===== Компоненты интеграции для Debian ===== Установку компонент интеграции Hyper-V можно выполнить из официальных репозиториев Debian. После установки желательно перезагрузить гостевую ОС, чтобы убедиться в успешном автоматическом запуске служб: # apt-get install hyperv-daemons # reboot Проверим состояние служб после перезагрузки: # systemctl status hyperv-daemons.hv-* {{tag>hyper-v nat debian}}