Aujourd’hui, j’ai rebranché mon vieux Synology DS212, pour récupérer des fichiers dont les liens avaient expirés sur Internet et que je voulais remettre en ligne sur mon article Sons of Anarchy Wallpapers.
Le DS212 a été configuré du temps de la Freebox Révolution, qui gère les adresses IP locales depuis 192.168.0.x. Le problème est qu’aujourd’hui, avec la Freebox Pop, les adresses sont en 192.168.1.x.
Résultat: le DS212 est inaccessible car son DHCP a été configuré manuellement: il possède l’IP 192.168.0.12 alors que sur le réseau, ce devrait être 192.168.1.12. Impossible de le joindre donc.
Voici comment retrouver son NAS Synology sur le réseau local et changer son IP dans le DHCP de DSM, sans y avoir accès.
Trouver son Synology
Vous pouvez facilement trouver vos Synology depuis votre navigateur à l’adresse find.synology.com
Trouver son NAS Synology avec l’assistant web
Si l’IP du DHCP du NAS avait été correcte, j’aurais pu me connecter sans problème avec le bouton Connecter, mais ce n’est pas le cas.
Utiliser Synology Assistant pour changer les paramètres réseau du Synology
La solution est toute simple: nous devons utiliser l’utilitaire Synology Assistant, à installer sur votre machine, pour éditer la configuration réseau du Synology et lui assigner la bonne adresse IP.
Je suis en train de faire le ménage sur d’anciennes machines que je donne sur donnons.org : cela me permet de récupérer quelques (vieilles) données pour les sauvegarder sur le NAS avant de formater les disques durs pour leur nouvelle vie.
En changeant de machine, je me suis aperçu que le certificat TLS du NAS n’était plus valide… depuis fin février 2019! What??
Après quelques infructueux essais de renouveler le certificat, il semblerait que le passage à DSM 6.2 soit à l’origine du problème.
J’utilise mon NAS Synology tous les jours et l’une des fonctions que j’affectionne particulièrement est de pouvoir regarder des vidéos directement sur la télévision, en passant par la Freebox.
Il existe plusieurs manières de regarder les vidéos stockées sur le NAS sur la télévision : depuis la Freebox, depuis un navigateur avec VideoStation ou depuis votre mobile avec l’application DS Video.
Lire des vidéos avec fichiers de sous-titres depuis la Freebox
Il suffit de se rendre dans le menu Freebox > Disques et de sélectionner votre NAS, qui s’appelle par défaut “DiskStation” chez Synology.
Si le fichier de sous-titre porte le même nom que le fichier vidéo auquel il se rattache, alors la Freebox le chargera automatiquement. Vous pouvez alors le désactiver en appuyant sur la touche Menu verte de la télécommande Free.
C’est la méthode que j’utilise au quotidien mais il faut avoir prévu de télécharger les bons sous-titres, s’être assuré que le nom ne diffère pas et les avoir mis dans le même répertoire que le fichier vidéo… cela demande un peu de manutention avant de pouvoir se caler dans le canapé.
Lire des vidéos avec sous-titres chargés à la volée depuis le NAS
Une seconde solution consiste à lancer le fichier depuis le webdamin du Synology : démarrez l’application VideoStation et sélectionnez le fichier à lire.
Allumez ensuite votre télévision et le Freebox Player pour qu’il soit détecté par l’application VideoStation.
Si vous cliquez sur la petite icône Réglages du lecteur vidéo, il est possible de charger des sous-titres à la volée dans la section Sous-Titres :
Il ne vous reste plus qu’à sélectionner la destination vidéo vers laquelle envoyer la vidéo en flux DLNA dans la section Source. Ici, nous choisissons Freebox Player en DLNA:
Il suffit de cliquer sur le bouton lecture et la vidéo sera directement projetée sur la télévision par le biais du Freebox Player.
Lire vidéos et sous-titres depuis l’application mobile DS Video
Je vous ai gardé le meilleur pour la fin : vous pouvez lancer les vidéos du Synology et activer les sous-titres à la volée depuis l’application mobile DS Video, à installer sur votre téléphone portable.
MacOS dispose de Time Machine, l’utilitaire qui permet de sauvegarder et restaurer le système d’exploitation de votre Mac, ainsi que tous vos fichiers et documents.
Time Machine nécessite normalement un disque dur dédié à toutes vos sauvegardes. Un énième disque dur de sauvegarde… sauf si vous avez un NAS Synology!
Il est en effet possible d’utiliser une partie de votre Synology pour accueillir les sauvegardes de Time Machine alors autant l’utiliser !
Ajout du support de Time Machine dans le DSM du Synology
Nous avons besoin de configurer DSM pour qu’il puisse converser correctement avec Time Machine : il nous faut créer un utilisateur dédié avec des droits propres, un répertoire de destination et un quota pour ne pas que l’espace du NAS ne soit complètement phagocyté.
Ajout d’un répertoire partagé
Dans l’interface d’administration DSM, rendez-vous dans Panneau de Configuration > Dossier partagé et cliquez sur le bouton Créer un dossier partagé :
Vous pouvez maintenant éditer les paramètres du dossier partagé :
Sur l’écran suivant, vous pouvez choisir de chiffrer les sauvegardes de Time Machine. Pour un usage purement personnel, j’opte pour la rapidité, sans chiffrement.
Cliquez sur Appliquer pour sauvegarder les changements.
Création d’un utilisateur Time Machine
Nous créons un utilisateur qui sera dédié à la sauvegarde Time Machine, avec des droits spéciaux.
On entre le nouveau mot de passe pour notre utilisateur que nous appellons TimeMachineUser:
Au niveau des groupes utilisateurs, il fera parti du groupe des utilisateurs par défaut (users) :
On donne à notre utilisateur les droits de lecture et écriture sur le dossier partagé TimeMachine:
Je vous recommande de définir un quota votre utilisateur Time Machine, afin d’éviter que les sauvegardes ne saturent complètement le NAS :
Cliquez sur Appliquer pour sauvegarder les changements.
J’ai récemment réorganisé le matériel informatique de la maison pour ne plus voir la box et le NAS traîner dans la pièce à vivre.
J’avais tout mis là par défaut parce qu’il y avait une prise de téléphone à proximité mais finalement, a-t-on vraiment besoin d’avoir cela sous les yeux en permanence ?
Du coup, hop, tout est monté à l’étage. Le NAS Synology est configuré pour démarrer chaque soir, rapatrier les derniers épisodes et récupérer les derniers sous-titres puis s’éteindre à l’heure du coucher.
Mais il arrive parfois que l’on ait besoin d’avoir accès à nos fichiers en dehors de cette plage horaire… mais maintenant, il faut changer de pièce, monter l’escalier, redescendre et au final, on perd le fil de ce que l’on était en train de faire !
Voici donc comment démarrer votre NAS Synology à distance, sans bouger de votre chaise (pas bien!) en utilisant la fonction Wake On Lan.
La fonction Wake On Lan (WOL)
La fonction Wake On LAN (WOL) est une technologie qui permet de réveiller ou démarrer à distance un ordinateur ou périphérique qui est en veille ou éteint.
Le Disk Station Manager (DSM) du Synology posséde la fonction WOL, qui est présente sur la plupart des modèles de NAS de la marque, ce qui vous permet de démarrer votre NAS sans avoir à vous lever pour aller appuyer sur le bouton de mise sous tension.
Notez que les requêtes WOL sont plutôt destinées au réseau local.
Étape 1 : configuration du Wake On Lan (WOL) sur le Synology
Identifiez-vous sur le DSM et rendez-vous sur Panneau de Configuration > Matériel et Alimentation et cochez la case Activer WOL sur le réseau local:
Sauvegardez les changements.
Étape 2 : utiliser l’utilitaire WakeOnLan
Il existe un petit utilitaire, WakeOnLan, qui permet d’envoyer le paquet magique qui démarrera le Synology à distance:
WOL est activé lorsqu’un paquet magique (magic packet en anglais) est envoyé au NAS. Ce paquet magique contient les octets suivants FF FF FF FF FF FF suivi de l’adresse MAC de la carte réseau de destination répétée 16 fois.
Le paquet magique est une trame réseau transmise sur le port 0, 7 ou 9. Quand la carte réseau de destination reçoit cette trame, elle envoie un signal à la carte mère du périphérique et lance alors la séquence de démarrage.
Voilà – bon, bougez de temps en temps aussi hein !
5. Faites une recherche avec le terme lower (avec Ctrl+W sous nano). Vous trouver cette ligne:
# format
if video.format and 'format' in guess and guess['format'].lower() == video.format.lower():
matches.add('format')
Nous allons commenter ces lignes et ajouter des conditions pour que lower ne soit appliqué qu’aux chaînes (type string):
# format
#if video.format and 'format' in guess and guess['format'].lower() == video.format.lower():
#matches.add('format')
if video.format and 'format' in guess:
guess_format = guess['format'] if isinstance(guess['format'], list) else [guess['format']]
if any(gf.lower() == video.format.lower() for gf in guess_format):
matches.add('format')
Attention à bien respecter le nombre d’espaces pour l’indentation : il s’agit d’un script python donc très tatillon à ce sujet !
A la maison, je galère un peu avec les taux de transfert des fichiers entre ma machine fixe (The Reaper) et le NAS Synology.
Lors des transferts via le navigateur, la vitesse arrive à peu près à 2MB/s, ce qui, excusez-moi du peu, sonne comme une douce plaisanterie.
Pour pallier ce problème, nous allons donc “mapper” un des répertoires du NAS directement dans un répertoire local de ma machine.
Comme cette dernière tourne sous Ubuntu, il suffira dans Nautilus de copier des fichiers ou dossiers dans ce répertoire pour que tout soit uploadé directement dans le NAS. Un gain de temps en perspective !
Activation de NFS sur le NAS
Sur le NAS, nous allons avoir besoin du protocole NFS (Network File System).
Rendez vous dans Control Panel > File Sharing > File Services > cochez la case pour activer le service NFS et appliquez les changements:
Ensuite, cliquez sur l’icône qui se trouve juste au dessus, Shared folders :
créez un nouveau dossier partagé. Je vais prendre NetBackup comme exemple pour ce tutoriel.
sélectionnez le dossier > cliquez sur Edit > sélectionnez l’onglet NFS permissions.
cliquez sur Create pour ajouter une nouvelle politique de droits NFS sur ce dossier.
Voici les droits à accorder:
Configuration :
Hostname/IP : on indique l’IP de la machine locale. Sur mon réseau local, 192.168.0.10 est l’adresse de ma machine fixe.
Privileges: Read/Write pour lecture et écriture.
Squash : Map root to admin. Cela permet de monter automatiquement le répertoire au démarrage de la machine.
Je laisse coché toutes les autres options, les transferts asynchrones ne me dérangent pas.
Quoi de plus normal que de regarder des séries et films en VO ? Et si vos sous-titres étaient automatiquement téléchargés sur votre NAS tous les soirs ?
Regarder des séries et films en version originale, c’est ce que je passe mon temps à faire à recommander à mes élèves – et à leurs parents lors des réunions parents-professeurs.
On s’affranchit souvent de ces petits fichiers textes mais il peut arriver de tomber sur une série un peu plus coriace, qui demande de bien tout comprendre si on veut vraiment saisir le fin mot de l’histoire. Bref, parfois, les sous-titres, ça peut servir.
Voici donc un petit tutoriel pour récupérer automatiquement les bons sous-titres pour vos fichiers, avec en script en ligne de commande ou exécutable par votre NAS.
Synology : installation de pip
1. Ouvrez une session SSH sur le NAS et passez root :
Subliminal est une librairie Python qui permet de rechercher et télécharger des sous-titres. C’est ce que nous allons lancer, soit en ligne de commande, soit par un cron sur le NAS.
Script de téléchargement automatique des sous-titres
Passons maintenant au script de téléchargement automatique de nos sous-titres. Voici mes pré-requis :
dossier à scanner : /volume1/video
âge maximum des fichiers pour lesquels on recherche les sous-titres : 4 weeks
langue des sous-titres: eng pour l’anglais, fra pour le français. Ici, je ne souhaite que de l’anglais.
Créez donc un nouveau fichier (dans votre dossier utilisateur du NAS, pas dans root):
nano /volume1/homes/matt/subby.py
et ajoutez-y:
from datetime import timedelta
from babelfish import Language
from subliminal import download_best_subtitles, region, save_subtitles, scan_videos
# configure the cache
region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'})
# scan for videos newer than 2 weeks and their existing subtitles in a folder
videos = scan_videos('/volume1/video', age=timedelta(weeks=10))
# download best subtitles in English
subtitles = download_best_subtitles(videos, {Language('eng')})
# save them to disk, next to the video
for v in videos:
save_subtitles(v, subtitles[v])
Vous pouvez lancer ce script directement depuis un terminal avec :
python /volume1/homes/matt/subby.py
Mise à jour : on peut encore mieux faire ! Lassé d’avoir à installer pip et subliminal à chaque mise à jour du DSM, j’ai écrit un script bash qui gère toute l’installation (pip, subliminal) et qui lance le script python pour le téléchargement des sous-titres.
On crée notre script bash :
nano /volume1/homes/matt/subby.sh
avec :
#!/bin/bash
# Script Name : Pip and Subliminal dependences FTW
# Script Author : Matt Biscay
# Script URL : https://www.skyminds.net/nas-synology-telecharger-automatiquement-sous-titres-subliminal/
# Script Version : 1.0 (2017-07)
# working dir
cd /volume1/homes/matt
# is pip installed ?
if which pip 2>/dev/null;
then
echo "pip is installed. Fetching subtitles..."
python subby.py
echo "Subs fetching complete. Enjoy !"
exit 1
else
echo "pip is missing. Installing it now..."
# remove pip install file
rm get-pip.py -f
# fetch pip install file
wget https://bootstrap.pypa.io/get-pip.py
# install pip
python get-pip.py
# install subliminal
pip install subliminal
# get subs
echo "pip and subliminal have been installed. Fetching subtitles..."
python subby.py
echo "Subs fetching complete. Enjoy !"
fi
Kaboom ! Si le binaire pip n’est pas présent sur le système, c’est qu’il n’a pas survécu à la mise à jour du DSM. On l’installe donc, ainsi que subliminal. Ensuite on lance le script de téléchargement.
Mise en place d’un cron pour automatiser le téléchargement des sous-titres
Si vous êtes sous Unix, vous pouvez mettre en place un cronjob avec le script tel quel.
Sur le Synology, tout se met en place en quelques clics :
Rendez-vous dans Panneau de configuration > Planificateur de tâches > Créer > Tâche planifiée > Script défini par l’utilisateur:
Donnez un nom à votre tâche et assignez-lui un utilisateur (root).
dans l’onglet Programmer, ajouter la fréquence de lancement du script :
enfin, dans l’onglet Paramètres de tâches, donnez le chemin du script précédé de la commande bash puisque c’est un script bash:
Vous avez sûrement remarqué qu’IPKG n’est plus maintenu depuis maintenant quelques années (2014) et qu’à chaque mise à jour DSM du NAS Synology, les applications sautent.
Il devenait quasiment impossible d’installer IPKG sur les nouveaux NAS – jusqu’à l’arrivée d’Entware.
Entware est un petit nouveau qui a mis des années à mûrir mais il est mis à jour en permanence et offre plus de 1800 paquets à votre NAS. Il est aussi compatible avec les routeurs OpenWRT et LEDE.
Voyons donc comment installer cette nouvelle source d’applications.
Entware-ng, le petit nouveau
Entware-ng prend en charge les processeurs ARM et Intel, votre version de DSM doit quant à elle être égale ou supérieure à la version 3.2.
Il faut utiliser :
l’installeur armv5 pour les processeurs Marvell Kirkwood mv6282,
l’installeur armv7 pour les processeurs ARM plus récents. Le dépôt armv7 a été compilé avec l’optimisation cortex-a9 mais reste totalement compatible avec les NAS basés sur des Marvell Armada XP .
Déterminer le modèle du processeur du NAS
Considérons que SSH est activé dans les options du DSM (Control Panel > Applications > Terminal & SNMP > Terminal > Enable SSH service).
On commence par lancer une connexion SSH vers le NAS avec l’utilisateur admin :
ssh admin@DiskStation
et on passe root:
sudo -i
On peut trouver le modèle du processeur en tapant:
cat /proc/cpuinfo | more
Cela vous permet de savoir si vous êtes en armv5 ou armv7 (plus récent).
Un autre moyen, peut-être même plus simple :
uname -a
Résultat chez moi:
Linux DiskStation 2.6.32.12 #15132 Wed Jun 14 12:24:38 CST 2017 armv5tel GNU/Linux synology_212+
Installer Entware-ng sur notre NAS Synology
Toujours dans votre session SSH, en tant que root, vous allez maintenant installer Entware sur votre Synology.
1. On crée un dossier sur le disque, en dehors du rootfs :
mkdir -p /volume1/@entware-ng/opt
Le dossier /opt doit absolument être vide, c’est-à-dire qu’Optware ne doit pas être installé. Dans le doute, on le vide dans l’étape suivante.
2. On supprime /opt et on crée un lien symbolique:
La dernière ligne permet de lancer les services Entware lors du démarrage du NAS.
Depuis DSM 6.1, /etc/rc.local n’est plus exécuté lors de la séquence de boot. Il faut donc créer une tâche planifiée qui lance ces deux instructions au démarrage du NAS.
Rendez-vous dans Panneau de configuration > Planificateur de tâches > Créer > Tâche déclenchée > Script défini par l’utilisateur. Cette tâche sera lancée au démarrage du NAS:
Dans ce tutoriel, nous allons voir comment configurer rsync pour planifier des sauvegardes d’un serveur distant et permettre l’accès SSH vers votre NAS Synology en local.
Armez-vous de votre terminal préféré et lancez une session SSH, c’est parti !
Étape 1 : créer un nouvel utilisateur Synology
Afin de bien séparer les processus et privilèges, il vaut mieux créer un nouvel utilisateur Synology : cela permet de contrôler exactement ce à quoi il a accès.
Dans ce tutoriel, notre utilisateur s’appellera saveme.
Étape 2 : activer l’accès SFTP
Activez l’accès SFTP dans Diskstation > Control Panel > FTP > SFTP > Enable SFTP service. Vérifiez aussi que le port 22 (SSH) est bien ouvert dans votre routeur et firewall; et bien redirigé vers votre NAS.
Ensuite, ouvrez une session SSH sur votre NAS :
ssh admin@IP_NAS
Entrez votre mot de passe, vous devriez être loggué. Si ce n’est pas le cas, vérifiez la configuration routeur/firewall du port 22.
Étape 3 : éditer le fichier passwd
Une fois que vous êtes identifié en SSH sur votre NAS, il vous faut éditer le fichier passwd:
nano /etc/passwd
Allez à la dernière ligne, qui gère le nouvel utilisateur créé à l’étape 1. A la fin de cette ligne, remplacez :
/sbin/nologin
par
/bin/sh
Sauvegardez le fichier.
Maintenant, on assigne un dossier de travail avec tous les droits nécessaires à notre utilisateur (qui s’appelle saveme). Au lieu de le mettre dans /homes, on va plutôt le mettre à la racine, bien au chaud, sous /volume1/backup.
On donne accès au dossier :
chown saveme:users /volume1/backup
Étape 4 : identification avec notre nouvel utilisateur
On s’identifie avec notre utilisateur saveme :
su - saveme
Si vous obtenez des messages d’erreur comme :
su: can't chdir to home directory '/volume1/backup'
su: can't run /sbin/sh: No such file or directory
La première erreur est due à une erreur de permissions. Vérifiez que vous avez bien chowné le bon dossier. La seconde montre que vous avez oublié d’ajouter
/bin/sh
à votre utilisateur dans l’étape 3.
Étape 5 : ajouter la clé SSH du NAS sur le serveur distant
On crée la clé en utilisant le chemin par défaut et on appuie juste sur “entrée” lorsqu’on nous demande un mot de passe de clé :
Essayez maintenant d’ouvrir une session SSH sur votre serveur distant depuis la session SSH du NAS : la session devrait s’ouvrir sans que vous n’ayez à entrer le mot de passe du compte.
Si vous obtenez une erreur de permission, voici les bonnes permissions à appliquer :
le répertoire .ssh doit avoir un chmod 700,
la clé publique (fichier .pub) doit avoir un chmod 644,
la clé privée (id_rsa) doit avoir un chmod 600.
Voici donc les commandes à lancer pour attribuer les bonnes permissions sur le NAS:
Si l’on souhaite rajouter pas mal de fonctionnalités à un NAS Synology, on est vite limité par les applications officielles.
On peut passer par IPKG ou alors tout simplement installer pip, le gestionnaire de paquets Python.
Voici comment installer pip sur votre NAS Synology en moins de 3 minutes.
Installation de pip sur votre Synology
Pré-requis : vous devez avoir installé Python (version 2.7 chez moi) depuis le gestionnaire de paquets du DSM.
1. On commence par ouvrir une session SSH avec l’utilisateur root sur le port 22 de l’IP de notre NAS :
ssh -l admin 192.168.IP.NAS -p22
sudo -i
Depuis DSM6, on ne peut plus ouvrir de session SSH avec l’utilisateur root. Il faut donc ruser en ouvrant une session avec un autre utilisateur (admin par exemple) puis passer root avec sudo -i
2. Une fois connecté en tant que root, on récupère le paquet pip :
wget https://bootstrap.pypa.io/get-pip.py
3. Et on installe pip :
python get-pip.py
Cela prend un peu de temps. Voici ce que vous devriez obtenir :
pip est maintenant installé. Il ne vous reste plus qu’à installer les paquets de votre choix, à la manière d’un apt, apt-get ou aptitude :
Usage:
pip [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
help Show help for commands.
Mon NAS Synology est configuré pour se mettre automatiquement à jour, ce qui est plutôt pratique puisque cela permet d’automatiser les mise à jour de sécurité et des paquets essentiels.
Hier, une nouvelle mise à jour du DSM est arrivée : DSM 6. La mise à jour s’est visiblement bien déroulée mais quelques petites choses ont été modifiées au sein du système, dont la perte d’accès root pour rsync, ce qui est problématique pour mes sauvegardes.
Le truc qui change, c’est qu’au lieu d’utiliser root comme utilisateur, il va désormais être obligatoire d’utiliser un utilisateur qui appartient au groupe administrators. Chez moi, il y en a plusieurs mais pour des raisons de simplicité, nous utiliserons l’utilisateur admin dans ce tutoriel.
Voyons donc comment donner l’accès à rsync pour l’utilisateur admin, cela ne prend que quelques minutes.
Ajouter des utilisateurs dans le groupe des administrateurs
Nous commençons par vérifier que nous possédons bien au moins un administrateur sur le NAS. Par défaut, il devrait au minimum y avoir le compte admin mais vous pourriez l’avoir désactivé pour des raisons de sécurité (c’était mon cas avant de faire cette mise à jour).
Rendez-vous dans Synology > Control Panel > Group > Administrators > Edit members:
Ici, nous avons bien l’utilisateur admin. N’hésitez pas à y ajouter vos autres utilisateurs qui possèdent les droits d’administration.
Note: profitez-en pour faire un détour par Control Panel > User et changez le mot de passe de l’utilisateur admin pour un mot de passe plus robuste.