У меня установлен Hyper-V Server 2012 R2 (потому что он бесплатный). У меня есть 2 виртуальные машины на этом сервере, Ubuntu Server (vLS) и Windows Server (vWS).
У меня есть только 1 внешний IP-адрес для хост-машины, поэтому виртуальные машины находятся во внутренней подсети 192.168.110.0/24 с хост-машиной (192.168.110.1) (я создал виртуальный коммутатор в подключенном диспетчере Hyper-V) .
Я хочу настроить базовый NAT, где я хочу привязать внешний порт 80 к порту 80 на vWS, чтобы сервер действовал как веб-сервер (со временем я захочу разрешить доступ к обеим виртуальным машинам на разных портах, поэтому порт 80 - это только пример).
Проблема в том, что Hyper-V Server не позволяет установить роль RRAS, и ICS недоступен.
Некоторые другие вопросы указывали на использование New-NetNat
но поскольку это еще не Server 2016, InternalIPInterfaceAddressPrefix
недоступно. Это последняя версия сервера Hyper-V, работающая без SLAT, поэтому обновление до 2016 не является вариантом.
Я пробовал использовать его с ExternalIPInterfaceAddress
и InternalRoutingDomainId
параметры, но я не смог выяснить, что такое действительный идентификатор домена внутренней маршрутизации, и как я могу определить свой (похоже, это какой-то GUID). Я пробовал с кучей нулей, но безуспешно.
Я посмотрел на NAT32 но казалось, что он зависает при запуске на сервере, графический интерфейс никогда не появляется. Я буду экспериментировать с этим дальше, но я надеюсь на встроенную функциональность на сервере без установки чего-либо стороннего (при этом я бы с радостью согласился на стороннее решение, если бы я мог заставить его работать).
Есть ли способ настроить NAT в Hyper-V Server 2012 R2 и привязать некоторые порты виртуальных машин к внешнему IP-адресу? Если да, то как я могу это сделать?
Вам понадобятся два vswitch и виртуальная машина, которая сделает NAT за вас.
Internal
vswitch может подключаться к виртуальным машинам и хосту, но не к физическому сетевому адаптеру. Это будет ваша сеть 192.168.110.0/24. Измените все существующие виртуальные машины на этот vswitch и одну из сетевых адаптеров для виртуальной машины межсетевого экрана.External
vswitch может подключаться к физическому сетевому адаптеру. Другой виртуальный сетевой адаптер для брандмауэра должен быть подключен к этому сетевому адаптеру. Вам также следует снять флажок «Разрешить управляющей операционной системе использовать этот сетевой адаптер».На вашем хосте два vswitch должны отображаться как сетевые адаптеры на вашей панели управления. Настройте IP-адрес 192.168.110.0/24 на адаптере, который соответствует Internal
vswitch. Теперь единственный способ связи хоста с внешним миром - через виртуальную машину межсетевого экрана.
Вы можете установить другой Windows Server на виртуальной машине и настроить RRAS, или вы можете установить и настроить виртуальный маршрутизатор VyOS и настроить его для пересылки всего трафика TCP-порта 80 (для аргументов) на ваши Windows-серверы, которые будут действовать как веб-серверы. .
Для конфигурации VyOS это довольно просто. Вам необходимо загрузить .iso для виртуального маршрутизатора VyOS и установить его на виртуальной машине. Подключите два vNIC к этой виртуальной машине; один подключен к внешнему vSwitch, который подключен к вашему сетевому адаптеру, а другой - к вашему внутреннему или частному vSwitch, к которому подключены ваши виртуальные машины. Итак, ваш маршрутизатор VyOs должен быть подключен к двум сетям; ваша внешняя сеть доступа в Интернет и ваша частная или внутренняя сеть виртуальных машин.
После установки образа VyOS вы можете выполнить несколько команд для настройки интерфейсов вашего маршрутизатора VyOS.
set interface eth eth0 address dhcp
set interface eth eth1 address 192.168.110/24
Вышеупомянутые команды настраивают внешний интерфейс для получения своего адреса через DHCP и настраивают следующий интерфейс маршрутизатора, чтобы он находился в той же сети, что и ваши виртуальные серверы (ВМ).
Затем вы запустите несколько простых команд, чтобы перенаправить весь трафик TCP 80 на внутренний сервер по вашему выбору.
set nat destination rule 1 description 'Port Forwarding: HTTP to 192.168.110.254'
set nat destination rule 1 destination port 80
set nat destination rule 1 inbound-interface 'eth0'
set nat destination rule 1 protocol 'tcp'
set nat destination rule 1 translation address '192.168.110.254'
И вот у вас есть виртуальный маршрутизатор, пересылающий все пакеты TCP 80 на внутренние серверы с адресом 192.168.110.254 (просто для аргументов).