Это продолжение моего предыдущего вопроса. Основываясь на отзывах Даниэля Б и Делтика, я перешел с VirtualBox на QEMU, который может обрабатывать 64-разрядных гостей на виртуальной машине в качестве хоста (в моем случае Hyper-V) - сценарий, называемый вложенной виртуализацией.
После установки QEMU и прочтения некоторой документации я успешно преобразовал данный образ OVA в (родной для QEMU) формат QCOW2. Я заметил, что результирующее изображение намного больше исходного (6.4G против 1.3G), но, возможно, это нормально. Затем я узнал, как запустить виртуальную машину, используя QEMU, и попытался сделать именно это:
qemu -nographic -hda <IMAGE_NAME>.qcow2 &
Затем я понял (и позже подтвердил дальнейшее чтение документации QEMU), что схема сети по умолчанию подразумевает отсутствие моста между хостом и гостевыми ОС. Моя попытка включить мост, как показано ниже, не удалась (на основе этого сообщения в блоге):
qemu -nographic -net bridge:br0 -hda <IMAGE_NAME>.qcow2 &
Я не решаюсь использовать метод, основанный на использовании bridge-utils
, описанный здесь , так как он может испортить сеть для хост-ОС. Кроме того, основываясь на этом документе , я попытался перенаправить порты (см. Ниже), но у меня это тоже не сработало. Если интерфейс TAP является решением, то как мне применить его к моей ситуации.
Моя ситуация заключается в том, что гостевая виртуальная машина запускает веб-приложение, к которому можно получить доступ в локальном режиме, перейдя по URL-адресу http://192.168.xx.yy/<APPLICATION_NAME>
. По сути, мне нужно представить приложение (работающее в режиме вложенной виртуализации) всему миру. Итак, мой вопрос имеет два аспекта:
1) Каков оптимальный (и, надеюсь, самый простой) способ включить сетевое мостовое соединение в моей ситуации;
2) мне и, если да, как именно я могу перенаправить порты, чтобы позволить пользователям получать доступ к приложению по адресу https://<FQDN of the host VM>/<APPLICATION_NAME>
, предпочтительно через нестандартные порты?