miércoles, 9 de septiembre de 2009

Acceder a servicio web del sistema invitado desde el anfitrión con VirtualBox


Caso: Acceder desde la máquina anfitriona a un servicio web de la máquina virtualizada.
Tenemos VirtualBox y una máquina virtual llamada Ubuntu810.
En esta máquina virtual arrancamos un servicio web en el puerto 3000 y queremos acceder desde la máquina anfitriona, para ello debemos hacer lo siguiente desde la línea de comandos de la máquina anfitriona y antes de arrancar la máquina virtual (mapear el puerto virtualizado con un puerto real del anfitrión) tecleamos lo siguiente:
  1. VBoxManage setextradata Ubuntu810 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/www/HostPort" 3001
  2. VBoxManage setextradata Ubuntu810 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/www/GuestPort" 3000
  3. VBoxManage setextradata Ubuntu810 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/www/Protocol" TCP
De esta forma ya podemos acceder desde la máquina anfitriona al servicio web de la máquina virtualizada por ejemplo mediante un navegador web accediendo a la url http://localhost:3001

Basado en: http://www.eldemonionegro.com/wordpress/archivos/2008/05/18/howto-access-a-virtualbox-guest-machine-throught-ssh-or-how-to-port-forwarding