Bienvenidos a la página personal de José Domingo Muñoz Rodríguez, aquí podrás encontrar…
Accede a las entradas de mi blog donde escribo de Informática y Educación.
Accede a los materiales de los cursos que he impartido.
Accede a los contenido de los módulos de FP que estoy impartiendo en la actualidad.
Microblog
Correos de notificación de Lets Encrypt
Lets Encrypt dejará de enviar correos de notificación para avisar de la fecha de renovación de nuestros certificados el próximo 4 de junio de 2025. Puedes leer los motivos en su blog.
Nos recomiendan el uso de un servicio de supervisión llamado Red Sift Certificates Lite que monitoriza nuestros certificados y nos envía correos electrónicos de notificación avisando de la necesidad de renovación.
Listar imágenes Docker que no tienen contenedor asociado
Dejo por aquí un pequeño script bash que nos lista las imágenes Docker que no tienen ningún contenedor creado:
#!/bin/bash
echo "Imágenes sin contenedores:"
docker images --format '{{.ID}} {{.Repository}}:{{.Tag}}' | while read img repo; do
if ! docker ps --all --quiet --no-trunc | xargs docker inspect --format '{{.Image}}' | grep -q $img; then
echo "- $repo"
fi
done
Blog
Despliegue automatizado de máquinas virtuales en KVM/libvirt usando cloud-init
El método más utilizado para crear máquinas virtuales en KVM/libvirt suele ser la instalación manual del sistema a partir de un fichero con la imagen ISO de la instalación. Pero sería deseable encontrar algún método que nos permita la creación automática y desatendida de una máquina virtual sin necesidad de realizar una instalación manual.
Existen varios alternativas para conseguirlo, en este artículo vamos a estudiar un método que se basa en el uso de imágenes cloud y en una aplicación llamada cloud-init.
Las imágenes cloud son discos base preconfigurados, optimizados para ser utilizados en entornos virtualizados o en la nube. Estas imágenes suelen estar diseñadas para un arranque rápido y para su personalización dinámica mediante herramientas de automatización. A diferencia de las imágenes tradicionales, no están configuradas con parámetros específicos de red, usuarios o almacenamiento, sino que dependen de herramientas como cloud-init
para adaptar la configuración en el primer arranque.
cloud-init
es un conjunto de scripts y herramientas que permiten la personalización automática de instancias o máquinas virtuales en su primer arranque. Originalmente desarrollado para entornos en la nube como OpenStack, AWS y Azure, cloud-init
se ha convertido en una solución estándar para la inicialización de sistemas operativos en cualquier entorno virtualizado.
Su función principal es leer datos de configuración desde diversas fuentes y aplicarlos al sistema operativo en el arranque inicial. Esto permite realizar tareas como:
- Configuración de red.
- Creación de usuarios y claves SSH.
- Instalación de paquetes.
- Ejecución de comandos personalizados.
- Configuración de particiones y almacenamiento.
- …
Docker Routing: Práctica routing y nating con docker
Los docentes encargados del módulo de redes en ciclos formativos o en otras disciplinas relacionadas requieren implementar una infraestructura, generalmente virtual, para que los estudiantes realicen prácticas de enrutamiento y configuración de NAT entre distintos equipos interconectados en diversas redes.
He desarrollado un proyecto que facilita, de manera sencilla, la creación de dicha infraestructura utilizando contenedores Docker. Este sistema permite construir, de forma eficiente, una red de múltiples máquinas Linux conectadas a diferentes redes, brindando a los estudiantes un entorno práctico donde pueden llevar a cabo sus prácticas.
Docker Routing
Puedes encontrar la documentos y los ficheros necesario en el repositorio de github: Docker Routing. En este repositorio encontraremos un fichero docker-compose.yaml
donde tenemos un escenario de ejemplo de contenedores Docker. El esquema de red que se va a crear es el siguiente:
Tenemos que tener en cuenta lo siguiente:
- Podemos modificar este fichero
docker-compose.yaml
para crear escenarios diferentes. - En el ejemplo que vamos a estudiar, los únicos contenedores que tienen acceso al exterior son los que están conectados a la
red_externa
, en nuestro casopc1
yrouter1
.
Configuración de red en sistemas Linux - Netplan
Ya hemos visto que Linux nos ofrece diferentes métodos para configurar los parámetros de red. Actualmente según la distribución que utilicemos y la configuración del sistema que estemos utilizando, tendremos a nuestra disposición algunos de estos métodos: ifupdown, NetworkManager o systemd-networkd.
En este último artículo vamos a estudiar Netplan que es una herramienta de configuración de red introducida en Ubuntu, que permite gestionar la red de forma declarativa utilizando archivos YAML. Esta herramienta se encarga de traducir la configuración declarada en sus archivos en configuraciones aplicables por NetworkManager
o systemd-networkd
, dependiendo del backend elegido.
Relación entre Netplan, NetworkManager y systemd-networkd
Netplan actúa como una capa intermedia que simplifica la configuración de la red. Sin embargo, no es un servicio de red en sí mismo, sino que delega la configuración en un backend: systemd-networkd o * NetworkManager.
La elección del backend se especifica en los archivos de configuración de Netplan. Para cambiar entre systemd-networkd
y NetworkManager
, se debe modificar el parámetro renderer
en el archivo de configuración. Por ejemplo:
Para usar systemd-networkd
:
network:
version: 2
renderer: systemd-networkd
Para usar NetworkManager
:
network:
version: 2
renderer: NetworkManager
Si renderer
no está definido en ningún archivo de configuración, el sistema usará el backend por defecto de la distribución.
Más posts en el Blog...
- Configuración de red en sistemas Linux - systemd-networkd (05-03-2025)
- Configuración de red en sistemas Linux - NetworkManager (30-01-2025)
- Configuración de red en sistemas Linux - ifupdown (15-01-2025)
- Curso "Introducción a Podman" (07-12-2024)
- Curso "Introducción a Docker" (18-10-2024)
- Integración de Podman con systemd usando Quadlet (13-06-2024)
Más post en el Microblog...
- Hoja de trucos sobre Git (15-01-2025)
- Aprende y prueba SPF, DKIM y DMARC (02-12-2024)
- Configuración mínima de cloud-init (10-11-2024)
- Recuperar entornos virtuales de Python (05-11-2024)
- Public APIs: Una lista de APIs públicas (04-09-2024)
- Fundamentos de Sistemas Operativos (28-05-2024)
Licencia
Licencia: Puedes copiar y modificar todos los contenidos, pero siempre respetando los términos de la licencia CC-BY-SA.