Fecha de publicación del tutorial: 2007-08-17

Tutorial visitado 6.462 veces Descargar en PDF

Hacer accesible una imagen de QEMU en la red en Debian



Introducción

Muchos de vosotros, en vuestro día a día de desarrollo de aplicaciones, o incluso para otras tareas, necesitaréis servidores, como pueden ser mysql, sql server, tomcat, jboss, o muchos otros... Si además desarrolláis en grupo puede ser muy conveniente preparar un entorno de desarrollo común al grupo de manera que todo el mundo trabaje sobre la misma instancia de servidor y de base de datos, etc..

Una idea muy buena es para esta tarea es crear una imagen del entorno de desarrollo ya preparado. Esto plantea varias ventajas, la primera es que se puede poner dicha imagen en cualquier servidor rápidamente y que todo el mundo se ponga a trabajar; además la imagen puede estar grabada en DVD, con lo que cada desarrollador podría utilizarla en sus propias máquinas para trabajar desde casa o en un cliente... y lo mejor es que una veza acabado el proyecto la imagen podría quitarse del servidor para dejar espacio y recursos, y si tiempo más tarde se necesita seguir desarrollando en ese proyecto, el volver a montar el entorno es poco costoso.

Esta es la manera en la que trabajamos en Autentia, y como nos gusta el software libre utilizamos QEMU para hacer funcionar la imágenes creadas (tenéis tutoriales de cómo instalar QEMU en linux y windows).

En este tutorial vamos a ver cómo podemos hacer accesible una imagen de qemu a toda la red, para poder utilizar los servicios de dicha imagen (para hacer lo mismo en windows tenéis una guia aquí).

Al lio

Suponemos que tenéis instalado qemu y configurado correctamente siguiendo los tutoriales de adictosaltrabajo, y hemos creado el tun/tap. Los pasos a seguir seran los siguientes: crear un bridge en nuestro Debian y finalmente cambiar el fichero que levanta la interfaz tun/tap de qemu para que utilice el bridge creado.

Para poder crear el bridge debemos asegurarnos que tenemos instalado el paquete bridge-utils (si no lo teneis instalado lo podeis hacer desde synaptic, o desde consola con apt-get install bridge-utils).

/etc/network/interfaces

En primer lugar vamos a editar el archivo /etc/network/interfaces para crear el bridge y desactivar eth0 (la interfaz de red de la intranet, en mi caso):

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The bridge network interface(s)
auto br0
iface br0 inet static
address 192.168.1.5
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet static
# address 192.168.1.5
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 192.168.1.1
# dns-search autentia

Resaltado en verde tenemos el código que debemos introducir para crear el bridge (al que he llamado br0). Si os dais cuenta las primeras lineas son como las de la interfaz eth0 (la seccion en azul comentada que se encuentra debajo de br0). Vereis que tengo definida la ip de manera estática. Si lo quisierais tener dinámicamente lo definís como lo tuvierais en eth0. Lo importante son las líneas con prefijo bridge, y sobre todo la siguiente linea:

bridge_ports eth0



que es la que indica de que interfaz de red hay que recoger los paquetes para pasárselos a las imágenes de qemu.

/etc/qemu-ifup

Ahora modificamos la conexión de qemu para que utilice la interfaz correcta y pueda utilizar el bridge y ser accesible para la red. Modificamos el fichero /etc/qemu-ifup para dejarlo de la siguiente manera:

#!/bin/sh
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
sudo /usr/sbin/brctl addif br0 $1
sleep 2

Modificando el sistema operativo del qemu

Lo último que tendríamos que realizar sería cambiar la ip del sistema operativo instalado en la imagen de qemu y ponerle una dirección ip que no esté utilizada en nuestra intranet, y claro está, que pertenezca a la misma subred (si queremos ponerle una ip estática), o configurarlo para que obtenga dicha ip por DHCP.

Resultado

El resultado de las operaciones anteriores es que hemos conseguido tener en nuestra red interna una máquina más, que sera aquella que tenemos en la imagen, y cuya ip será la que hemos configurado anteriormente (por eso debe ser una ip libre en nuestra intranet y en la misma subred). Podeis probarlo haciendo ping a la imagen de qemu desde otra máquina de la intranet.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2009-01-20-05:19:07

Autor:

[Jose Elias Figueroa ] Muy bueno, corto, claro y sencillo.Felicitaciones. Gracias.