NAS Synology : rendre un DynHost OVH persistant
Par Seb le samedi 29 mars 2014, 13:31 - Synology - Lien permanent
Un précédent article illustre comment intégrer un DynHost de chez OVH sur les NAS Synology; l'objectif étant de profiter d'un vrai nom de domaine personnalisé pour accéder à son NAS depuis l'extérieur.
Deux solutions y sont abordées, et la seconde, consistant à une intégration directement dans le DSM, a pour défaut de ne pas être persistante : en effet, chaque mise à jour du DSM écrasera vos modifications.
Je vous propose de contourner ce problème en mettant en place un script se lançant périodiquement.
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 :
- récupérer le script effectuant le boulot
- 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
... 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
... 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 !
Commentaires
Merci Seb pour ces petits tips&tricks sur Syno !

Mis en place et fonctionne a merveille !
Seb
@Seb :de-rien cher homonyme.
Merci pour ce script fort utile surtout depuis que les maj se multiplient.
Toutefois, chez moi, depuis la version 5 de DSM, la manip ne fait plus apparaitre OVH dans la liste déroulante des fournisseurs de service même si elle permet au DDNS paramétré antérieurement de refonctionner.
Une question : quelle est la syntaxe dans Putty pour transférer directement le fichier du script d'un PC au NAS dans volume1/@script.
Je débute en SSH, aussi ai-je du le copier du PC au NAS (dans un répertoire partagé) sous Windows puis le recopier dans /@script par SSH.
@Joselito : content que ce script serve.
Pour la première question concernant la liste déroulante, je viens de me rendre compte de ce souci en lisant votre commentaire ... il y a sans doute un nouveau fichier à modifier depuis le DSM 5 : à l'occasion, je regarderai pour mettre la main dessus et mettre à jour mon ticket.
Pour ce qui est de la seconde question, il vous faut regarder du côté de la commande Unix "scp" : par exemple, sur cet aide mémoire très utile.
Je ne vois plus OVH dans ma liste non plus :/
Pourtant tout est bon dans le fichier de conf.
Je trouve ça un peu compliqué de trouver ce type d'info sur le net, je ne comprend pas que Synology ne nous laisse pas ajouter un service facilement.
Merci pour ce script.
Même constat, la liste déroulante ne fait pas apparaitre OVH avec DSM 5.
Du coup, le statut DDNS reste freezé sur "Chargement..."
A mon avis, un changement d'IP ne sera pas mis a jour chez OVH en l'état. Je vais surveiller (chez numéricable, les changements d'IP sont rares).
Le problème ne vient pas de ce script qui fonctionne toujours très bien en DSM 5.0.
Le problème est que la dernière mise à jour DSM 5 efface le champ service provider dans le NAS. Du coup, ne sachant quel provider prendre dans la liste, la mise à jour reste bloquée sur "chargement...".
Il faut supprimer la déclaration DDNS existante dans le NAS (elle n'est plus éditable), et la recréer (impossible de la recréer tant qu'elle n'est pas supprimée, c'est une limitation du DSM de n'offrir qu'un seul enregistrement par provider => c'est pour ça que vous ne voyez plus OVH dans la liste).
@Ooook : merci pour ces précisions qui éclaireront sans doute plusieurs personnes qui se posaient la question. Chez moi, il est vrai que je n'ai rencontré aucun souci particulier (status "normal" dans le DSM pour mon DynDNS OVH) si ce n'est l'impossibilité de rajouter (donc ajouter une seconde fois) un DynDNS OVH via l'outil du DSM.
@Ooook : En effet, ca fonctionne après suppression et création. Merci !
@Ooook : Merci, ça fonctionne.
Suppression
Application du script
Création.