window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-110469859-1');

Ovh2dyn 2 NDD un NAS

Indice NDT

(N)iveau requis: utilisateur à expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour faire.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Utiliser l’automatisation « maison » Ovh2dyn

Un NAS Synology sous DSM 6 et plusieurs NDD chez OVH

Principes, installation, paramètrage, planification pour mise en exploitation.

Selon le FAI on dispose d’un IP fixe ou dynamique. Même si dans ce dernier cas elle ne change que rarement, il faut  renseigner le NDD existant avec cette information afin que le site web ou le service hébergé demeure joignable. Le registar OVH est intégré nativement avec un NAS Synology mais limité à un seul NDD. Le script ovh2dyn permet d’outrepasser cette limitation.

C-I-P-E


Dans les onglets suivants on retrouve les éléments pour le (C)ontenu son (I)nstallation, son (P)aramètrage et enfin son (E)xploitation.

Ovh2dyn est un script bash composé :

  • du script – Ovh2dyn
  • du fichier de paramètrage – Param.txt

Le script s’appuie sur le fichier de paramètrage pour plus facilement installer et adapter le script bash à tous et dans toutes situations. (pas besoin d’un accès telnet/ssh au NAS pour installer, paramètrer et exploiter ovh2dyn)

Prérequis :

  • Paquet PHP installé (si PhotoStation et/ou WebStation présents, alors PHP l’est aussi)
  • Notification des mails paramètrée dans le panneau de configuration
  •  et en sus avec le fournisseur OVH en tant que registar à minima :
    • un NDD  déjà paramètré sous l’admin du NAS
    • un second NDD chez OVH et pour ce dernier avoir paramètré un dynhost (cf article associé).

On installe le script et son fichier de paramètrage dans un dossier du NAS.

Idéalement un dossier personnel type admin ou utilisateur (dans homes/user)
Une fois déposé et paramétré .. on y accède plus.

exemple :
un dossier spécifique dans le dossier run d’admin donc un chemin global qui peut être :
/volume1/homes/admin/run/ovh2dyn

C’est dans le fichier param.txt que cela se passe !

Comme son nom l’entend, il s’agit d’un fichier texte modifiable avec n’importe quel éditeur. (on évitera word…)

ATTENTION : les paramètres sont inscrits à des numéros de ligne précis. Il faut éviter les retours chariots.

Que se passe-t-il si le paramètre n’est pas trouvé ou incomplet, incohérent ou à la ligne du dessous…

Un contrôle des paramètres est réalisé, comme aussi l’existence du dossier visé. Le traitement ne se poursuit QUE si le fichier de paramètrage est correctement renseigné. Dans le cas contraire, le fichier de traces TR_param.txt généré dans le dossier d’exécution renseigne sur les informations manquantes et/ou erronées.

Les Paramètres


– Variable : LOGIN
– nom identifiant du dynhost-user créé chez OVH
– Format : texte
– Ligne 20
– Un contrôle est fait sur leur valorisation… seulement.

#—————————————————-

– Variable : PASSWORD
– Mot de passe du user créé chez OVH pour ce dynhost.
– Ligne 21
– Un contrôle est fait sur leur valorisation… seulement.

#—————————————————-

– Variable : HOST
– NDD associé (NDD principal ou sous domaine)
– Texte
– Ligne 22
– Un contrôle est fait sur leur valorisation… seulement.

#—————————————————-

– Variable : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/homes/moi/monscript
– Ligne 35
– Un contrôle est fait sur son existence.

#—————————————————-

– Variables : email
– Destinataire et expéditeur (suppose que le paramètrage d’envoi soit fait par avance)
– Ligne 45 et 55
– format email
– Contrôle de cohérence réalisé

#—————————————————-

Afin d’exécuter le script on l’ajoute au planificateur des tâches.

Les traces


Sont générées dans le dossier d’exécution les fichiers suivants :

F_init
– Trace la bonne installation (paramètrage OK date d’initialisation correcte)
– Si absent il est généré à la 1ere exécution.

TR_param.txt
– Trace la bonne interprétation des paramètres de param.txt
– Si absent est généré à chaque exécution
– Permet d’investiguer si une erreur est trouvée dans le fichier de paramètrage

TR_traces.txt
– Traces surveillance réalisée (quota non atteint ou quota dépassé et mail envoyé)

TR_smtp.txt
– Verification des fichiers de paramètrage d’envoi de mail.

TR_message.txt
– Le Message constituant le mail envoyé (ou pas mais qui est toujours généré)

Démo


Composé de 2 fichiers

  1. ovh2dyn le script Bash V1
  2. Param.txt le fichier de paramètrage à amender

ovh2dyn.zip Taille de l’archive zip – 4 ko – Signatures

FAQ


Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.

Afficher les numéros de ligne2020-03-10T15:57:26+01:00

Ne pas ajouter ou supprimer des lignes dans un fichier est plus facile à faire lorsqu’on voit les numéros des lignes.
Il existe différents logiciels permettant de le faire comme par exemple :

  • Ultraedit sous windows (existe aussi sous macOS)
  • TextMate (mon préféré) sous macOS
  • et sur le NAS le paquet Éditeur de texte fait le job
    (cf FAQ « Modifier un fichier Texte avec le NAS »)

