El objetivo de este artículo es documentar los pasos para configurar la actualización dinámica de DNS con Cloudflare DDNS y obtener un certificado SSL para el servidor Proxmox. Al final del proceso, Proxmox estará asegurado con un certificado de Let's Encrypt, garantizando tanto la accesibilidad como la seguridad de los servicios.
Requisitos previos
- Cuenta activa en Cloudflare con el dominio configurado y usando Cloudflare como DNS.
- Docker instalado en Proxmox (ver artículo anterior de la serie).
Configurando Cloudflare DDNS
Creando el registro DNS
En el panel de Cloudflare, crea un nuevo registro DNS para tu dominio. De momento introduce una IP privada cualquiera, como 192.168.1.1. Más adelante cloudflare-ddns la actualizará automáticamente con tu IP pública real:

Creando el API Token
Siguiendo las indicaciones de la página de cloudflare-ddns, necesitamos crear un API Token para que la herramienta pueda actualizar el registro DNS automáticamente. Ve a tu perfil en Cloudflare, sección API Tokens, y crea un nuevo token con permisos para editar los registros DNS de tu dominio:

Haz clic en Ir al resumen y luego en Crear token:

Copia el token y guárdalo en un lugar seguro. Cloudflare no lo volverá a mostrar:

Ejecutando cloudflare-ddns en Docker
Con el token, el dominio y el subdominio a mano, construimos el comando. Sustituye los valores por los tuyos:
docker run --restart=always \
-d \
-e API_KEY=TU_API_TOKEN \
-e ZONE=tu.dominio \
-e SUBDOMAIN=tusubdominio \
oznu/cloudflare-ddnsNota: La imagen
oznu/cloudflare-ddnslleva tiempo sin mantenimiento activo. Funciona, pero si buscas una alternativa más actualizada puedes explorarfavonia/cloudflare-ddns, que es un fork mantenido por la comunidad.
Ejecuta el comando en la consola de Proxmox y espera la confirmación:

Verifica que el contenedor está corriendo con docker ps:

Con esto, tu registro DNS se actualizará automáticamente cada vez que cambie tu IP pública.
Configurando el certificado SSL
Obteniendo la Global API Key
Para crear el plugin ACME en Proxmox necesitamos la Global API Key de Cloudflare y el correo electrónico asociado a la cuenta. Encuéntrala en tu perfil de Cloudflare, en la sección de tokens de usuario, hacia la parte inferior de la página:


Creando el plugin ACME en Proxmox
En Proxmox, ve al nodo Datacenter → sección ACME → Challenge Plugins y crea un nuevo plugin con los datos obtenidos:


Solicitando el certificado
En la sección de certificados del nodo Proxmox VE, crea un nuevo dominio usando el plugin que acabas de configurar:


Finalmente, selecciona la cuenta y solicita el certificado:

Conclusiones
Al completar este proceso, Proxmox queda accesible desde el exterior con un dominio propio y asegurado con un certificado SSL de Let's Encrypt que se renueva automáticamente. La combinación de cloudflare-ddns para mantener la IP actualizada y el plugin ACME para gestionar el certificado hace que todo funcione de manera desatendida.
¿Te ha sido útil?
Ayúdame a mejorar con tu puntuación y comentarios.
Comentarios
Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!