Долгое время Hyper-V не имел возможности организации NAT собственными средствами, что в ряде случаев сильно ограничивало сетевые возможности гипервизора. Особенно остро это чувствовалось в лабораторных и тестовых средах, которые требовалось отделить от локальной сети, обеспечив при этом выход в интернет. С введением поддержки контейнеров потребность в сетях NAT только возросла, что сделало закономерным добавление функции преобразования сетевых адресов в гипервизор. Более подробно о настройке и особенностях применения NAT в Hyper-V мы расскажем в данной статье.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Создание сетей 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 - индекс интерфейса, для которого мы выполняем настройку.
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"
Связанный с коммутатором виртуальный сетевой адаптер будет удален автоматически.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии