Práctica: Virtualización en Linux y servidor DHCP (Parte 1)
Descripción
Vamos a crear una infraestructura con varias máquinas virtuales y contenedores donde vamos a instalar un servidor DHCP para configurar de forma dinámica la configuración de red.
1. Creación de la plantilla para las máquinas clientes
Vamos a crear una plantilla que utilizaremos para la creación de las máquinas que utilizaremos como clientes. Para ello:
- Crea con
virt-install
una máquina virtual de Debian 12 con formato qcow2 y un tamaño de 3GiB.- La máquina debe tener un usuario
debian
con contraseñadebian
que puede utilizarsudo
sin contraseña. - Instala el servidor ssh en la máquina.
- En el usuario
debian
copia tu clave pública y la mia para que podamos acceder sin introducir la contraseña por ssh.
- La máquina debe tener un usuario
- Convierte la máquina virtual en una plantilla llamada plantilla-cliente. El hostname de la máquina debe ser plantilla-cliente-tunombre. ¿Cuánto ocupa el volumen de la plantilla en disco?
- Utiliza la herramienta
virt-sparsify
para reducir el tamaño ocupado en disco del volumen. ¿Cuánto ocupa ahora el volumen de la plantilla en disco?
Entrega
- Explica los pasos que has ejecutado para crear la plantilla plantilla-cliente.
- Captura de pantalla donde se demuestre que la plantilla no se puede ejecutar.
- ¿Qué ocupa el volumen de la plantilla en disco antes de ejecutar
virt-sparsify
? Una vez ejecutado, ¿cuánto ocupa el volumen en disco?
2. Creación del escenario
Todas las operaciones las tiene que hacer desde la línea de comandos:
- Crea una red muy aislada, que se llame red_intra que creará el puente
br-intra
. Esta red se tiene que iniciar cada vez que encendemos el host. - Crea con
virt-install
la máquina router con Debian 12:- Está conectada a la red pública (al bridge
br0
) y la red_intra. - Esta máquina utiliza un disco en formato raw de 10 Gb.
- El hostname de esta máquina debe ser
router-tunombre
. - Se debe poder acceder a ella por ssh con el usuario root sin que te pida contraseña (configura tu clave pública y la mia).
- Debes configurar la segunda interfaz de red con direccionamiento estático para que tenga la dirección
192.168.200.1
. - Está máquina se debe iniciar cada vez que arrancamos el host.
- Está conectada a la red pública (al bridge
- Crea dos contenedores LXC conectados a la red red_intra.
- servidorDHCP: Es un contador creado a partir de la plantilla Debian Bookworm. Configura su red de forma estática. Su dirección IP debe ser la
192.168.200.2
. - servidorWeb: Es un contador creado a partir de la plantilla Ubuntu 22.04 Jammy. Configura su red de forma estática. Su dirección IP debe ser la
192.168.200.3
. - Los contenedores se deben iniciar de forma automática y se les debe limitar la memoria a 512Mb.
- servidorDHCP: Es un contador creado a partir de la plantilla Debian Bookworm. Configura su red de forma estática. Su dirección IP debe ser la
- Configura la máquina router para que haga SNAT y permita que los contenedores tengan acceso al exterior (La configuración debe ser persistente.). Instala en los contenedores el servidor ssh y configúralo para que podamos entrar con clave privada (configura tu clave pública y la mia) por ssh con el usuario
root
.
Entrega
- Fichero xml con la definición de la red red_intra, la instrucción de creación y la que permite el inicio automático.
- Comprobación que el volumen de la máquina router tiene el formato raw.
- El comando
virsh
que muestra información de la máquina router para comprobar que se inicia de forma automática. - Salida del comando
ip a
en router. - Acceso por ssh sin que te pida la contraseña.
- Lista los contenedores creados para que se visualice su dirección IP y se vea que se inician de forma automática.
- Prueba de funcionamiento de que se ha limitado la memoria de los contenedores de forma adecuada.
- Salida de la instrucción
iptables
que muestra la regla de SNAT que has configurado. - Comprobación que los contenedores tienen acceso al exterior.
- Desde el host, utiliza
ssh -A
, para acceder al router y posteriormente a los contenedores. - Busca información sobre la configuración de ssh para definir distintos accesos. Configura el fichero
~/.ssh/config
en tu equipo para que puedas acceder desde el host directamente a los contenedores.
3. Creación de las máquinas clientes
- Crea una nueva máquina virtual llamada cliente1 a partir de la plantilla plantilla-cliente que tenga un volumen de 5G. Tienes que tener en cuenta los siguientes aspectos:
- Antes de crear la máquina virtual redimensiona su sistema de fichero para que ocupe el espacio completo del disco.
- La máquina se conecta a la red red_intra.
- La máquina tiene una configuración estática de red.
- La máquina debe tener el hostname cliente1-tunombre.
- Accede a cliente1, realiza una configuración estática de la red y comprueba si tiene acceso al exterior.
Entrega
- Demostración de que el volumen de la máquina cliente1 utiliza como imagen base el volumen de la plantilla plantilla-cliente.
- Demostración que tanto el volumen de cliente1, cómo su sistema de ficheros tiene el tamaño indicado en el enunciado.
- Muestra la dirección IP de cliente1 y la puerta de enlace.
- Demostración que tiene acceso al exterior.