Prérequis généraux

Avant de vous lancer, il est essentiel d'avoir mis en place un DynHost OVH sur votre NAS Synology en ayant suivi la solution numéro 2 évoquée dans un précédent billet de ce blog.

Ce billet est illustré via des captures d'écran réalisées sur le DSM 5 : si vous avez une version antérieur du DSM, il est fort probable que les instructions qui vont suivre ne soient pas totalement appliquables, et vous demandes un peu de réflexion pour trouver les menus équivalents.

Objectif

Vous l'aurez compris, notre objectif est de ne plus avoir à remettre en place notre DynHost OVH à chaque mise à jour du DSM : il s'agit d'être économe de nos moyens (et non pas feignants !).

Réalisation

La réalisation se fait en deux temps :

  1. récupérer le script effectuant le boulot
  2. mettre en place une tâche périodique pour ce script

Script

Le script que je vous propose est le suivant :

#!/bin/ash
 
# Script that scan and add OVH DynDNS module to Synology DDNS
 
log_file=/var/log/ovh_dyndns_restore_conf.log
 
ddns_file=/etc/ddns_provider.conf
ddns_default_file=/etc.defaults/ddns_provider.conf
 
dyndns_module="[OVH]
	modulepath=DynDNS
	queryurl=www.ovh.com/nic/update?system=dyndns&username=__USERNAME__&password=__PASSWORD__&hostname=__HOSTNAME__&myip=__MYIP__"
 
# Test if OVH DynDNS module is contained on DDNS conf file
if grep -q "www.ovh.com/nic/update" $ddns_default_file
then
	echo "`date` - Nothing to do." >> $log_file
else
	echo "`date` - Adding OVH DynDNS module ..." >> $log_file
 
	# Save ref ddns_provider.conf
	cp $ddns_default_file ${ddns_default_file}.ori
 
	# Update ref ddns_provider.conf
	echo "$dyndns_module" >> $ddns_default_file
 
	# Copy to active ddns_provider.conf
	cp $ddns_default_file $ddns_file
 
	echo "`date` - Done." >> $log_file
fi

Il effectue les opérations suivantes :

  • vérification de la présence dans les fichiers DDNS du NAS de la présence de l'entrée correspondant au module DynHost de OVH
  • si l'entrée n'est pas présente :
    • on sauvegarde le fichier par défaut des DDNS
    • on ajoute l'entrée pour le module DynHost de OVH dans les deux fichiers DDNS du NAS

En plus de cela, les actions sont loguées de manière très simple dans le fichier "/var/log/ovh_dyndns_restore_conf.log".

Vous pouvez directement téléchargé ce script depuis mon NAS. :)

Dépôt du script

Le script précédent est à déposer dans le répertoire de votre choix, et à rendre exécutable.

Pour ma part, je vous conseil de le déposer dans le dossier "/volume1/@script" (dossier à créer s'il n'existe pas).

Pour le rendre exécutable, il vous suffira de vous loguer en SSH en tant qu'administrateur (ou assimilé si vous avez installé "sudo"), et de saisir la commande suivante :

chmod 755 /volume1/@script/dyndns_restore.sh

Mise en place de la tâche périodique

Pour mettre en place la tâche périodique, nous allons utiliser le DSM.

Pour se faire, rendez-vous dans le "Panneau de configuration", puis dans "Planificateur de tâches". Ici, cliquez sur le bouton "Créer", puis "Script défini par l'utilisateur" afin de créer une nouvelle tâche périodique qui sera dédiée à notre script.

Saisissez alors les informations suivantes dans l'onglet "Général" :

  • Tâche : Update DDNS DynHost OVH
  • Utilisateur : root
  • Activé : cocher
  • Script défini par l'utilisateur  : /volume1/@script/dyndns_restore.sh

Dynhost cron 01

... sur l'onglet "Programmer", renseignez les informations suivantes (ou ajustez-les) :

  • Exécuter les jours suivants : Quotidiennement
  • Première heure d'exécution : 00:00
  • Fréqence : une fois par jour

script_dynhost_restore_02.png

... enfin, validez en cliquant sur "OK" : la tâche est désormais créée et active.

Conclusion

Ça y est, vous n'aurez plus à vous préoccuper de remettre en place la configuration pour le module DynHost de OVH lorsque vous mettrez à jour le DSM Synology !