Ejercicio 1: Contenedores LXC
En este ejercicio vas a instalar y gestionar contenedores LXC, configurar sus recursos, conectarlos a distintas redes y construir un escenario de router/NAT con almacenamiento compartido desde el host. Todas las operaciones se realizan desde la línea de comandos.
Ejercicio 1: Primeros pasos con LXC
- Instala LXC en tu sistema.
- Crea un contenedor con la última versión de Ubuntu. Lista los contenedores disponibles.
- Inicia el contenedor y comprueba la dirección IP que ha tomado. ¿Tiene conectividad al exterior?
- Sal del contenedor y ejecuta un
apt updatedentro de él sin estar conectado a la consola del contenedor. - Limita el uso de memoria del contenedor a 512 MB y restringe su uso a una sola CPU. Comprueba que los cambios se han aplicado.
Ejercicio 2: Red del contenedor
- Comprueba que se ha creado un bridge llamado
lxcbr0al que está conectado el contenedor. - Cambia la configuración del contenedor para desconectarlo de
lxcbr0y conectarlo a la redred-natque creaste en el ejercicio de redes de la unidad anterior. - Inicia el contenedor, comprueba la nueva dirección IP que ha tomado y verifica que sigue teniendo conectividad al exterior.
Ejercicio 3: Escenario router/NAT con LXC
- Crea un contenedor llamado router a partir de una plantilla de Debian. Configura su arranque automático.
- Crea un contenedor llamado servidorweb a partir de una plantilla de Ubuntu 24.04. Configura su arranque automático.
- Crea manualmente un bridge llamado
br-contenedoresen el host (sin usarvirsh). Este bridge formará una red aislada entre los contenedores. - Conecta el contenedor router al bridge
br0(red externa) y al bridgebr-contenedores. Configura las interfaces de red dentro del contenedor de forma adecuada. - Conecta el contenedor servidorweb únicamente al bridge
br-contenedores. Configura su interfaz de red dentro del contenedor. - Configura el contenedor router para que realice NAT y permita al contenedor servidorweb tener acceso a internet.
- Instala el servidor SSH en ambos contenedores. Crea un usuario sin privilegios y configura el acceso por clave pública/privada. Accede por SSH al contenedor servidorweb desde el host.
- Instala un servidor web en el contenedor servidorweb.
- Crea el directorio
/opt/weben el host con un ficheroindex.htmly móntalo en el directorio/var/www/htmldel contenedor servidorweb. - Configura el contenedor router para redirigir el tráfico web del exterior al contenedor servidorweb. Comprueba que se puede acceder a la página web desde fuera y que al modificar
index.htmlen el host el cambio se refleja inmediatamente.