Il en existe plein d’autres sur internet !

Autorisation de Synology2020-03-10T15:58:41+01:00

Le script ne réalise pas de changement sur les éléments constituant l’environnement logiciel du NAS Synology. Il automatise une action qui peut être faite manuellement par l’utilisateur.

En conséquence, le script ne représente ni un risque de sécurité ni une atteinte aux éléments techniques et juridiques du NAS.

Obtenir le chemin complet2020-03-10T19:00:17+01:00

Dans le fichier de paramètrage on doit renseigner les chemins complets selon les volumes existants sur le NAS. Ainsi un dossier cargo dans le dossier partagé web est en fait : /volume_n (où est n est le numéro du volume)/web/cargo.

A partir de FileStation on obtient dans les propriétés du dossier ce chemin complet comme sur l’image à gauche.

Prérequis OVH2020-03-10T15:52:54+01:00

Au préalable chez OVH il faut :

  1. ôter de la zone DNS toute référence IP sous les items A et AA (ip v4 et ipv6).
  2. dans la section dynhost, on ajoute un utilisateur
  3. et on précise un NDD dynamique en renseignant l’ip actuelle.

Ajout d’un dynhost

  1. on laisse en vide la 1ere zone (on référence tout le domaine)
  2. on précise l’ip publique actuelle.

Ajout d’un utilisateur

  1. on précise le nom, il est ajouté au NDD genre NDD-cmoi
  2. on spécifie le mot de passe et on le confirme.
QUID après une MAJ Syno ?2020-03-10T15:59:29+01:00

Le script représente une automatisation qui ne s’appuie pas sur des fonctions de DSM. Ainsi , sauf changement d’OS et/ou de suppression de fonctions intégrées bas niveau , une MAJ du NAS n’obère pas le traitement du script.

La notification par mail2020-03-10T15:59:56+01:00

La notification par mail s’appuie sur PHP et les paramètres de notification du NAS.

PHP est un paquet installé sous DSM avec PhotoStation et/ou WebStation mais on peut l’ajouter manuellement si nécessaire.
Aucune personnalisation supplémentaire n’est requise sur ce paquet.

La notification par mail se réalise dans le panneau de configuration en tant qu’administrateur et permet de s’assurer (par l’envoi d’un mail de test) que les paramètres sont correctement renseignés.

Ce sont les prérequis pour que l’alerte par mail puisse être opérationnelle avec ce script.

Modifier un fichier texte avec le NAS2020-03-10T15:58:10+01:00

Pour pouvoir modifier un fichier texte directement depuis File Station sous DSM sur un NAS Synology, il faut ajouter le paquet Editeur de Texte (section utilitaire dans l’ajout des paquets).

Par la suite sous File Station, bouton droit sur un fichier texte permet son ouverture pour modification.
Pratique on peut ajouter les n° des lignes et ainsi mieux gérer les modifications dans le fichier de paramètrage.

Attention à la page de code (en général il faut une page de code UTF-8).

un homes des home ?2020-03-10T18:56:26+01:00

Le dossier homes sur un NAS Synology contient le home de chaque utilisateur du NAS. Sauf à se connecter avec un utilisateur du groupe Administrator (ou d’en avoir expressément ajouter les droits), un utilisateur ne voit QUE son home et jamais le dossier homes contenant les dossiers des autres utilisateurs.

L’exécution d’un script « maison » est réalisée avec des droits d’administrateurs. (dans le planificateur des tâches).
C’est pourquoi, sauf sur site distant, pointer un dossier home d’un utilisateur dans le fichier de paramètrage, param.txt, doit être écrit en tenant compte de l’arborescence complète.

Pour le paramètrage en local, la syntaxe « arborescence complète » se présente ainsi :
  → Exemple local : utilisateur toto son home en local est sur le /volumex(x=1 à n selon le nombre de volume présent)/homes/toto.

Dans le cadre de SyncDoss, la connexion au site distant ne se réalise pas avec les mêmes prérogatives (et c’est normal).
 → Exemple distant :  pour mon utilisateur toto son home en local sur le site distant est sur le /home/toto.
Cette fois-ci , je me connecte en tant que toto, mon home dans le fichier de paramétrage, param.txt, est à écrire avec l’arborescence simplifiée.

2021-02-11T17:25:27+01:0009 Mar 2020|SYNO|

Envie de partager cet article ...

Un commentaire

  1. zorgglub26 12 mars 2020 à 12 h 47 min

    Cool merci chef !
    2 ans que je cherchais et que (certes pas souvent) et que je mettais à jour manuellement ma zone DNS chez OVH pour mes deux autres NDD (oui 3 NDD détenus chez OVH…).
    Une tâche et un souci de moins car en cas de changement d’IP on ne le sait pas non plus… Sauf quand un client me disait ne plus avoir accès à un de mes sites (sic).

Les commentaires sont fermés.

Aller en haut