Retour aux outils
Sécurité / Mots de passeIntermédiaireOpen sourceAuto-hébergeable

ddclient

Client DDNS léger et polyvalent pour mettre à jour les entrées DNS automatiquement.

MAJ 2026-06-14
ddclient
Site officiel Code source

ddclient est un client DDNS (Dynamic DNS) léger et polyvalent permettant de mettre à jour automatiquement les entrées DNS lorsque votre adresse IP publique change. Il supporte une large gamme de fournisseurs de DNS dynamique incluant Cloudflare, GoDaddy, OVH, DuckDNS, No-IP, DynDNS, et bien d'autres

Description

ddclient est un client DDNS (Dynamic DNS) léger et polyvalent permettant de mettre à jour automatiquement les entrées DNS lorsque votre adresse IP publique change. Il supporte une large gamme de fournisseurs de DNS dynamique incluant Cloudflare, GoDaddy, OVH, DuckDNS, No-IP, DynDNS, et bien d'autres.

Fonctionnalités principales

  • 🔄 Mise à jour automatique de l'adresse IP publique
  • 🌐 Support de nombreux fournisseurs (50+ services supportés)
  • 🔐 Authentification sécurisée via API tokens ou identifiants
  • 📊 Détection d'IP flexible (interface réseau, services web externes)
  • ⚙️ Configuration flexible via fichiers ou variables d'environnement
  • 🐳 Facilement déployable via Docker

Fournisseurs supportés (sélection)

  • Cloudflare
  • GoDaddy
  • OVH
  • DuckDNS
  • No-IP
  • DynDNS
  • Gandi
  • Hurricane Electric
  • Infomaniak
  • Namecheap

Installation

Docker Compose (fichier docker-compose.yml)

services:
  ddclient:
    image: linuxserver/ddclient:latest
    container_name: ddclient
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./config:/config
    networks:
      - ddclient-net

networks:
  ddclient-net:
    driver: bridge

Ou avec configuration directe

services:
  ddclient:
    image: linuxserver/ddclient:latest
    container_name: ddclient
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./config/ddclient.conf:/config/ddclient.conf:ro
    networks:
      - ddclient-net

networks:
  ddclient-net:
    driver: bridge

Commandes de déploiement

# Créer le répertoire de configuration
mkdir -p ddclient/config

# Créer le fichier de configuration
touch ddclient/config/ddclient.conf

# Démarrer le conteneur
cd ddclient
docker compose up -d

# Vérifier les logs
docker logs -f ddclient

Configuration

Fichier ddclient.conf - Exemple Cloudflare

# Configuration générale
daemon=300
syslog=yes
pid=/var/run/ddclient.pid
ssl=yes

# Détection de l'IP publique
use=web
web=https://api.ipify.org

# Configuration Cloudflare
protocol=cloudflare,
zone=example.com,
ttl=1,
login=token,
password=votre_api_token_cloudflare
subdomain.example.com

Exemple OVH

daemon=300
syslog=yes
ssl=yes
use=web
web=https://api.ipify.org

protocol=ovh,
login=votre_identifiant_ovh,
password=votre mot de passe_ovh
votre-domaine.ovh

Exemple DuckDNS

daemon=300
syslog=yes
ssl=yes
use=web
web=https://api.ipify.org

protocol=duckdns,
password=votre_token_duckdns
votre-sous-domaine.duckdns.org

Exemple GoDaddy

daemon=300
syslog=yes
ssl=yes
use=web
web=https://api.ipify.org

protocol=godaddy,
login=votre_cle_api,
password=votre_secret_api
example.com

Variables d'environnement

VariableDescriptionDéfaut
PUIDID utilisateur1000
PGIDID groupe1000
TZFuseau horaireUTC

Paramètres importants

ParamètreDescription
daemonIntervalle de vérification en secondes
use=webUtiliser un service web pour détecter l'IP
use=ifUtiliser une interface réseau spécifique
ssl=yesForcer l'utilisation de HTTPS
ttlTime-to-live des enregistrements DNS

Alternatives

AlternativeDescriptionDifférence principale
inadynClient DDNS léger en CPlus léger, moins de fournisseurs supportés
dnsomaticService DDNS agrégateurCentralise les mises à jour vers plusieurs services
cloudflare-ddnsSpécifique CloudflareOptimisé uniquement pour Cloudflare, plus simple
dynamic-dnsClient Python DDNSSolution Python alternative

Sécurité

Bonnes pratiques

  1. Utiliser des API tokens plutôt que des mots de passe quand possible
  2. Restreindre les permissions du token API au minimum nécessaire
  3. Ne jamais commiter le fichier ddclient.conf contenant les credentials
  4. Utiliser des variables d'environnement ou des secrets Docker pour les credentials
  5. Activer SSL (ssl=yes) pour toutes les communications
  6. Limiter l'accès au fichier de configuration (chmod 600)
  7. Surveiller les logs pour détecter les tentatives d'accès anormales

Exemple avec Docker Secrets

services:
  ddclient:
    image: linuxserver/ddclient:latest
    secrets:
      - ddclient_config
    volumes:
      - /run/secrets/ddclient_config:/config/ddclient.conf:ro

secrets:
  ddclient_config:
    file: ./secrets/ddclient.conf

Ressources

  • 📚 Documentation officielle : https://ddclient.net/
  • 🐙 Repository GitHub : https://github.com/ddclient/ddclient
  • 🐳 Image LinuxServer : https://docs.linuxserver.io/images/docker-ddclient/
  • 📖 Wiki GitHub : https://github.com/ddclient/ddclient/wiki
  • 💬 Support : https://github.com/ddclient/ddclient/issues

Métadonnées

AttributValeur
Nomddclient
Slugddclient
DescriptionUpdate dynamic DNS entries with various dynamic DNS service providers
Versionstable
Site webhttps://ddclient.net/
Repositoryhttps://github.com/ddclient/ddclient
Stars3,450 ⭐
LicenceGPL-3.0
CatégorieDNS
TagsDNS, DDNS, networking