Я использую Hyper-V и у меня проблема с одной из моих виртуальных машин, имеющих доступ к Интернету. Диаграмма ниже иллюстрирует базовую конфигурацию:

схема

Хост-машина имеет два виртуальных коммутатора - один "Внешний" и один "Внутренний".

Внешний коммутатор имеет два IP-адреса - основной адрес и псевдоним, который находится в другом диапазоне сети. Шлюз по умолчанию находится в том же диапазоне сети, что и основной IP-адрес.

Виртуальная машина 2 (которая имеет только один сетевой адаптер, который находится на "внутреннем" коммутаторе и имеет IP-адрес класса C) не имеет проблем с подключением к Интернету или другим виртуальным машинам на внутреннем коммутаторе.

Виртуальная машина 1 имеет два интерфейса:

  1. один на внешнем коммутаторе, так что он должен быть доступен из Интернета и использует IP-адрес псевдонима хост-машины в качестве шлюза по умолчанию
  2. другой интерфейс внутреннего коммутатора для связи с другими виртуальными машинами.

У меня проблема в том, что Virtual Machine 1 не может подключиться к Интернету. Он может пропинговать другие виртуальные машины на внутреннем коммутаторе без каких-либо проблем, и он может пропинговать оба IP-адреса внешнего коммутатора, но он не может пропинговать IP-адрес шлюза. Пакеты должны идти от VM2 к псевдониму на хост-машине (что они и делают), но тогда я предполагаю, что хост-машина препятствует перенаправлению пакетов на шлюз.

Как я могу заставить Виртуальную Машину 1 выйти в Интернет?

1 ответ1

0

После долгих раздумий кажется, что проблема в том, что я использую Windows Server 2012, и, очевидно, Hyper-V не поддерживает NAT до версии 2016, согласно ответу на другой вопрос, опубликованный здесь:

https://serverfault.com/questions/821859/configuring-nat-on-a-hyper-v-server-2012-r2

Мне пришлось настроить Virtual Machine 1 в качестве шлюза для всех других виртуальных машин.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .