Instalación de Virtual Box en Debian y configuración de la red virtual

En mi experiencia, lo más problemático del uso de V.Box es la configuración de la red, así que pongo aquí estas instrucciones basadas en un artículo similar de la revista UXI nº16.

VirtualBox OSE es un programa de virtualización con licencia GPL, con el que puedes ejecutar un sistema operativo como si fuera una aplicación de otro (por ejemplo, Windows en Linux y viceversa). Tengo que corregir al artículo original, que dice que es el primer sistema de virtualización libre, porque antes de que apareciese, al menos ya existían Bochs y QEMU (del que VBox toma partes del código).

Es muy bueno en el uso de servidores, pues cuenta con un sistema de snapshots que nos permite regresar hacia el estado anterior en que se encontraba el sistema operativo cuando hicimos la snapshot. Además, posee funcionalidades para reconocimiento de cdrom, puertos usb, varios adaptadores de red, y algo muy importante: siendo mucho más ligero que el VMWare, su homólogo propietario que cuenta con versiones para GNU/Linux y Windows, nos permite incluso ejecutar cualquier sistema virtualizado que hayamos creado con este, por lo que nunca será un inconveniente su uso, sino todo un ahorro de memoria. Más información en http://www.virtualbox.org/wiki/News

Para la instalación de la máquina virtual libre VirtualBox en Debian es necesario seguir esta secuencia de pasos:

1.0- Instalar software necesario para poder instalar la máquina virtual

1.1- Instalar headers (cabeceras) del kernel

Para ello si usamos un kernel linux-image-2.6.X instalar los headers del mismo (linuximage-2.6.X)
En nuestro caso, usando Debian Etch con el kernel linux-image-2.6.18-6-686 o linuximage-2.6.18-5-686 instale las cabeceras linuxheaders-2.6.18-6-686 o linuximage-2.6.18-5-686 respectivamente. Ademas usando testing tambien he usado VirtualBox con el kernel linux-image-2.6.22-3-686 e instalando linux-headers-2.6.22-686. Ejemplo para instalar los headers:

apt-get install linux-headers-2.6.18-6-686

1.2- Instalando build-essential

Simplemente hay que ejecutar: apt-get install build-essential

1.3- Instalando software necesario para configurar la red

apt-get install bridge-utils

2.0- Instalando y configurando la máquina virtual

2.1- Instalando el software necesario:

Para ello es necesario ejecutar en la consola:

aptitude install virtualbox-ose virtualbox-osesource
module-assistant
m-a prepare
m-a a-i virtualbox-ose

Nota: es necesario aclarar que estos paquetes no están en los repositorios oficiales de Debian estable, por lo que si los necesitamos instalar en esta version de Debian, necesitaremos configurar los repositorios de backports a los cuales tengamos acceso (donde se colocan los paquetes de Debian Lenny o Sid compilados para estable – como en el caso de virtualbox o la maquina virtual 6 de java y muchos otros) . Otra opción sería buscarlos por Internet o compilarlos nosotros mismos para Debian estable (algo que no aconsejo para usuarios principiantes). Tampoco aconsejo configurar los repositorios testing o inestable para instalarlos, pues puede causar problemas en tu sistema.

2.2- Adicionando nuestro usuario al grupo vboxusers

Para que nuestro usuario pueda ejecutar la maquina virtual, es necesario adicionarlo al grupo vboxusers. En mi caso, el usuario de mi máquina es usuario. En el caso de quien use esta documentación debe sustituir dicho nombre por el del usuario con el que quiera ejecutar la maquina virtual. Para ello ejecutaremos esto:

adduser usuario vboxusers
usermod -aG vboxusers usuario

2.3- Haciendo que se cargue el módulo del kernel para el uso de VirtualBox

Para ello debemos editar el archivo /etc/modules, en el cual se colocan los módulos del kernel que queremos que se ejecuten. Para ello hay que ejecutar lo siguiente:

nano /etc/modules

Ahí escribimos:

vboxdrv

