twitter
    Sigueme en el Twitter :-)

29 enero 2008

Virtual Box en OpenSuse 10.3

Bien, leyendo en google, varios manuales de como instalar correctamente VirtualBox, me di con la sorpresa que, Open suse 10.3, lo tenía en sus repositorios, para instalarlo hacemos lo siguiente:
Nos dirigimos a yast: Yast -> Community Repositories, simplemente se marca la casilla que indica software para virtualizar, luego de ellos, buscamos en Instalar Software: virtual box, marcamos todas las casillas referentes a el (instalar un kernel para realizar la virtualización).

Muy bien, reiniciamos la pc, y ya tenemos Virtual Box, instalado, pero aquí empiezan los problemas, cuando nos dirigimos al menu y buscamos el Virtual Box, veremos que sale un mensaje de error, con el archivo vboxdrv, para solucionarlo hacemos lo siguiente:

  1. Nos dirigimos a /etc/init.d , y luego hacemos lo siguiente(como root) ./vboxdrv start
  2. Ahora nos dirigimos a /dev y ejecutamos: chown usuario:users vboxdrv.
Bueno ahora si, inicien nuevamente Virtual Box, y verán que carga sin problema alguno.

Pero, como hacemos para que tenga una IP, bueno, luego de sufrir y con el ardor de mis ojitos, jejeje, encontre un script para crear un bridge, aqui les dejo el script:
------------------------------------------------------
#!/bin/bash


#INICIALIZACION DE VARIABLES
#Deben cambiar los valores segun corresponda a su realidad
#seteamos el usuario
USUARIO="metalklesk"

#seteamos la cantidad de maquinas virtuales (guests) que deseamos tener en el host
CANTIDAD_VM=2

#seteamos la interface de red real
INTERFACE_RED_REAL="eth0"

#seteamos el ip del host
IP_HOST="192.168.0.144"

#seteamos la pasarela (gateway)
PASARELA="192.168.0.1"


#CONFIGURACION
#creamos el puente (bridge)
brctl addbr br0

#seteamos la interface de red real para que sea promiscua
ifconfig $INTERFACE_RED_REAL 0.0.0.0 promisc

#insertamos la interface de red real al puente br0
brctl addif br0 $INTERFACE_RED_REAL

#creamos una interface tap para cada guest (maquina virtual),
#los insertamos en el puente y los subimos
CONTADOR=0
while [ $CONTADOR -lt $CANTIDAD_VM ]
do
tunctl -t tap$CONTADOR -u $USER
brctl addif br0 tap$CONTADOR
ifconfig tap$CONTADOR up
let CONTADOR=$CONTADOR+1
done

#asignamos una ip al puente br0 mediante dhcp
#dhclient br0

#asignamos la ip del host al puente br0 de forma manual
ifconfig br0 $IP_HOST

#asignamos la pasarela al puente br0
route add default gw $PASARELA br0

#cambiamos los permisos de /dev/net/tun
chmod 0666 /dev/net/tun

#NOTAS.
#
# Un Bridge es contrario a un firewall, por lo tanto si el firewall esta arriba es posible que por default
# este bloqueando la interfaz br0 (u otra). La solucion mas simple es deshabilitar el firewall, pero no es
# recomendable ya que eso resta seguridad. Entonces lo que hay que hacer es configurar el firewall para que
# permita, a la interfaz br0, salir al exterior (y ser vista desde el exterior y dentro de la red). En el caso
# de openSUSE 10.3 es muy simple de hacer, simplemente hay que abir con un editor de texto (como root) el
# archivo de configuracion del firewall:

# /etc/sysconfig/SuSEfirewall2

# bajar al final y buscar la linea que dice:

# FW_FORWARD_ALWAYS_INOUT_DEV=""

# En esa linea hay que agregar las interfaces que queremos separadas por espacios, en este caso corresponde al
# bridge br0, la linea queda de la siguiente forma:

# FW_FORWARD_ALWAYS_INOUT_DEV="br0"

# Ya con eso simplemente hay que reiniciar el firewall (desde Yast o desde consola) y listo.
# Lo que resta es configurar la red de la maquina virtual. Desde VirtualBox se crea una maquina virtual, luego
# hay que ir a Settings -> Network -> Adapter0 y cambiar Attached to de "Not attached" a "Host Interface" y en
# Interface Name escribir tap0 o el la interfaz que corresponda (depende de cual le quieren asignar a la
# maquina virtual).
# Ya con eso pueden instalar tranquilamente el SO Guest en VirtualBox, luego configurar la red de este dandole un
# ip a mano o a traves de dhcp que este dentro del rango provisto por la subred. Con todo lo anterior (incluidos
# los comandos de este script) tienen configurado una red con las maquinas virtuales y cada una con su propia ip,
# lo cual es muy util para configurar servidores.

#FIN

---------------------------------------------------------
lo guardan con cualquier nombre pero con extension .sh
Una vez ejecutado el script simplemente creamos una máquina virtual y en Settings -> Network -> Attached to cambiamos de Not attached a Host Interface y en Interface Name colocamos tap0 (o el que queramos asignarle). ya con eso pueden levantar la máquina virtual y dentro configuran la red asignándole un ip estático o a través de dhcp (como en mi caso) dentro del rango de la subred, con lo cual ya tienen su máquina virtual en red con la real (y con la red entera).

Espero que les sirva, salu2

2 comentarios:

Anónimo dijo...

Yo tengo un problema lo he instalado pero al momento de ejecutarlo todo biem, el detalle biene cuando inicio una maquina virtual me dice que no se ha cargado el modulo kernel de virtualbox.

Segun esto si me voy al Yast y busco el software instalado, se encuentra ya instalado.
Este es el mensaje:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).


Código Resultado:
0x80004005
Componente:
Console
Interface:
IConsole {1dea5c4b-0753-4193-b909-22330f64ec45}

Anthony Mogrovejo dijo...

Hola que tal, gracias por escribir y leer mi post.
Al parecer, el mensaje te dice, que no tienes instalado el kernel de Virtual Box, para poder correr V.B.

Te podria recomendar que lo "reinstales" o lo elimines y lo vuelvas a instalar.

Luego de ello, te diriges a /etc/init.d y le das ./vbxdrv start

salu2