суббота, 13 декабря 2008 г.

Доступ к гостевой машине в Virtualbox

Сетевое соединение гостевой машины в VirtualBox по умолчанию настраивается через NAT. Одним из плюсом является простая настройка. Но в то же время невозможно соединиться с открытыми портами на гостевой машине, что бывает необходимо в экспериментах с сетевыми сервисами.
Решение заключается в пробросе (туннелировании) порта в виртуальное окружение.

Делается это следующим образом

  1. Порт, который будем пробрасывать «внутрь»
    $ VBoxManage setextradata "GuestMachineName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
  2. С каким портом гостевой машины надо соединяться
    $ VBoxManage setextradata "GuestMachineName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
  3. По какому протоколу
    $ VBoxManage setextradata "GuestMachineName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
  4. Выключаем и снова включаем гостевую машину.
  5. Попытаемся соединиться
    $ ssh -p 2222 user@localhost
Можно проверить введённые параметры
$ VBoxManage getextradata "GuestMachineName" enumerate
или удалить уже заданный параметр, задав ему пустое значение
$ VBoxManage setextradata "GuestMachineName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort"

2 комментария:

dndred комментирует...

Спасибо, это полезно.

Merlond комментирует...

Инфа очень пригодилась, спасибо!