DNS Dynamique avec Duck DNS

Généralement, un nom de domaine (comme fotozik.fr) pointe vers une adresse IP statique (fournie par un hébergeur comme OVH). Cependant, vous pouvez vous retrouver dans la situation où vous voulez faire pointer un nom de domaine vers une IP qui peut changer (dynamique). Il faut alors avoir recours à un DNS dynamique.

Aujourd’hui, nous allons voir comment créer un nom de domaine sur Duck DNS et comment faire pointer automatiquement ce nom de domaine vers une IP dynamique.

Rubber duck

Connectez-vous sur Duck DNS avec un des modes de login (Persona, Twitter, Github, Google)

Créez un nom de domaine (disponible) en choisissant le nom qui apparaître avant .duckdns.org

Nouveau nom de domaine

Par défaut, Duck DNS attribue à ce nom de domaine votre IP publique. Vous pouvez la modifier via l’interface pour la faire pointer sur votre box/machine, mais nous allons voir comment le faire de manière automatique.

Le nom de domaine super-domain.duckdns.org pointe vers l’IP 166.142.214.106

Maintenant, il faut configurer un service sur la machine vers laquelle vous voulez faire pointer le nom de domaine pour dire « Eh, mon IP est XXX.XXX.XXX.XXX, met à jour le nom de domaine super-domain.duckdns.org« 

Un schéma pour mieux comprendre

Pour cela, rendez-vous dans la section install de Duck DNS et indiquez votre système d’exploitation (ou routeur). Suivez ensuite les instructions de mise en place.

Prenons l’exemple Linux cron avec notre domaine super-domain.duckdns.org

Nous créons un fichier duck.sh contenant la commande suivante :

echo url="https://www.duckdns.org/update?domains=super-domain&token=b277f02b-4c6b-45d5-a9e5-39b7ae0e387f&ip=" | curl -k -o ~/duckdns/duck.log -K -

Cette ligne va faire un appel HTTP à l’API de Duck DNS pour mettre à jour le domaine super-domain (en utilisant un token secret). Attention, il faut adapter la commande avec vos informations.

Il faut ensuite lancer ce script toutes les 5 minutes pour s’assurer qu’un changement d’adresse IP sera bien pris en compte dans le service Duck DNS. Nous utilisons le service cron de Linux :

crontab -e
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Petit détail qui peut être embêtant pour certains, le service ne supporte pas la mise à jour automatique pour les adresses IPv6 (à cause d’une limitation des ELB d’Amazon).


Voilà une manière simple de configurer un DNS dynamique avec un service gratuit (jusqu’à 5 domaines).

N’hésitez pas à expliquer en commentaire pourquoi vous utilisez un DynDNS (domotique, partage de fichiers, …).

Il existe d’autres services de Dns dynamique comme :

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *