Cómo instalar y configurar No-IP DDNS en Docker - Mantén tu IP dinámica actualizada automáticamente con No-IP DDNS

No-IP DDNS | Docker | Dynamic DNS

No-IP DDNS en Docker: Mantén tu IP dinámica sincronizada automáticamente

Cliente Dynamic Update (DUC) de No-IP en Docker. Actualiza automáticamente tu dominio DDNS cuando cambia tu IP. Usa maranhao.ddns.net. Contenedor ligero y confiable. Soporta DDNS Keys, IPv6, múltiples dominios.

¿Qué es No-IP DDNS en Docker?


No-IP es un servicio DDNS (Dynamic DNS) que mantiene sincronizado automáticamente tu nombre de dominio (como my-homelab.ddns.net) con tu dirección IP pública actual, incluso si esa IP cambia constantemente. El cliente DUC (Dynamic Update Client) de No-IP ejecutado en Docker automatiza este proceso sin necesidad de instalación directa en el sistema.

Por qué lo necesitas: Si tienes una conexión a internet con IP dinámica (la mayoría), tu ISP te asigna una IP que puede cambiar en cualquier momento. Si quieres exponer servicios (Nextcloud, Home Assistant, cámaras, NAS, etc) con un nombre de dominio fijo, necesitas DDNS. No-IP detecta cambios de IP y actualiza automáticamente el registro DNS, asegurando que maranhao.ddns.net siempre apunte a tu IP actual.

Ventaja Docker: El cliente DUC oficial de No-IP corre como contenedor. No requiere instalación en el host. Soporta arquitecturas múltiples (AMD64, ARMv7, ARM64). Multi-plataforma (Linux, macOS, Windows via Docker).

Para quien tiene IP dinámica: Usa No-IP DDNS para exponer servicios internos con dominio fijo. Cada cambio de IP se detecta y sincroniza automáticamente sin intervención manual.

Características principales

Actualización automática

Detecta cambios IP. Sincroniza con No-IP sin intervención manual.

DDNS Keys (seguro)

Credenciales específicas por hostname. Mejor que usuario/contraseña genérico.

IPv6 support

Soporta dirección IPv6 además de IPv4.

Múltiples dominios

Actualiza varios dominios DDNS de una cuenta No-IP con un contenedor.

Multi-arquitectura

AMD64, ARMv7, ARM64. Funciona en Raspberry Pi y cualquier servidor.

Bajo overhead

Contenedor ligero. Consume pocos recursos. Corre en segundo plano.

Confiable

Cliente oficial de No-IP. Basado en Linux DUC v3 enterprise-grade.

Intervalo configurable

Define cada cuánto verifica cambios de IP (default: 30 min).

Requisitos

  • Cuenta No-IP activa (gratuita en noip.com)
  • Docker instalado en tu servidor/NAS/Raspberry Pi
  • Dominio DDNS creado en No-IP (ej: maranhao.ddns.net)
  • DDNS Key creada (recomendado, más seguro que usuario/password)
  • 128 MB RAM mínimo (muy ligero)
  • Puerto ninguno expuesto (comunica internamente con No-IP)

Setup en No-IP (paso previo)

Paso 1: Crear dominio DDNS en No-IP

  1. Ir a https://www.noip.com → Login
  2. Dynamic DNS → "Create Hostname"
  3. Hostname: maranhao.ddns.net
  4. Record Type: A (IPv4) o AAAA (IPv6)
  5. Crear

Paso 2: Crear DDNS Key (recomendado)

  1. Account → "Manage DDNS Keys"
  2. Generate new DDNS Key
  3. Recibirás: Username (ej: yf5f8n5) y Password (ej: gHil56Bu)
  4. Guarda estos credenciales en lugar seguro
DDNS Keys vs usuario/password: DDNS Key es más seguro. Cada key solo actualiza sus dominios asignados. Si se compromete, no afecta toda la cuenta.

Instalación con Docker

Opción 1: Docker run simple (DDNS Key)

docker run -d \ --name noip-duc \ --restart=unless-stopped \ -e NOIP_USERNAME=yf5f8n5 \ -e NOIP_PASSWORD=gHil56Bu \ -e NOIP_HOSTNAMES=all.ddnskey.com \ ghcr.io/noipcom/noip-duc:latest # Reemplaza: # - yf5f8n5 → Tu DDNS Key Username # - gHil56Bu → Tu DDNS Key Password # - all.ddnskey.com → Usa esto con DDNS Keys (actualiza todos)

Opción 2: Docker run con usuario/password legacy

docker run -d \ --name noip-duc \ --restart=unless-stopped \ -e NOIP_USERNAME=mygroup:myuser \ -e NOIP_PASSWORD=MyGroupPassword \ -e NOIP_HOSTNAMES=maranhao.ddns.net \ ghcr.io/noipcom/noip-duc:latest # Menos seguro que DDNS Key, pero funciona

