Cómo Configurar DDClient con Docker y Cloudflare para DNS Dinámico

Tabla de contenidos

Con la reciente compra de Google Domains por SquareDomain, es posible que estés buscando una alternativa confiable para manejar DNS dinámico. En este artículo, te mostraré cómo configurar DDClient usando Docker y Cloudflare para actualizar automáticamente tu DNS dinámico.

Crear el Subdominio en Cloudflare

Primero, debes crear el subdominio en tu cuenta de Cloudflare. Accede a tu panel de Cloudflare y añade el subdominio que deseas utilizar. Por ejemplo: subdominio.tu_dominio.com.

Crear un token en Cloudflare

Para que ddclient funcione correctamente con Cloudflare, debes configurar el archivo de configuración con los siguientes parámetros:

 

Utiliza la Plantillas de token de API > Editar zona de DNS

A la hora de crear el token, puedes editar el Nombre del token.

En Recursos de zona selecciona el dominio sobre el que quieres crear el token.

Pulsa Ir al resumen y a Crear token

En la pantalla final aparecerá el token, el cual deberemos copiar, ya que más adelante lo necesitaremos.

Crear archivo de configuración de ddclient

Para que ddclient funcione correctamente con Cloudflare, debes configurar el archivo de configuración con los siguientes parámetros:

El archivo de configuración en mi caso está en la siguiente ruta: /root/docker/ddclient/config/ddclient.conf

				
					use=cmd, cmd='curl https://checkipv4.dedyn.io/'
protocol=cloudflare,
zone=tu_dominio.com,
ttl=1,
login="token",
password=xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxx
subdominio.tu_dominio.com

				
			
  • use=cmd: Utiliza un comando para verificar la IP pública.
  • protocol=cloudflare: Define Cloudflare como el proveedor de DNS.
  • zone: Indica el dominio principal.
  • ttl=1: Establece el TTL (Time to Live) a 1 minuto.
  • login y password: Aquí debes ingresar tu token de API de Cloudflare.

Crear el Archivo docker-compose.yml

Ahora, crea el archivo docker-compose.yml para desplegar ddclient en un contenedor Docker. El archivo debe tener la siguiente estructura:

				
					services:
  ddclient:
    image: lscr.io/linuxserver/ddclient:latest
    container_name: ddclient
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
    volumes:
      - /root/docker/ddclient/config:/config
    restart: always

				
			
  • image: Especifica la imagen de DDClient más reciente.
  • container_name: Asigna un nombre al contenedor.
  • environment: Configura el UID, GID, y la zona horaria.
  • volumes: Monta el volumen para la configuración.
  • restart: Asegura que el contenedor se reinicie automáticamente en caso de fallo.

Desplegar el Contenedor

Con el archivo docker-compose.yml configurado, despliega el contenedor ejecutando:

				
					docker-compose up -d
				
			

Esto iniciará el contenedor de ddclient en segundo plano, manteniendo tu DNS actualizado con Cloudflare.

Recomendaciones Adicionales

  • Seguridad: Asegúrate de mantener tu API token seguro. Nunca lo compartas públicamente ni lo almacenes en ubicaciones inseguras.
  • Revisión periódica: Verifica periódicamente el correcto funcionamiento de DDClient, especialmente si cambias tu dirección IP con frecuencia.

Nota:
Todos los comandos y configuraciones indicadas en este artículo deben ser ejecutados bajo tu propia responsabilidad. Asegúrate de entender completamente los cambios que estás realizando en tu sistema. No nos responsabilizamos por cualquier daño o pérdida de acceso resultante de la implementación de estos procedimientos.