Mise en place d’un script Cloudflare DDNS

Introduction

Votre adresse IP publique change régulièrement. Pour cette raison nous avons besoin de créer un script dans Ubuntu Server qui enverra un paquet à un enregistrement A sur votre domaine. Cet enregistrement A verra alors de quelle adresse ip publique vient ce paquet et il mettra à jour sa destination.

Obligatoire

  • Ce script se lance dans Ubuntu Server vous devez donc avoir un serveur Ubuntu fonctionnel.

  • Vous aurez besoin d'un domaine chez Cloudflare

Mettre à jour le système

Avant d'installer les dépendances nécessaires, il est conseillé de mettre à jour votre système. Pour cela, utilisez les deux commandes suivantes.

sudo apt update && sudo apt install git

Cette commande mettra à jour votre système et installera Git si ce n'est pas déjà fait.

Téléchargement du script

Nous allons aller chercher le script manuellement en entrant la commande et l'adresse.

La commande sera

git clone https://github.com/K0p1-Git/cloudflare-ddns-updater.git

apreçu

Vérification du téléchargement

Pour vérifier si le dossier a bien été téléchargé, utilisez la commande ls pour lister le contenu de votre répertoire actuel.

ls

apreçu

Accéder au dossier du script

Pour entrer dans le dossier du script, utilisez la commande cd

cd cloudflare-ddns-updater

Puis, pour lister le contenu du dossier

ls

apreçu

Copier le script template

Nous allons maintenant copier le fichier cloudflare-template.sh pour en créer une version personnalisée. Utilisez la commande suivante pour faire la copie

cp cloudflare-template.sh cloudflare.sh

apreçu

Cela crée un fichier cloudflare.sh que nous allons personnaliser.

Modifier le fichier cloudflare.sh

Pour éditer le fichier, nous allons utiliser l’éditeur de texte nano

nano cloudflare.sh

apreçu

Personnalisation du fichier

À l’intérieur de ce fichier, vous devez fournir plusieurs informations pour configurer votre script :

  • auth_email : Entrez l'adresse e-mail associée à votre compte Cloudflare.

  • auth_method : La méthode d'authentification (elle sera Globale).

  • auth_key : Entrez votre clé API globale Cloudflare. Vous pouvez la récupérer sur votre compte Cloudflare dans la section "API Tokens". Pour l'obtenir vous allez dans votre profile

aprecû

Vous allez dans API Tokens

aprecû

Vous verrez une section comme celle-ci et vous cliquez sur view pour voir la clef

aprecû

Vous entrez votre mot de passe

aprecû

et votre clef API globale saffichera

aprecû

  • zone_identifier : Entrez l'ID de votre zone (votre domaine). Vous pouvez le trouver dans les paramètres DNS de Cloudflare.

Vous allez dans Overview

aprecû

En bas à droite vous verrez votre Zone ID

aprecû

Une fois rempli votre script ressemble à ceci

aprecû

Créer un enregistrement A dans Cloudflare

Avant de tester le script, vous devez créer un enregistrement A pour que le script puisse pointer vers votre domaine.

Connectez-vous à votre compte Cloudflare.

Allez dans la section DNS de votre domaine.

aprecû

Créez un enregistrement A et nommez-le script, en lui attribuant l'adresse IP 8.8.8.8.

aprecû

aprecû

Rendre le script exécutable

Nous allons maintenant rendre le script exécutable en modifiant ses permissions avec la commande suivante

chmod +x cloudflare.sh

Tester le script

Pour tester si le script fonctionne correctement, lancez-le avec la commande suivante

./cloudflare.sh

Vérification dans Cloudflare

Retournez sur votre compte Cloudflare et rafraîchissez la section DNS pour voir si l’enregistrement A a été mis à jour avec votre adresse IP publique (au lieu de 8.8.8.8).

Automatiser l’exécution du script

Utiliser crontab pour planifier l'exécution

Nous allons maintenant automatiser l’exécution du script toutes les minutes à l’aide de cron. Utilisez la commande suivante pour éditer votre crontab

crontab -e

Choisissez l'éditeur de texte que vous préférez

aprecû

Ajoutez la ligne suivante à la fin du fichier pour exécuter le script toutes les minutes. (Changez votrenom pour votre vrai nom d'utilisateur).

*/1 * * * * /bin/bash /home/votrenom/cloudflare-ddns-updater/cloudflare.sh

aprecû

Sauvegarder et quitter Appuyez sur CTRL + X, puis Y pour sauvegarder et enfin ENTER pour valider.

Redémarrer le service cron

Pour que la tâche cron prenne en compte vos modifications, vous devez redémarrer le service cron

systemctl restart cron

Félicitations !

Votre script Cloudflare DDNS est désormais configuré et automatisé. Vous n’avez plus qu'à laisser votre machine gérer la mise à jour de votre DNS de manière régulière.