Opción 3: Docker Compose con .env file

cat > .env << 'EOF' NOIP_USERNAME=yf5f8n5 NOIP_PASSWORD=gHil56Bu NOIP_HOSTNAMES=all.ddnskey.com EOF cat > docker-compose.yml << 'EOF' version: '3.8' services: noip-duc: image: ghcr.io/noipcom/noip-duc:latest container_name: noip-duc restart: unless-stopped env_file: - .env EOF docker compose up -d

Opción 4: Con IPv6 habilitado

cat > .env << 'EOF' NOIP_USERNAME=yf5f8n5 NOIP_PASSWORD=gHil56Bu NOIP_HOSTNAMES=all.ddnskey.com NOIP_IP_METHOD=http://ip1.dynupdate6.no-ip.com/ EOF docker compose up -d

Verificar que funciona

docker logs -f noip-duc # Deberías ver mensajes como: # "Update successful" o similares

Primeros pasos

1. Verificar que el contenedor está corriendo

docker ps | grep noip-duc # Deberías ver el contenedor listado

2. Ver logs en tiempo real

docker logs -f noip-duc # Vigila por mensajes de actualización # Presiona Ctrl+C para salir

3. Probar que tu dominio funciona

ping maranhao.ddns.net nslookup maranhao.ddns.net # Debería resolver a tu IP pública actual

4. Verificar en panel No-IP

  1. Ve a https://www.noip.com → Dynamic DNS
  2. Tu dominio debería mostrar "Online" (checkmark verde)
  3. IP mostrada = tu IP pública actual

5. Test cambio de IP (simulado)

El cliente verificará cambios cada 30 minutos por defecto. Para forzar test:

docker restart noip-duc # Reinicia el contenedor, verificará IP inmediatamente

Casos de uso

  • Nextcloud personal: Expone tu Nextcloud con maranhao.ddns.net. IP cambia, DDNS sincroniza.
  • Home Assistant: Acceso remoto a Home Assistant. Dominio fijo aunque IP sea dinámica.
  • Cámaras IP: Streaming de cámaras accesible remotamente por dominio fijo.
  • NAS/storage remoto: Acceso a NAS desde cualquier lado con dominio.
  • Servidor web personal: Hosting de blog, wiki, etc en casa con dominio profesional.
  • VPN/acceso remoto: Conectar a tu red local remotamente usando nombre de dominio.

Usar con Reverse Proxy (Caddy + No-IP DDNS)

Scenario típico: Caddy + No-IP DDNS

Caddy escucha en puerto 80/443. No-IP DDNS mantiene maranhao.ddns.net apuntando a tu IP. Todo junto permite acceso HTTPS remoto a servicios internos.

Ejemplo docker-compose completo

cat > docker-compose.yml << 'EOF' version: '3.8' services: noip-duc: image: ghcr.io/noipcom/noip-duc:latest container_name: noip-duc restart: unless-stopped env_file: - .env caddy: image: caddy:latest container_name: caddy-reverse-proxy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy-data:/data EOF

Caddyfile apuntando a tu dominio No-IP

cat > Caddyfile << 'EOF' maranhao.ddns.net { reverse_proxy localhost:3000 # Tu app local } EOF

Acceso remoto seguro

  • Desde internet: https://maranhao.ddns.net
  • Caddy redirige a localhost:3000
  • No-IP mantiene DNS sincronizado con tu IP actual
  • HTTPS automático con certificados Let's Encrypt

Gestión y mantenimiento

Ver logs en tiempo real

docker logs -f noip-duc

Pausar el contenedor

docker pause noip-duc

Reanudar

docker unpause noip-duc

Reiniciar para forzar verificación IP

docker restart noip-duc

Ver variables de entorno actuales

docker inspect noip-duc | grep -A 10 Env

Cambiar credenciales (actualizar DDNS Key)

docker stop noip-duc nano .env # Edita credenciales docker compose up -d

Monitorear consumo de recursos

docker stats noip-duc # Verá: muy bajo CPU, muy bajo RAM

Alternativas DDNS

vs Duck DNS (gratuito)

No-IP gana: Más dominios gratuitos, interfaz mejor, historial. Duck DNS gana: Ultra-simple, sin login requerido cada 30 días.

vs DynDNS (legacy)

No-IP gana: Activo, mantenido, moderno. DynDNS gana: Histórico (descontinuado).

vs Cloudflare DDNS

No-IP gana: Setup más simple, no requiere Cloudflare. Cloudflare gana: Si ya usas Cloudflare, integración nativa.

Mejor para: Quien quiera DDNS confiable, fácil, con dominio DDNS gratuito. No-IP es estándar de la industria desde hace 20+ años.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.