У меня есть две виртуализированные машины, работающие под управлением Ubuntu на хост-машине Windows 7 — мы используем VirtualBox для этого. Хост-машина также выступает в качестве шлюза для нашего VPN-решения — Hamachi.
Две виртуальные машины используют Bridged Networking со статическими IP-адресами, назначенными каждой. Когда я в сети, я могу видеть их обе и получать к ним доступ (серверы LAMP, на одном из которых находятся наши репозитории Git, а другой — служебный ящик).
Итак, я могу получить доступ к виртуальным машинам изнутри, и я могу войти в сеть снаружи через Hamachi. Чего я не могу сделать, так это получить доступ к виртуальным машинам через Hamachi. По сути, все существует через Hamachi, за исключением моих двух виртуальных машин.
Цель состоит в том, чтобы иметь возможность работать извне и отправлять изменения в наши репозитории Git через Hamachi и в виртуальную машину через SSH. Это прекрасно работает внутри, но не через Hamachi.
Это вообще возможно? Предложения, комментарии или твердое «Нет, черт возьми, это невозможно» приветствуются.
решение1
Я только что узнал, что происходит в Linux, и это, вероятно, применимо и к Windows.
Hamachi создает сетевой интерфейс моста для работы шлюза, и он становится «нормальным» сетевым интерфейсом для машины (в Linux это происходит ham-br0
по умолчанию).
Однако VirtualBox сохраняет конфигурацию машины, подключенную к исходному физическому сетевому интерфейсу ( eth0
в Linux). Я выполнил следующее, пока виртуальная машина была выключена, чтобы настроить VirtualBox на мост с адаптером Hamachi:
VBoxManage modifyvm <vm_name> --bridgeadapter1 ham-br0
Это устанавливает адаптер VirtualBox, связанный с ham-br0
. Виртуальная машина по-прежнему видна из сети, отличной от Hamachi. Как я уже сказал, это было на Linux, но сетевая модель VirtualBox остается более или менее той же кроссплатформенной.