Al reiniciar nuestro sistema ya tendremos nuestra máquina virtual lista para comenzar a darle uso.

Notas:
1- Si no queremos reiniciar, podemos ejecutar modprobe vboxdrv, lo cual nos carga este módulo del kernel al instante, aunque si no editamos el fichero mencionado, la próxima vez que reiniciemos nuestro sistema no estará cargado el módulo.
2- Para comprobar que el modulo del kernel se esta cargando en nuestro sistema podemos ejecutar la orden:

lsmod | grep vboxdrv

Debe darnos una salida parecida a esta:

vboxdrv 47456 0

3.0- Configurando la red para que lograr nuestra máquina virtual tenga red

3.1- Editando archivos de configuración de la red

Para hacer que cuando creemos nuestra máquina virtual, ésta se pueda comunicar con las demás máquinas de nuestra LAN o Internet debemos editar el archivo de configuración de la red de nuestra maquina (la maquina en la cual estamos instalando VirtualBox). Para ello editar el archivo interfaces a través del siguiente comando:

nano /etc/network/interfaces

De este archivo les muestro un ejemplo de la configuración de mi ordenador:

auto lo
iface lo inet loopback
iface br0 inet static
address 10.33.2.151
netmask 255.255.255.0
network 10.33.2.0
broadcast 10.33.2.255
gateway 10.33.2.254
bridge_ports all
auto br0

Como puedes ver, la interfaz eth0 ha sido cambiada por br0 en iface br0 inet static y auto br0. Además, se ha introducido el parámetro bridge_ports all. Con este ejemplo de configuración mostrado, sólo necesitarás adaptarlo a la subred usada para cada caso específico cambiando su dirección IP, máscara de red, broadcast y gateway. Hasta aquí, si hemos configurado adecuadamente el fichero mencionado anteriormente, sólo nos queda reiniciar nuestros servicios de red.

3.2- Reiniciando servicios de red

Sólo necesitaremos teclear una orden en la consola, que es:

/etc/init.d/networking restart

3.3- Creando la interfaz de red para el usuario que la usará.

Para crear la interfaz de red y que sea usada por el usuario que ejecutará el Virtualbox sólo debemos teclear en la consola el siguiente comando:

VBoxAddIF vbox0 usuario br0

Una vez ejecutado, nos debe mostrar una salida similar a esta:

VirtualBox host networking interface creation utility, version 1.5.6_OSE
(C) 2005-2007 innotek GmbH
All rights reserved.
Creating the permanent host networking interface "vbox0" for user usuario.

Nota: En el comando especificado anteriormente, usuario es el usuario que ejecutará la maquina virtual, es decir, el usuario con el que trabajamos en nuestra maquina.

3.4- Configurando VirtualBox luego de ser ejecutado

En este paso, lo primero que haremos será ejecutar VirtualBox. Lo podemos hacer ejecutando la combinación de teclas alt+f2 y escribiendo virtualbox. Luego crearemos una nueva máquina virtual pulsando en Nueva (o New) y seguir una secuencia de pasos bastante intuitiva. Tras haber creado la máquina virtual, pulsaremos sobre configuración / red y en donde se le dice la interfaz a usar marcamos anfitrión (host interface si la tenemos en inglés) y en el cuadro de dialogo de abajo, donde dice nombre de la interfaz (interface name) ponemos:

vbox0

Hasta aquí, solo para estar seguro de que los cambios han tenido efecto (ejemplo: que no se cierre la sesión nuestro usuario se quede sin permisos para iniciar una máquina virtual) reiniciamos nuestro sistema y procedemos a instalar cuantos sistemas operativos necesitemos sin necesidad de tener que instalarlos en la propia máquina física.

Nota aclaratoria:

Paralelamente a la realización de esta documentación, se fue haciendo lo descrito en un ordenador con Debian etch instalado y usando el kernel linux-image-2.6.18-6-686 y todo funcionó a la perfección luego de reiniciar el sistema.

Fecha en que fue elaborado el documento: 6 de febrero del 2008

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: