Instalar Servidor Bajo Qemu en Red

De doc.ubuntu-es
Saltar a: navegación, buscar

Contenido

Preámbulo

Se pretende la instalación de un servidor de pruebas Ubuntu 8.04.1 Server bajo el emulador qemu, con capacidades de acceso a la red. El material que vamos a utilizar es:

  • Un portátil
  • Una Imágen iso de Ubuntu Server

Instalando los paquetes previos

Necesitamos los paquetes: qemu kqemu-common kqemu-source bridge-utils uml-utilities module-assistant build-essentials

Instalando qemu con kqemu

$apt-get install qemu kqemu-common kqemu-source

Configurando kqemu

$sudo apt-get install module-assistant
$sudo m-a prepare
sudo m-a a-i kqemu-source

Editar el fichero /etc/udev/rules.d/60-kqemu.rules añadiendo el contenido (si no existe ya):

KERNEL=="kqemu", NAME="%k", MODE="0660", GROUP="kqemu" 

Editar el Fichero /etc/modprobe.d/kqemu añadiendo el contenido:

options kqemu major=0 

Crear el grupo de kqemu:

$sudo addgroup –system kqemu $sudo adduser $USER kqemu

Donde $USER será nuestro usuario

Modificar el Fichero /etc/modules Añadiendo la línea:

kqemu

Debemos reiniciar la máquina y comprobar que el fichero "/dev/kqemu" se ha creado convenientemente, en caso contrario ejecutar:

$sudo modprobe kqemu

Instalando paquetes para crear la red

$sudo apt-get install uml-utilities bridge-utils


Configurando la red para qemu

El propósito es tener una red entre el equipo anfitrión y el equipo huésped. Puesto que qemu no se va a utilizar de forma permanente, no se modificará el archivo interfaces, si no que su configuración se hará a de forma temporal a través de un script.

Modificamos el archivo /etc/udev/rules.d/60-kqemu.rules que hemos creado antes y añadimos una norma para tun:

KERNEL=="tun", MODE="0666"

Creando un archivo de imágen para qemu

Creamos un archivo de, por ejemplo, 10 Gb.

qemu-img -f qcow ubuntuserver804 10G

Instalando Ubuntu Server en qemu

Instalamos normalmente el servidor:

qemu -cdrom ubuntu-8.04.1-server.iso ubuntuserver804

Terminada la instalación, haremoss un script para la carga de qemu:


#configurar Red

/sbin/ifconfig $1 0.0.0.0 promisc up
/usr/sbin/brctl addif br0 $1

#cargar módulos

modprobe tun
modprobe bridge
modprobe kqemu major=0

#configurar Red

ifconfig eth0 down
brctl addbr br0

ifconfig eth0 up

brctl addif br0 eth0
ifconfig br0 192.168.0.100 up
ifconfig eth0 down

ifconfig eth0 0.0.0.0 up
route add default gw 192.168.0.1

#carga de qemu

USERID=$(whoami)

iface=$(sudo tunctl -b -u $USERID)
qemu -hda ubuntuserver8041 -net nic -net tap,ifname=$iface 
tunctl -d $iface &>/dev/null

Daremos permisos de ejecución al script y lo ejecutaremos con privilegios de root. Una vez dentro del servidor, debermos configurar la red como en un servidor normal:

sudo nano /etc/network/interfaces

Añadiendo el contenido:

auto eth0
iface eth0 inet static
    address 192.168.0.101
    gateway 192.168.0.1
    netmask 255.255.255.0

Ahora podremos hacer ping del huésped al invitado y viceversa, pero no desde la red al invitado.

Referencias

Herramientas personales