IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Rock Pi 4 modèle C

Découverte, montage et configuration

Les nano-ordinateurs ont été largement démocratisés avec la venue du Raspberry Pi. Évidemment, ce ne sont pas les seuls et d’autres constructeurs ont à leur tour apporté leurs propres nano-ordinateurs avec des caractéristiques différentes. Dans cette série, nous découvrons le Rock Pi 4 modèle C pour lequel Radxa, propose une extension officielle pour le transformer en NAS.

4 commentaires Donner une note à l´article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Radxa propose une série de nano-ordinateurs sous l’appellation Rock Pi. On y retrouve le :

  • ROCK Pi 4, un nano-ordinateur générique ;
  • ROCK Pi S, un nano-ordinateur ayant une taille réduite ;
  • ROCK Pi E, un nano-ordinateur orienté pour le réseau, avec deux ports RJ-45 (100 Mb/s et 1 Gb/s) ;
  • ROCK Pi X, un nano-ordinateur avec un processeur Intel x86 capable d’exécuter Windows 10 ;
  • ROCK Pi N10, un nano-ordinateur avec un Cortex-A53 et un Mali T860MP4 ainsi qu’un processeur de réseaux neuronaux (Neuronal Processor Unit ((NPU) ;

Cet article se concentre autour du ROCK Pi 4, modèle C, pour lequel Radxa propose aussi une extension sous la forme de chapeau(1) offrant quatre connecteurs SATA pour transformer le nano-ordinateur en NAS.

I-A. Caractéristiques

Le ROCk Pi 4 modèle C embarque :

  • un CPU Rockchip RK3399 (CPU six cœurs : deux Cortex-A72 ayant une fréquence de 1,8 Ghz et quatre Cortex-A53 pouvant atteindre 1,4 Ghz) ;
  • un GPU Mali T860MP4 (OpenGL ES 3.2, Vulkan 1.0, OpenCL 1.2, DirectX 11) ;
  • 4 Go de mémoire vive LPDDR4 à 3,2 Ghz (64 bits dual channel) ;
  • une connectique pour utiliser un module mémoire eMMC(2) (optionnel pour démarrer le nano-ordinateur, mais obligatoire dans le cas du NAS) ;
  • un lecteur de carte micro SD (supportant des cartes jusqu’à 128 Go) ;
  • un connecteur M.2 (supportant jusqu’à des disques NVMe de 2 To) ;
  • un port micro HDMI 2.0 ;
  • un port mini Display Port ;
  • un port MIPI DSI (pour ajouter un afficheur) deux lignes via un connecteur FPC ;
  • un port MIPI CSI (pour ajouter une caméra) via un connecteur FPC ;
  • un port Jack 3,3 mm supportant un micro ;
  • un adaptateur WiFI 802.11 ac ;
  • un adaptateur Bluetooth 5.0 ;
  • un port USB 3.0 OTG ;
  • un port USB 3.0 ;
  • deux ports USB 2.0 ;
  • un port Gigabit Ethernet, supportant le Power over Ethernet (PoE) via un chapeau ;
  • 40 pins d’extension (1 UART, 2 SPI, 2 i2C, 1 PCM/I2S, 1 SPDIF, 1 PWM, 1 ADC, 6 GPIO, 2 5V entrée, 2 3.3V) (documentation).

Le tout est proposé sur une carte de 85 mm x 54 mm.

I-A-1. Anciennes versions

Les différences avec les modèles A, B et C sont les suivantes :

  • les modèles A et B n’ont pas de port mini Display Port et le port HDMI est de taille classique ;
  • les modèles A et B sont proposés en 1, 2 et 4 Go de mémoire vive LPDDR4 à 3,2 Ghz ;
  • le modèle A ne possède pas de Wifi ni de Bluetooth ;
  • le modèle A ne supporte pas le PoE.

I-A-2. Chapeaux

Radxa propose plusieurs chapeaux, dont certains sont compatibles avec les Raspberry Pi ou même le Jetson Nano :

Ce dossier va porter sur l’installation et l’utilisation du Rock Pi 4 avec le chapeau Penta SATA afin de mettre en place un NAS.

I-A-2-a. Penta SATA

Comme son nom l’indique, le chapeau Penta SATA permet de connecter jusqu’à cinq disques au Rock Pi 4. Plus précisément, ce seront quatre disques au format 2,5 pouces (autrement dit, les disques que l’on retrouve à l’intérieur des PC portables, ou les SSD) plus un disque externe, 3,5 pouces (format classique).
Pour cela, le chapeau offre donc quatre connectiques SATA et une connectique eSATA (alimenté) afin de pouvoir connecter un disque mécanique 3,5 pouces.

Du côté des fonctionnalités, le chapeau supporte :

  • l’utilisation de deux lignes PCIe 2.1 pour les données ;
  • le support de l’arrêt des disques ;
  • le support logiciel du RAID 0/1/5.

    Le chapeau propose deux sources d’alimentation :

  • un connecteur ATX standard comme source d’alimentation ;

  • une entrée d’alimentation 12 V continu.

Ces sources alimentent aussi bien les disques que le Rock Pi 4.

Finalement, le chapeau possède quelques accessoires optionnels :

  • une carte supérieure contenant un écran LCD et un ventilateur ;
  • un boîtier métallique pour protéger le tout ;
  • un boîtier offrant cinq baies pour disques durs 3,5 pouces.
I-A-2-a-i. Alimentation

Seul, le Rock Pi 4 s’alimente par un port USB Type C, supportant de 9 à 20 V. Seul 5 V n’est pas suffisant pour ce nano-ordinateur.

Dans le cas d’un montage avec le chapeau Penta SATA il faut aussi prendre en compte la consommation des disques. Comme il est possible de lire dans la documentation du chapeau Penta SATA, la consommation typique des disques est la suivante :

  • inférieure à 3 W pour les SSD ;
  • 3 à 5 W pour les disques mécaniques 2,5 pouces ;
  • 5 à 10 W pour les disques mécaniques 3,5 pouces. Par contre, les disques mécaniques nécessitent 12 V en entrée.

La connectique GPIO peut faire passer du 5 V, jusqu’à 4 A. Cela est suffisant pour alimenter quatre disques 2,5 pouces si l’alimentation est capable de fournir plus de 35 W.

Évidemment, l’alimentation de base ne pourra alimenter un disque mécanique 3,5 pouces. Dans ce cas, il faudra passer par l’alimentation 12 V ou l’alimentation à travers la connectique ATX (c’est-à-dire, une alimentation de PC). Pour cette dernière, n’importe quelle alimentation devrait suffire. Par contre, pour l’alimentation 12 V, il faudra au moins une alimentation 12 V/4 A (soit 48 W) pour alimenter jusqu’à quatre disques mécaniques 2,5 pouces et un disque mécanique 3,5 pouces externe et une alimentation 12 V/6 A (soit 72 W) dans le cas de cinq disques mécaniques 3,5 pouces (c’est-à-dire, pour alimenter les baies externes).

II. Montage

Dans cette section, nous allons voir comment monter le Rock Pi 4, son chapeau Penta SATA, la carte supérieure, le tout, dans le boîtier officiel.

II-A. Pièces

D’abord, énumérons les différents éléments que nous avons à notre disposition :

  • le Rock Pi 4 :
Face du dessus du Rock Pi 4, modèle C
Face arrière du Rock Pi 4, modèle C
  • un module eMMC :
Un module mémoire eMMC (16 Go)
  • le chapeau Penta SATA :
Face avant du chapeau Penta SATA
Face arrière du chapeau Penta SATA
  • une nappe FPC haute vitesse :
Nappe FPC
  • une carte imprimée M.2 vers FPC :
Adaptateur FPC - M.2
  • un câble eSATA vers SATA 7 + 15 connexions (pour le disque externe) :
Cable de connexion eSATA avec alimentation
  • des espaceurs pour tenir les disques :
Séparateur pour les disques du NAS
  • le panneau supérieur :
Face avant de la carte supérieure pour le NAS
Face arrière de la carte supérieure pour le NAS
  • un câble pour connecter le panneau supérieur :
Câble d'alimentation de la carte supérieure
  • un boîtier (comprenant le squelette, une face du dessus acrylique et une face du dessous permettant la dissipation de chaleur).
Boîtier du NAS
Couvercle et fond du boîtier du NAS

Comme on peut le voir, le panneau supérieur possède un ventilateur, un écran OLED de 0,91 pouce et un bouton pour faire défiler les informations du système sur l’écran.
Du côté du boîtier, on remarque un regard pour les LED indiquant la présence des quatre disques, et des ouvertures pour toutes les connectiques du RockPi 4. Seule l’utilisation d’une carte SD n’est pas possible avec ce boîtier.

II-B. Pas à pas

Le montage est plutôt simple et demande tout au plus une trentaine de minutes.

La première étape consiste à placer le module eMMC. En effet, pour un placement du NAS dans le boîtier, il est nécessaire d’utiliser un module eMMC, la carte mémoire microSD ne pouvant pas être placée.
Le module se place en le clipsant sur la face arrière du RockPi 4. La carte imprimée du RockPi indique un rectangle blanc, dont un coin est mis en avant. C’est le détrompeur et doit correspondre au coin tronqué du module mémoire. Une fois les connecteurs alignés, il suffit d’appuyer jusqu’à ce que le module soit immobilisé et droit sur la carte :

Module mémoire eMMC sur le RockPi 4 C

Ensuite, il faut connecter la nappe FPC à l’adaptateur M.2 vers FPC :

Montage de l'adaptateur FPC - M.2 sur le Rock Pi 4 modèle C
Assemblage de l'adaptateur FPC - M.2 sur le Rock Pi 4 modèle C

Le sens de la nappe est important. Une fois correctement clipsé, il ne reste plus qu’à verrouiller.

Après, il faut connecter l’adaptateur au RockPI :

Montage de l'adaptateur FPC - M.2 sur le Rock Pi 4 modèle C
Assemblage de l'adaptateur FPC - M.2 sur le Rock Pi 4 modèle C

Maintenant, les grandes vis. Les grandes vis permettent d’espacer et de maintenir le chapeau avec le RockPi 4 :

Montage des vis sur le Rock Pi 4 modèle C
Assemblage des vis sur le Rock Pi 4 modèle C

L’adaptateur M.2 vers FPC est maintenu grâce à deux écrous venant se fixer sur les vis :

Montage des écrous sur le Rock Pi 4 modèle C
Assemblage des écrous sur le Rock Pi 4 modèle C

L’astuce étant de ne pas visser complètement les vis et de faire en sorte que le pas de vis ressorte légèrement de l’écrou (assez pour que l’écrou tienne). Le verrouillage sera fait en vissant avec la face du dessous du boîtier.

Nous allons maintenant placer le RockPi 4 sur la face du dessous du boîtier, c’est-à-dire le dissipateur. Il est possible de profiter de cette étape pour placer les tampons sous le dissipateur :

Montage des tampons sous le base du NAS
Assemblage des tampons sous le base du NAS

Ensuite, il suffit de placer le RockPi4 sur le dissipateur et de serrer les grandes vis installées plus tôt :

Mise en place de la base du NAS

Vissez les deux autres grandes vis pour finaliser la fixation du RockPi 4 au dissipateur :

Montage et vissage de la base au Rock Pi 4 C
Assemblage et vissage de la base au Rock Pi 4 C

Il n’y a pas besoin de pâte thermique sur le CPU, le dissipateur ne fait pas pression, ni contact (il y a un jeu de moins d’un dixième de mm).

Le RockPi 4 est prêt à recevoir son chapeau. Pour commencer, reliez le chapeau à la nappe :

Montage du chapeau Penta SATA au Rock Pi 4
Assemblage de la nappe connectant le chapeau Penta SATA au Rock Pi 4
Vérrouillage de la nappe connectant le chapeau Penta SATA au Rock Pi 4

Encore une fois, le connecteur doit bien être inséré et verrouillé (le verrouillage permet d’indiquer si la nappe est bien insérée).

Vous pouvez alors placer le chapeau au-dessus du RockPi 4 et connecter les connexions GPIO :

Mise en place du chapeau Penta SATA sur le Rock Pi 4

Le tout est fixé grâce à quatre petites vis grises :

Vissage du chapeau Penta SATA au RockPi 4

Une astuce étant de replier la nappe entre le RockPi et le chapeau, afin de faciliter la mise en place du boîtier.

Astuce avec la nappe FPC pour le montage du NAS

Maintenant que le chapeau est en place, il faut préparer les disques qui viendront se loger dans le NAS.

Pièces pour le montage des disques

Pour ce guide, seul un disque sera mis en place. Le montage des autres est similaire : il suffit de placer les disques, entre les plaques et de les maintenir grâce aux petites vis (quatre par disque).

Évidemment, il faut placer tous les disques dans le même sens. Par contre, le sens choisi n’a pas vraiment d’importance dans le reste du montage.

Montage du disque dans l'armature
Montage du disque dans l'armature

Placez les disques sur le RockPi afin de connaître dans quel sens fixer la carte avec le ventilateur. Celle-ci se visse avec quatre petites vis noires.

Déconnectez les disques du RockPi 4 pour visser la carte ventilateur sur l’armature maintenant les disques.

Montage du ventilateur sur l'armature des disques

Avant de placer les disques sur le RockPi 4, vous devez connecter le câble reliant la carte supérieure au chapeau. Le connecteur de ce câble possède un détrompeur.

Montage du cable d'alimentation du ventilateur
Assemblage du cable d'alimentation du ventilateur

Ensuite, placez les disques sur le chapeau du RockPi 4 et connectez le câble.

Vous pouvez tortiller le câble afin qu’il ne dépasse pas trop du montage. Cela facilitera la mise en place du boîtier par la suite.

Montage des disques sur le chapeau du Rock Pi 4
Montage des disques sur le chapeau du Rock Pi 4

Le montage de l’électronique est terminé. Il ne reste plus qu’à placer la boîte métallique pour couvrir et protéger votre RockPi 4 et vos disques.

En faisant glisser le boîtier jusqu’en bas, vous remarquerez un décalage avec la base (dissipateur). Pour enlever ce décalage, faites entrer le connecteur Jack dans le trou du boîtier. Tant que celui-ci n’est pas correctement placé, vous ne pourrez pas le visser.

Vissez les quatre grandes vis sous le dissipateur afin de maintenir le boîtier en place :

Boîtier du NAS assemblé

Pour finir le montage, il suffit de placer la face supérieure acrylique sur le dessus du boîtier et de la visser :

Face supérieure du boîtier

Vous avez terminé ! Vous pouvez brancher et commencer à jouer avec votre RockPi 4 :

Le NAS à base de RockPi 4 est prêt !

II-B-1. Tests

Afin de vérifier que le montage s’est bien passé et que le matériel fonctionne correctement, vous pouvez utiliser les commandes suivantes :

  • i2cdetect -y 1, outil provenant du paquet i2c-tools. Le résultat doit être le suivant :

     
    Sélectionnez
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  • fdisk -l ou lsblk pour lister les disques et partitions reconnus.

II-C. Remarques

II-C-1. Changer les disques

Contrairement à des solutions classiques (où à la solution avec un boîtier séparé proposée par Radxa), le changement de disque demande un démontage partiel du NAS. Pour pouvoir modifier la configuration, il faudra :

  • dévisser les quatre vis de la base ;
  • enlever le boîtier ;
  • déconnecter le câble reliant le chapeau à la carte supérieure ;
  • déconnecter les disques en soulevant l’armature ;
  • changer la configuration des disques en les plaçant/enlevant de l’armature ;
  • reconnecter les disques ;
  • reconnecter le câble reliant la partie supérieure au chapeau ;
  • replacer le boîtier ;
  • revisser la base.

II-C-2. Carte SD

En observant bien le boîtier, on remarque qu’il n’y a pas de fente pour la carte SD. En effet, le lecteur de carte SD est rendu inaccessible par la nappe FPC. Cette dernière passe devant le lecteur de carte SD.

Aussi, on pourrait penser qu’il suffit d’installer la carte SD avant le montage, mais celle-ci gênera la mise en place du boîtier.

Aussi, le port USB-C n’est pas exposé. Sachant que celui-ci permet l’alimentation du Raspberry Pi, cela est plutôt logique, car le chapeau possède sa propre entrée 12 V, pour l’alimentation.

II-C-3. Apparence

On remarque que par défaut, le bouton est placé du côté des connectiques. Il m’aurait semblé plus logique de le placer du côté des LED des disques, même si finalement, c’est équivalent et que l’utilisateur peut reconfigurer le sens d’affichage de l’écran OLED.

III. Préparer le système

Comme nous l’avons vu dans la partie précédente, il est nécessaire de préparer le système avant de placer le boîtier. En effet, une fois le NAS assemblé, vous n’aurez plus accès au lecteur de carte microSD intégré au RockPi.

Plusieurs choix s’offrent à vous :

  • utiliser un adaptateur eMMC vers microSD afin de copier le système sur le module grâce à un PC. Évidemment, dans ce cas, il faut avoir un PC avec un lecteur de carte microSD ou un adaptateur microSD vers USB.
    Toutefois, avec cette méthode, la copie est simple et peut se faire avec un logiciel tel que Etcher, ou dd (exemple : sudo dd bs=1M if=your_image_file_name.img of=/dev/mmcblk0) ;
  • utiliser une carte microSD sur laquelle vous installez le système voulu. Une fois le Rock Pi 4 démarré grâce à la carte microSD, vous pouvez utiliser le système pour copier une image dans le module eMMC.

III-A. Quel système

Comme on peut le voir sur cette page, l’équipe autour du RockPi 4 propose leur propre image des systèmes suivants :

  • Android 10 ;
  • Ubuntu Server 20.04 ;
  • Debian 9 (Stretch).

Il est à noter que les systèmes compatibles avec le modèle C, ne sont pas nécessairement compatibles avec les modèles A et B.

Aussi, certaines distributions supportent le RockPi 4 de manière indépendante. Ainsi, vous retrouverez :

  • Armbian (Stretch ou Buster) ;
  • Manjaro ;
  • Recalbox ;
  • LibreELEC ;
  • DietPi ;
  • SlackWare ARM ;
  • FreeBSD 13.

Évidemment, le choix dépend de votre besoin et de vos préférences. Toutefois, dans le cadre d’utilisation dans un NAS, Android n’est pas un bon candidat. Aussi, il faut savoir que le script permettant de contrôler la carte supérieure (avec le ventilateur et l’OLED) est officiellement supporté sous Armbian, Debian et Ubuntu (distribué sous la forme d’un paquet .deb). Comme son code est disponible sur GitHub et repose sur Python, il n’est pas difficile de l’installer sur d’autres systèmes Linux. Par contre, cela ne sera pas le cas avec Android.

L’autre aspect à prendre en compte est l’utilisation en tant que NAS. Notamment, dans la suite de ce dossier, nous mettons en place la solution de NAS grâce à openmediavault. Cette solution repose sur Debian et n’est donc disponible que pour cette distribution. De plus, openmediavault est proposée en version 4 (datant de 2018) pour Debian Stretch et en version 5 pour Debian Buster. Le script d’installation ne supportant que ces deux variantes, on privilégiera donc l’utilisation d’une Debain Buster pour être à jour, soit la Armbian, disponible sur cette page (la version pour le modèle C est disponible ici).

III-B. Support du chapeau

Une fois le système installé, il faut ajouter le support du chapeau en exécutant cette commande :

 
Sélectionnez
curl -sL https://rock.sh/get-rockpi-penta | sudo -E bash -

Pour information, cela installe, les paquets : libmraa, rockpi4-dtbo, unzip, gcc, python3-dev, python3-setuptools, python3-pip, python3-pil, puis le service penta-hat.service (disponible à cette adresse) ainsi que l’outil pour communiquer avec l’écran présent sur la carte supérieure (SSD1306).

Une fois l’installation terminée, il suffit de redémarrer pour que l’écran OLED et le ventilateur s’allument.

Le code source du service gérant la carte supérieure est disponible sur Github.

III-B-1. Affichage par défaut

Par défaut, le service affiche en alternance de dix secondes, trois pages d’informations :

  • le temps d’allumage (uptime), la température du CPU et l’adresse IP ;
  • la charge CPU et mémoire du système ;
  • l’utilisation en pourcentage de l’espace de stockage du disque système.

III-B-2. Configuration

Le service repose sur le fichier de configuration : /etc/rockpi-penta.conf. À partir de celui-ci, il est possible de changer la vitesse du ventilateur suivant la température, la fonction du bouton (suivant un appui court, un appui long et un double appui), le temps permettant de différencier un appui long d’un court, si le service alterne parmi les informations à afficher, combien de temps il affiche chaque page d’information, le sens de l’affichage (rotation de 180°) ainsi que l’unité à utiliser pour la température.

III-B-3. Personnalisation

Avec le code source à disposition sur GitHub, il est simple de comprendre et de modifier le comportement du chapeau.
Notamment, on remarque que les scripts sont en Python et sont installés dans le dossier /usr/bin/rockpi-penta/. Plus précisément, on y trouve les fichiers :

  • fan.py : pour contrôler la vitesse du ventilateur ;
  • main.py : pour lancer les threads gérant le chapeau ;
  • misc.py : une multitude de fonctions, gérant le fichier de configuration, la récupération des informations sur les disques…
  • oled.py : les fonctions gérant ce qui est affiché à l’écran.

À titre d’exemple, il est possible d’afficher l’heure sur une nouvelle page en modifiant la fonction gen_pages() du fichier oled.py. Voici le code à ajouter :

 
Sélectionnez
        3: [
            {'xy': (0, 2), 'text': datetime.now().strftime("%H:%M:%S"), 'fill': 255, 'font': font['12']},
        ],

Il est nécessaire d’ajouter l’import à datetime pour que cela fonctionne.

III-C. Remarques

III-C-1. Debian 9

Voici quelques remarques par rapport à la distribution Debian 9 fournie officiellement par Radxa.

III-C-1-a. Connexion

La connexion par défaut s’effectue avec le couple linaro/linaro. Le compte linaro a les droits sudo.

III-C-1-b. Paquets

Les clés pour les dépôts officiels ne sont plus à jour. Comme indiqué sur cette page, vous pouvez les mettre à jour avec la commande suivante :

 
Sélectionnez
wget -O - apt.radxa.com/stretch/public.key | sudo apt-key add -
III-C-1-c. Extinction

Lors d’un arrêt de la machine (commande poweroff), la machine reste allumée (LED bleues du chapeau toujours allumées). Il ne semble pas qu’elle s’arrête complètement.

III-C-2. Armbian Buster

Armbian est une distribution reposant sur Debian dédiée à tous les nano-ordinateurs (au contraire de Raspbian qui est spécialisée dans le support du Raspberry Pi).

III-C-2-a. Première connexion

Par défaut, la connexion se fait avec le compte root et le mot de passe 1234.
À la première connexion, vous serez forcé de changer le mot de passe root et de créer un compte utilisateur.

III-C-2-b. Installation sur le module eMMC

L’équipe de Armbian propose un outil nommé nand-sata-install (installé par défaut) pour installer le système sur un modèle eMMC (ou même installer les fichiers de démarrage sur le module et le reste du système sur disque en SATA). Une fois lancé, le programme propose une interface dans la console pour installer le système et utiliser le système de fichiers de votre choix.

L’outil effectue une copie de la carte SD vers la destination. Cela veut dire que si vous avez modifié le système présent sur la carte SD, vos modifications sont conservées.

IV. Transformer le RockPi en NAS

Maintenant que le RockPi 4 est monté, qu’un système d’exploitation fonctionne et que nos disques sont reconnus, nous pouvons le transformer en NAS.
Pour ce faire, trois choix sont possibles :

  • une mise en place facilitée grâce au projet openmediavault ;
  • une configuration au travers de l’interface Web Webmin, reflétant les fichiers de configuration des services ;
  • une mise en place manuelle.

IV-A. Openmediavault

Openmediavault est un projet open source, basé sur Debian permettant de déployer facilement une solution de type NAS. Le but est de permettre d’administrer un NAS sans pour autant avoir besoin de connaissance étendue en la matière.

IV-A-1. Installation

Par défaut, openmediavault est distribué sous la forme d’une image disque permettant l’installation du système (comme on le ferait avec Debian). Toutefois, dans le cas du RockPi 4, cela n’est pas possible, entre autres, car nous avons déjà un système en place, que l’ISO n’est distribuée que pour les systèmes x86 64 bits et que rien n’est prévu pour supporter notre nano-ordinateur. En bref, nous devons installer les logiciels à la main.

La communauté propose un script permettant l’installation d’openmediavault sur les nano-ordinateurs supportés par Armbian (Buster et Stretch). Ainsi, l’installation se fait en lançant cette commande :

 
Sélectionnez
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Globalement, le script ajoute la clé du dépôt de paquet Debain d’openmediavault, installe postfix, monit, openmediavault et les plugins (omv-extras), le plugin flashmemory et applique quelques éléments de configuration par défaut.

Une fois l’installation finalisée, vous pouvez redémarrer votre NAS.

Une fois openmediavault installé, vous ne pourrez plus vous connecter à SSH avec l’utilisateur de base. En effet, openmediavault n’accepte un utilisateur par SSH que s’il est dans le groupe ssh, ce qui n’est pas le cas par défaut. Il faudra donc ajouter l’utilisateur au groupe ssh par le biais de l’interface Web ou, en exécutant la commande suivante juste après l’installation :

 
Sélectionnez
sudo usermod -a -G ssh user

Ce problème apparaît avec la distribution officielle Debian 9 de Radxa, mais pas avec Armbian Buster.

IV-A-2. Premier pas

openmediavault est avant tout une interface Web de gestion de votre NAS. Vous pourrez donc vous connecter à cette interface, à l’aide de votre navigateur, simplement en utilisant l’adresse IP du RockPi 4.

Page de connexion d'openmediavault

L’identifiant et le mot de passe par défaut sont : admin/openmediavault

Une fois connecté, on arrive sur un tableau de bord, personnalisable, qui par défaut affiche les informations du système ainsi que les services configurés.

Page principale d'openmediavault

Sur la colonne de gauche, on retrouve le menu principal, en haut, une barre de navigation, avec un menu déroulant permettant de réinitialiser les paramètres par défaut, changer la langue, de se déconnecter ou d’arrêter/redémarrer la machine.

IV-A-3. Tour d’horizon

Les options de configurations sont disposées en cinq catégories :

  • Système ;
  • Stockage ;
  • Gestion des droits d’accès ;
  • Services ;
  • Diagnostiques ;
  • Informations.
IV-A-3-a. Système

Dans la catégorie « Système », l’administrateur pourra configurer les paramètres généraux, c’est-à-dire : le port utilisé par l’interface Web, le temps avant la déconnexion automatique de l’utilisateur et les options pour mettre en place un accès utilisant le protocole HTTPS :

Premier onglet des paramètres généraux d'openmediavault

Le deuxième onglet « Sécurité Administrateur » permet simplement de changer le mot de passe de l’administrateur.

Second onglet des paramètres généraux d'openmediavault

Ensuite, la section « Date & Heure » permet simplement de configurer l’heure et le serveur NTP :

Page de configuration de la date d'openmediavault

La section « Réseau » est décomposée en cinq onglets :

  • Général : pour changer le nom de l’hôte et le nom de domaine ;
  • Interfaces : pour configurer les interfaces réseau ;
  • Proxy : pour définir des proxy (HTTP, HTTPS et FTP) ;
  • Découverte des services : pour activer et désactiver la découverte des services hébergées sur le NAS ;
  • Pare-feu : pour définir les règles du pare-feu.
Page de configuration du pare-feu d'openmediavault

Avec openmediavault 4, les interfaces réseau, pourtant reconnues d’après le tableau de bord, n’apparaissent pas dans la liste de l’écran de configuration. Vous pouvez les ajouter manuellement, obligatoire pour configurer certains services, toutefois, l’ajout a toujours résulté en un échec.
Avec openmediavault 5, les interfaces sont correctement disponibles.

La section «  Notification » permet de configurer, d’une part, les paramètres SMTP pour l’envoi des notifications, d’une autre part, quelles notifications vous souhaitez recevoir.

Page de configuration du SMTP d'openmediavault

Pour les catégories de notification, on ne peut qu'activer ou désactiver de les recevoir. On ne peut pas configurer les conditions déclenchant l’envoi…

La section « Gestion de l’énergie » permet de configurer si l’état du système doit être surveillé et quelle action se passe lors de l’appui sur le bouton d’alimentation. Évidemment, sur le RockPi, cette option n’a pas d’intérêt.
Un second onglet, « Tâches planifiées » permet de configurer des moments de veille ou de programmer des redémarrages ou arrêts du système.

Configuration d'une tâche planifiée dans openmediavault

La section « Surveillance » permet d’activer la collecte périodique des statistiques de performance du système.

La section « Certificats » permet d’ajouter des certificats SSH et SSL.

La section « Tâches planifiées » permet de configurer les tâches planifiées.

Configuration d'une tâche planifiée dans openmediavault

La section « Gestionnaire de mises à jour » permet de récupérer les mises à jour et les installer. Pour cela, openmediavault offre une interface donnant quelques détails sur les paquets prêts à être mise à jour.

La section « Plugins » permet d’accéder aux modules de la communauté afin d’ajouter des fonctionnalités à openmediavault.

Page de configuration des modules d'openmediafault

La section « OMV-Extras » permet d’ajouter, mettre à jour et activer des dépôts de plugins supplémentaires.
Avec la version 5 d’openmediavault, la section « OMV Extras » intègre deux nouveaux onglets : le premier permet d’installer ou de désinstaller docker ainsi que les logiciels permettant de gérer les containers : portainer et yacht. Le dernier onglet permet d’installer cockpit (Site officiel), une solution de publication de contenu sans interface.

Page de configration de Docker dans openmediafault

IV-A-4. Stockage

La catégorie « Stockage » permet de gérer les disques du système, le RAID, les systèmes de fichiers et les indicateurs S.M.A.R.T. La première section « Disques » recense les périphériques de stockage connectés à l’appareil :

Liste des disques connectés au système

En double cliquant sur un disque, vous pouvez configurer les propriétés suivantes :

  • la gestion avancée de l’énergie ;
  • la gestion acoustique automatique ;
  • le temps de ralentissement ;
  • le cache en écriture.

Ensuite, l’utilisateur peut trouver la section des indicateurs S.M.A.R.T. Celle-ci est décomposée en trois onglets :

  • les paramètres, pour activer la vérification des indicateurs, définir l’intervalle de vérification et dans quelles conditions le système peut effectuer une vérification (par exemple, interdire la vérification si le disque est en veille), ainsi que définir la surveillance des températures ;
  • les périphériques, listant les périphériques pour lesquels la surveillance est activée et permettant aussi d’obtenir les journaux des tests et la valeur des indicateurs ;
  • les tests programmés, permettant de gérer et lancer des tests des disques.

Il n’est possible de lancer un test que si la surveillance est active pour le disque et qu'en créant un test programmé (que vous pouvez lancer manuellement).

Arrive la section de « Gestion du RAID ». Plus simple, elle permet de créer, agrandir, supprimer et récupérer vos RAID.

Suit la section « Systèmes de fichiers » permettant d’avoir un tableau récapitulatif des systèmes de fichiers disponibles sur votre NAS. À partir de cette interface, il est possible de créer, redimensionner, mettre un quota, monter, démonter et supprimer un système.

Si vous montez votre partition avec openmediavault, il sera disponible dans le répertoire /srv/.

Finalement, une section dédiée à la mémoire Flash :

Page de configuration de la mémoire Flash

IV-A-5. Gestion des droits d’accès

La troisième catégorie concerne la gestion des utilisateurs, des groupes et des dossiers partagés. D’abord, la section « Utilisateur » permet d’avoir un tableau énumérant les utilisateurs du système :

Page de configuration des utilisateurs dans openmediavault

En double cliquant sur un utilisateur (ou en utilisant le bouton « Modifier »), il est possible de le renommer, de changer son mot de passe et son shell et de changer ses groupes et de lui définir des clés publiques.
Un bouton « Privilèges » permet de définir des droits en lecture et/ou écriture aux dossiers partagés.

La section propose un onglet « Paramètres » dans lequel il est possible d’activer les répertoires personnels des utilisateurs et d’indiquer leur emplacement.

Pour qu’un utilisateur puisse se connecter à SSH, il doit être dans le groupe ssh.

La section « Groupe » permet de gérer les groupes non système créés et d’y ajouter les utilisateurs. Les privilèges d’accès aux dossiers partagés peuvent aussi être configurés au niveau des groupes.

Finalement, la section « Dossiers partagés » permet de configurer les dossiers utilisables par les services tels que SMB, FTP ou NFS. La création est simple, il suffit de spécifier son nom et son emplacement sur l’espace de stockage. Ensuite, vous pourrez configurer les droits pour chaque utilisateur ainsi que les listes de contrôles d’accès (ACL).

Page de configuration des dossiers partagés dans openmediavault
Page de configuration des ACL dans openmediavault
Page de configuration des privilèges des dossiers partagés dans openmediavault

IV-A-6. Services

La catégorie « Services » permet de configurer les services FTP, NFS, Rsync, SMB/CIFS et SSH. Chacun de ces services possède sa propre page de configuration.

Pour le service FTP, l’utilisateur a accès aux quatre onglets suivants :

  • Paramètres : pour configurer le port, le nombre de clients maximum, le nombre de connexions par hôte, le nombre de tentatives de connexion, le délai d’inactivité, le message de bienvenue, mais aussi des éléments avancés, tels que l’activation du protocole FXP, l’autorisation de reprise de téléchargement, le FTP passif, la restriction de bande passante…
  • SSL/TLS : les paramètres liés au support du chiffrement de la connexion ;
  • Liste d’interdictions : permet de configurer des règles pour rejeter des connexions ;
  • Partages : pour configurer les dossiers partagés, accessibles depuis FTP.

La configuration du service NFS est plus simple. En effet, openmediavault ne permet que d’activer/désactiver le service et de configurer le nombre de threads à utiliser et dans un second onglet, de configurer les dossiers partagés.

La section « Rsync » offre une interface pour créer des tâches de synchronisation (descendant et montant, local et distant) et de configurer le serveur ainsi que les dossiers exposés par le NAS au travers de ce service.

La configuration du service SMB/CIFS s’étale sur deux onglets. Le premier permet de configurer les paramètres du service (activation du serveur, support de WINS, journalisation…) alors que le second permet de configurer les partages.

Finalement, la configuration du service SSH s’effectue sur une unique page, permettant de manipuler les options les plus courantes du logiciel :

Page de configuration du serveur SSH dans openmediavault

IV-A-7. Diagnostiques

La catégorie « Diagnostiques » offre l’accès au tableau de bord, aux informations système, aux journaux et à l’état des services.
Plus précisément, les informations système offrent une vue d’ensemble récapitulative de l’état du système :

Page d'informations sur le système dans openmediavault

L’onglet processus permet d’afficher le résultat de la commande top alors que l’onglet « Statistiques performance » permet d’avoir des graphiques à propos des différentes ressources du système sur la durée :

Page des graphes d'utilisation du système dans openmediavault

Le dernier onglet « Rapport » permet de générer un rapport, téléchargeable, contenant une multitude d’informations sur le système : description du système, fichiers de configuration, règle du pare-feu…

La section « Journaux système » permet évidemment de lire les journaux du système, mais aussi de configurer un syslog distant :

Page de visialisation des journaux dans openmediavault

La section « Services » permet d’avoir une vue d’ensemble de l’état des services (FTP, NFS, SSH…) mais aussi un détail des connexions en cours pour les services SSH, SMB et FTP.

IV-A-8. Information

La catégorie « Information » permet d’accéder à la section « À propos » de openmediavault et d’accéder à des liens de support (documentation, forums…) ainsi qu’à un lien pour faire des dons.

IV-A-9. Mise en place du RAID

La mise en place du RAID est simplifiée par l’interface Web d’openmediavault. Dans la section « Gestion du RAID », il suffit de créer le RAID, de lui donner un nom, la politique à appliquer et de sélectionner les disques intégrant ce RAID.

openmediavault utilise les appellations suivantes :

  • Linéaire pour du JBOD ;
  • Stripe pour du RAID 0 ;
  • Mirror pour du RAID 1 ;
  • Stipped Mirror pour du RAID 10.

Dans ce tutoriel, j’utilise deux disques. Un de récupération d’un vieux PC portable et un disque 3,5 pouces, X300 de Toshiba testé dans cet article.

Il est possible que votre disque ne soit pas listé pour la création du RAID (alors qu’il l’est dans la section « Disques ». Certainement vous aviez déjà utilisé ce disque auparavant et il est nécessaire de supprimer le premier méga-octet du disque pour que openmediavault veuille le prendre en compte.

Cela peut se faire avec la commande suivante :

 
Sélectionnez
dd if=/dev/zero of=/dev/sdX count=2048

Ne le faites, que si les données du disque ne vous sont plus utiles, car vous les perdrez.

Création d'un RAID

Une fois le RAID en place, il faut formater l’espace disque nouvellement exposé. Dans la section « Systèmes de fichiers », cliquez sur le bouton « Créer » pour mettre en place une nouvelle partition :

Création d'une partition pour le RAID dans openmediavault

Par défaut, le système propose : ext4, ext3, JFS, XFS, F2FS et BTRFS.

Finalement, montez votre nouvelle partition afin de la rendre accessible comme source pour les dossiers partagés.

IV-A-10. Mise en place d’un dossier partagé

Sans dossier partagé, vous ne pourrez pas accéder à l’espace disque disponible sur le NAS. Il faut donc créer au moins un dossier partagé, dans la section éponyme.

Pour pouvoir créer un dossier partagé, il faut que la partition où vous souhaitez le placer soit montée (montage réalisable dans la section « Systèmes de fichiers »).

Un dossier partagé peut avoir comme source n’importe quelle partition reconnue par le système du NAS et pas nécessairement un RAID. Un module permet d’exposer la partition du système.

La création se résume à la spécification du nom, de la partition où placer le dossier partagé, du chemin (si vous ne souhaitez pas que le dossier soit à la racine) et des permissions :

Création d'un dossier partagé dans openmediavault
IV-A-10-a. Partage

Pour rendre l’espace de stockage disponible au travers du réseau, il ne reste plus qu’à activer le service souhaité (SMB, NFS, FTP…) et d’ajouter le dossier partagé dans la liste des partages pour ce service :

Ajout d'un partage SMB dans openmediavault
IV-A-10-b. rsync

rsync permet de synchroniser des données entre plusieurs postes. rsync possède deux modes : un mode client ou un mode serveur auquel les clients se connectent. Ces deux modes permettent aussi bien d’envoyer que de recevoir des données.

Dans rsync, les dossiers partagés sont appelés « modules ».

La configuration en mode client consiste à définir des tâches pour récupérer ou envoyer des fichiers (locaux ou distants), qui sont intégrés à cron afin de les répéter régulièrement.

Configuration du client rsync dans openmediavault

Lorsque vous spécifiez le serveur, vous pouvez aussi bien spécifier un serveur rsync, ou un serveur SSH.

La configuration du serveur est plus simple, dans le sens où il n’y a que les dossiers (modules) pouvant être synchronisés à définir. Il est possible de protéger l’accès à un module donné en utilisant un utilisateur du NAS et un mot de passe (qui lui, est propre à cette utilisation). Ensuite, c’est aux clients de s’y connecter pour synchroniser les fichiers.

Configuration d'un serveur rsync dans openmediavault

IV-A-11. Modules

openmediavault propose quelques modules permettant d’ajouter des fonctionnalités directement dans l’interface Web. Cette section détaille quelques-uns d’entre eux.

IV-A-11-a. Serveur DLNA

Un serveur DLNA permet de partager vos médias (images, musiques, vidéos) sur le réseau. Ainsi, votre télévision connectée ou votre téléphone (avec VLC, par exemple) pourra lire ces médias.
Un module openmediavault fournit une interface pour le serveur minidlna. Comme pour les autres serveurs, vous avez accès à une page de configuration et une page de partage :

IV-A-11-b. Let’s Encrypt

Le plugin Let’s Encrypt permet de générer des certificats afin de permettre une connexion en HTTPS à votre serveur.

La première étape est d’ajouter le ou les domaines pour lesquels vous avez besoin d’un certificat :

Page de configuration de Let's Encrypt dans openmediavault

Mais, si vous lancez la génération d’un certificat immédiatement, l’opération échouera. Il est obligatoire de remplir les champs « Mél » et « Nom du certificat » de l’onglet « Paramètres » :

Page des paramètres de Let's Encrypt dans openmediavault

Les certificats Let’s Encrypt ne sont valides que trois mois. Il est heureusement possible de les renouveler automatiquement.

IV-A-11-c. OpenVPN

Le module OpenVPN vous permet de configurer un serveur VPN sur votre NAS afin d’établir une connexion sécurisée entre votre client et le serveur.

La configuration est répartie sur deux onglets : paramètres et certificats. Le premier permet l’activation et la configuration d’OpenVPN. Notamment, il faudra préciser l’interface réseau de passerelle, ou encore, l’adresse publique.
Le second onglet permet de créer des certificats afin de permettre tel ou tel utilisateur de se connecter au VPN. Il faudra donc installer le certificat ainsi généré sur le poste du client.

Avec openmediavault 4, il est impossible de lancer le serveur VPN, car l’appel au programme iptables est incorrect.

Pour que la génération des certificats fonctionne, il faut d’abord configurer et démarrer le service OpenVPN et surtout prendre soin de sauvegarder les changements avant de tenter une génération. Autrement, vous obtiendrez l’erreur mentionnée dans ce ticket.

IV-A-11-d. dnsmasq/PXE/TFTP

Avec le combo dnsmasq (serveur DHCP), PXE et TFTP, vous pouvez mettre en place une solution de démarrage par le réseau sur le NAS, comme expliqué dans cet article.

Chaque module propose ainsi une entrée correspondante dans la catégorie « Services » (dnsmasq ajoute une section nommée « Local DNS/DHCP »). L’interface de configuration de dnsmasq est classique et propose des onglets pour configurer les adresses IP ainsi attribuées, un onglet pour définir des IP attribuées statiquement et un dernier onglet pour lister les IP attribuées.

Page de configuration de dnsmasq dans openmediavault

Pour le module PXE, l’utilisateur est entièrement guidé. Le premier onglet sert simplement à définir le dossier partagé à partir duquel le serveur travaille. Le deuxième onglet permet de définir les entrées du menu fourni par le serveur PXE. Le troisième onglet permet d’installer des images disques. Le dernier onglet offre des informations sur comment configurer les autres services (DHCP/DNS/TFTP) :

Page d'aide pour PXE dans openmediavault

Pour finir, le service TFTP se configure en une page pour activer le serveur et configurer son dossier partagé :

Page de configuration du serveur TFTP dans openmediavault

Avec openmediavault 5, il n’y a plus le module lié à PXE ni celui de dnsmasq. Par contre, cela laisse ainsi l’utilisateur choisir la solution qu’il souhaite (iPXE ou SYSLINUX).

IV-A-11-e. Backup
IV-A-11-e-i. Système

Un module ‘openmediavault-backup’ permet de sauvegarder le système (sans les données). Ce module affiche une page de configuration dans la catégorie « Système » :

Page de configuration d'une sauvegarde des paramètres dans openmediavault

Il est aussi possible de créer des tâches planifiées pour cette sauvegarde.

IV-A-11-e-ii. Duplicati

Le module duplicati ajoute une page de configuration dans la section « Services ». Cette page ne permet que de lancer un serveur Web. En ouvrant une page pour vous connecter à ce nouveau serveur, vous obtiendrez :

Page d'accueil de Duplicati

Évidemment, la première chose est d’ajouter une sauvegarde. En démarrant le processus pour ajouter une sauvegarde, l’utilisateur est guidé par une interface décomposée en étapes.

Les sauvegardes sont chiffrées et l’utilisateur doit donc garder son mot de passe précautionneusement. Une fois la sauvegarde en place, c’est-à-dire, après avoir configuré la destination (celle-ci peut être un service de stockage dans le nuage), la source (les dossiers à sauvegarder), la fréquence de sauvegarde et les options de la sauvegarde (comme combien de temps garder les sauvegardes), il devient alors possible de lancer la sauvegarde ou encore, de restaurer une sauvegarde.

IV-A-11-f. Fail2ban

Fail2ban est un service scrutant les logs de connexion des serveurs installés sur la machine afin de détecter et bannir les adresses IP malveillantes. Grâce aux journaux, le service peut savoir quelles sont les adresses IP ayant tenté de se connecter au serveur et ayant échoué (généralement, pour cause de mauvais identifiant).

Le module Fail2ban permet de configurer le service éponyme au travers de deux onglets : paramètres et prisons. Sans surprise, le premier onglet permet d’activer le service et de configurer les principaux paramètres :

Page de configuration de fail2ban dans openmediavault

Alors que l’onglet des prisons permet de configurer les règles permettant la détection des connexions échouées :

Page de configuration de fail2ban dans openmediavault
IV-A-11-g. Downloader

Le service « Downloader » repose sur curl, aria2 et youtube-dl. Grâce à cette interface, vous pourrez télécharger des fichiers et vidéos grâce à votre NAS.

Même si le module peut être intéressant, il existe quelques défauts :

  • on ne voit pas la progression du téléchargement ;
  • le nom du fichier est obligatoirement à remplir par l’utilisateur ;
  • la taille du fichier n’est connue que lorsque le fichier est téléchargé.
Liste des téléchargements dans openmediavault

Le module offre aussi un onglet pour téléverser des fichiers sur le NAS.

Lors de mes tests, je n’ai pas réussi à faire fonctionner le téléchargement grâce à youtube-dl.

IV-A-12. Remarques

Avec openmediavault 5, il est possible de configurer des ponts réseau.

Après avoir ajouté un dossier partagé exposé au travers de SAMBA pour l’utilisateur créé lors de la mise en place de Armbian, j’ai été obligé de redéfinir son mot de passe dans la gestion des utilisateurs de openmediavault, sans quoi l’authentification échouait.

Dans openmediavault 5, il n’y a plus de module pour la configuration d’un PXE ni de dnsmasq. Par contre, il y a un nouveau module permettant de créer des cibles iSCSI.

L’affichage des erreurs d’openmediavault reprend le design du classique Guru Meditation de l’Amiga :

Page d'erreur d'openmediavault

IV-B. Webmin

Webmin est une interface Web permettant d’administrer une machine Unix. Webmin facilite la modification des fichiers de configuration de Linux et des services en présentant des formulaires à remplir. De plus, cette solution couvre un large ensemble de services grâce au support de modules. Même si Webmin n’est pas conçu spécifique pour un NAS, elle offre tout de même le nécessaire pour configurer un tel serveur.

Même si Webmin facilite l’édition des fichiers de configuration des services du système, il est tout de même nécessaire de connaître ces derniers. Autrement dit, Webmin est surtout un outil à destination des administrateurs système.

IV-B-1. Installation

Webmin n’est pas présent dans les dépôts d’Armbian. Il faudra l’installer en récupérant le paquet pour Debian à partir de la page des téléchargements. Vous pouvez l’installer avec les commandes suivantes :

 
Sélectionnez
apt install libauthen-pam-perl libio-pty-perl libnet-ssleay-perl perl-openssl-defaults shared-mime-info
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.970_all.deb
dpkg -i ./webmin_1.970_all.deb

Selon les évolutions des versions de Webmin, le lien ci-dessus sera certainement invalide.

IV-B-2. Découverte

Une fois l’installation effectuée, l’utilisateur est invité de se connecter à l’adresse https://rockpi-4b:10000/ avec n’importe quel compte ayant accès à sudo ou directement avec le compte root.

Page de connexion de Webmin

La page principale présente les informations générales sur le système, l’utilisation des ressources de la machine sur 15 minutes, les connexions récentes, l’utilisation des disques et les interfaces réseau :

Page principale de Webmin

Sur la gauche est disposé le menu principal avec les différentes sections. En fin du menu, des boutons permettent de : replier le menu, passer en mode sombre, ouvrir un terminal, mettre en favori une page, accéder aux options d’affichage et de thème de l’interface, éditer les options de l’utilisateur et de se déconnecter.

Page principale de Webmin avec le mode sombre

Finalement, sur la droite l’utilisateur peut retrouver une cloche permettant d’accéder rapidement (et sur toutes les pages) aux informations (simplifiées) du système :

Panneau de droite de Webmin
IV-B-2-a. Tour d’horizon
IV-B-2-a-i. Webmin

La première catégorie disponible dans le menu concerne Webmin.
La première section permet de sauvegarder et de restaurer la configuration de Webmin et de ses modules :

Page de sauvegarde de la configuration de Webmin

Le deuxième onglet permet de lister les sauvegardes automatiques de la configuration et d’en créer de nouvelles. Le troisième onglet permet de restaurer la configuration.

La deuxième section permet de changer la langue, la locale et le thème utilisé. Ces options sont spécifiques à l’utilisateur en cours.

La troisième section permet d’effectuer des recherches dans les journaux de Webmin.

La quatrième section permet de configurer en détail le fonctionnement de Webmin, notamment, de le mettre à jour, d’en restreindre l’accès suivant les adresses IP, de modifier l’apparence ou encore, de mettre en place une nouvelle autorité de certification.

Page de configuration de Webmin

La cinquième section permet de rechercher d’autres serveurs utilisant Webmin.

La dernière section permet de gérer les utilisateurs spécifiques à Webmin.

IV-B-2-a-ii. Système

La catégorie « Système » permet de :

  • gérer les services au démarrage de la machine et d’en ajouter ;
  • changer les mots de passe des utilisateurs de la machine ;
  • lister et monter des partitions et systèmes de fichiers distants ;

    Liste des partitions vues par Webmin
    Configuration des points de montage avec Webmin
  • mettre en place des sauvegardes de fichiers ;

  • gérer la rotation des journaux ;

  • gérer les associations MIME des fichiers ;

  • gérer les authentifications grâce au service PAM ;

  • gérer les processus en cours d’exécution. Il est possible de les trier par utilisateur, utilisation mémoire, CPU, de rechercher un processus précis et d’exécuter un programme ;

  • gérer les tâches planifiées ;

  • gérer les mises à jour et d’en planifier ;

  • gérer les paquets ;

  • effectuer une recherche dans les documentations ;

  • voir les journaux du système et configurer un serveur syslog ;

  • gérer les utilisateurs et groupes.
IV-B-2-a-iii. Serveurs

Par défaut, la rubrique « Serveurs » ne contient que deux éléments :

  • une section pour lire les emails locaux ;
  • une section pour configurer le serveur SSH. La configuration est découpée en sous-parties :

    • authentification ;
    • réseau ;
    • contrôle d’accès ;
    • autres ;
    • options du client ;
    • initialisations des clés SSH de l’utilisateur ;
    • clé publique de l’hôte ;
    • et l’édition manuelle des fichiers.
Configuration de SSH dans Webmin
IV-B-2-a-iv. Outils

La rubrique « Outils » permet :

  • d’exécuter des commandes dans un terminal ;
Accès à un terminal dans Webmin
  • de créer de nouvelles commandes ;
  • d’accéder à un gestionnaire de fichiers (avec possibilité d’envoi, de téléchargement et de modifications des permissions)  ;
  • d’utiliser le serveur pour ouvrir des pages Web. L’ouverture d’une page ouvre un nouvel onglet avec lequel tout le trafic passe par le serveur ;
  • de gérer les modules Perl ;
  • de gérer des dossiers accessibles depuis Internet ;
  • d’ouvrir un client SSH (nécessite JAVA) ;
  • de surveiller le statut des serveurs installés sur le système ;
  • d’ouvrir un terminal dans le navigateur (nécessite la commande python) ;
  • de télécharger ou d’uploader un fichier ou même de télécharger un fichier à partir du serveur.
IV-B-2-a-v. Réseau

La rubrique réseau permet :

  • de surveiller l’utilisation de la bande passante ;
  • de configurer le pare-feu ;
  • de configurer le réseau (interfaces, routes, fichier hosts) ;
  • de configurer un client et un serveur NIS ;
  • de configurer un TCP wrapper.
IV-B-2-a-vi. Matériel

La rubrique « Matériel » permet :

  • de lister les espaces de stockage et les partitions ;
  • de configurer des imprimantes ;
  • de configurer la gestion du temps.
IV-B-2-a-vii. Cluster

La rubrique « Cluster » permet de gérer un parc de machines en un seul endroit. Pour cela, il faut que Webmin soit installé sur chacune des machines. Ainsi, on retrouvera des fonctionnalités déjà vues précédemment, mais dont la portée est étendue à plusieurs machines.

IV-B-2-a-viii. Modules non utilisés

La rubrique « Modules non utilisés » recense les modules qui n’ont pas pu être lancés. Chaque page indique la raison entraînant l’impossibilité de le lancer, généralement l’absence d’un fichier spécifique ou d’un exécutable. Certains modules proposent d’installer le paquet manquant pour régler le souci.

IV-B-3. Utilisation pour un NAS

Ce tour d’horizon a présenté les fonctionnalités de base de Webmin, ou autrement dit, les fonctionnalités disponibles sur une distribution fraîchement installée. Tel quel, Webmin n’offre pas les outils nécessaires pour utiliser et configurer le NAS. Pour obtenir de telle fonctionnalité, il nous faut activer les modules suivants :

Pour ce faire, il suffit d’installer les paquets nécessaires à chacun de ces paquets, opération réalisable avec la commande suivante :

 
Sélectionnez
apt install mdadm smartmontools samba nfs-kernel-server proftpd fail2ban

Une fois installé, vous pouvez utiliser la section « Actualiser les modules » pour passer les modules fraîchement activés dans leur section respective.

L’installation est aussi possible au travers de l’interface offerte par Webmin.

IV-B-3-a. Configuration du RAID

Dorénavant, vous pouvez trouver l’entrée « RAID Linux » dans la rubrique « Matériel ». Sans surprise, cela permet de créer et gérer vos RAID :

Page de configuration d'un RAID dans Webmin

La création vous emmène sur un formulaire dédié dans lequel l’utilisateur peut sélectionner les partitions à inclure dans la politique.

L’interface ne permet que de créer un RAID à partir de partitions. Par conséquent, il faut préparer les disques en créant une partition sur ceux-ci. La partition à créer doit être de type « Linux RAID ».

Une fois le RAID créé, il sera listé sur la page principale du module. Il faut maintenant créer une partition sur ce RAID pour pouvoir l’utiliser, en cliquant sur le bouton « Créer un système de fichiers de type : » :

Page de configuration du RAID dans Webmin

Finalement, il ne reste plus qu’à monter le RAID grâce au bouton « Montez le RAID sur : ». Celui-ci redirige vers la page de configuration d’un nouveau point de montage, avec le formulaire permettant de configurer toutes les options disponibles :

Page de création d'une partition pour le RAID dans Webmin
IV-B-3-b. Indicateurs S.M.A.R.T.

Toujours dans la rubrique « Matériel », vous trouverez la section « État du lecteur SMART ». Il est nécessaire de sélectionner un périphérique pour afficher ses données :

Page des indicateurs SMART dans Webmin

La vue complète du rapport affiche le résultat de la commande smartctl. Finalement, le module offre trois boutons pour lancer les trois tests d’autodiagnostiques.

IV-B-3-c. Samba

Le module « Samba Windows File Sharing » est placé dans la rubrique « Serveurs ». Sur la page principale, le module liste les partages en place et permet d’en configurer des nouveaux, de gérer les utilisateurs Samba et toutes les options du serveur.

Page de configuration de Samba dans Webmin

En plus des options globales au serveur, il est possible d’accéder à des options spécifiques aux dossiers partagés en cliquant sur un élément de la liste :

IV-B-3-d. NFS

Le module « NFS Exports » est quant à lui, disponible dans la rubrique « Networking ». Plus simples en termes d’options que le module Samba, seules la liste de partage et la possibilité d’en ajouter et d’en supprimer sont disponibles :

Page de configuration de NFS dans Webmin
IV-B-3-e. FTP

Le module « ProFTPD Server » est placé dans la rubrique « Serveurs ». Par défaut, l’utilisateur peut se connecter avec son compte, parcourir l’ensemble des dossiers du système et envoyer des fichiers.

Page de configuration du FTP dans Webmin

Les options du serveur sont exposées au travers des différentes catégories. Notamment, dans « Files and Directories », il est possible de restreindre l’accès les utilisateurs à un dossier spécifique.

IV-B-3-f. Fail2Ban

Le module « Fail2Ban Intrusion Detector » est placé dans la rubrique « Networking ». Quatre catégories d’options sont disponibles :

  • les filtres permettant d’analyser les journaux ;
  • les actions pour bannir et rappeler une IP ;
  • les options des prisons, permettant notamment de les activer/désactiver ;
  • la configuration globale, gérant uniquement les journaux propres à fail2ban.
Page de configuration de fail2ban dans Webmin

IV-C. Mise en place manuelle

Si l’utilisation d’openmediavault ou de Webmin ne vous convient pas, il est bien entendu possible de mettre en place les fonctionnalités du NAS par vous-même.

IV-C-1. Configuration du RAID

L’outil de référence pour manipuler un RAID logiciel sous Linux est : mdadm.
Les disques durs mécaniques connectés au RockPi apparaissent sous Linux avec les noms /dev/sdX où X peut aller de ‘a’ à ‘e’. Vous pouvez utiliser les commandes fdisk -l ou lsblk pour retrouver les espaces de stockage connus du système.

La création s’effectue avec la commande suivante :

 
Sélectionnez
mdadm --create --verbose /dev/NOM_OU_NOMBRE --level=[NIVEAU] –raid-devices=[NOMBRE] DISQUES

Commande dans laquelle il faut remplacer :

  • NOM_OU_NOMBRE : par le nom du RAID avec lequel vous y accéderez (par exemple : md1) ;
  • NIVEAU : le niveau du RAID (1 pour RAID 1…) ;
  • NOMBRE : le nombre de disques intégrant le RAID à construire ;
  • DISQUES : la liste des disques intégrant le RAID.

Ce qui donne, pour construire un JBOD de deux disques, la commande suivante :

 
Sélectionnez
mdadm --create --verbose /dev/md1 --level=linear --raid-devices=2 /dev/sda /dev/sdb

Une fois le RAID créé, il devient donc accessible dans /dev/md1. Vous pouvez en vérifier l’état en lisant le fichier /proc/mdstat :

 
Sélectionnez
cat /proc/mdstat

Ou encore, en utilisant la commande :

 
Sélectionnez
mdadm --detail /dev/md1

Au lieu d’utiliser des disques, il est possible d’indiquer des partitions et de construire le RAID avec.

Maintenant, vous pouvez formater l’espace ainsi mis à disposition :

 
Sélectionnez
mkfs –t ext4 /dev/md1

Et il ne reste plus qu’à mettre à disposition la partition ainsi créée :

 
Sélectionnez
mount /dev/md1 /mnt/share

Ajoutez une ligne dans le fichier /etc/fstab pour automatiser le montage du RAID, lors du démarrage de la machine :

 
Sélectionnez
/dev/md1    /mnt/share    ext4    default    0    0
IV-C-1-a. Ajouter un disque

Vous pouvez ajouter un disque à un RAID existant avec la commande suivante :

 
Sélectionnez
mdadm --manage /dev/md1 --add /dev/sdc

Toutefois, suivant votre politique de RAID, le disque nouvellement ajouté pourrait se retrouver en spare. Si ce n’est pas votre objectif, agrandissez le RAID :

 
Sélectionnez
mdadm --grow --raid-devices=3 /dev/md1
IV-C-1-b. Obtenir des informations sur un disque

mdadm propose une option pour lire le superblock d’un disque afin de savoir si ce dernier faisait partie d’un RAID :

 
Sélectionnez
mdadm --examine /dev/sda
IV-C-1-c. Réparation

Si un disque commence à présenter des problèmes, ou que vous souhaitez le remplacer, ajouter d’abord un disque de remplacement avec la commande :

 
Sélectionnez
mdadm --manage /dev/md1 --add /dev/sdc

Puis indiquez au système quel disque exclure du RAID :

 
Sélectionnez
mdadm --manage --set-faulty /dev/md1 /dev/sdb

Il n’est pas toujours possible d’effectuer un tel remplacement et cela dépend de la criticité de la panne, mais aussi de la politique de RAID que vous avez mise en place.

IV-C-1-d. Suppression

La suppression ne peut se faire que si le RAID n’est plus en cours d’utilisation. Cela veut dire, qu’il n’est pas monté (umount) et qu’il est stoppé :

 
Sélectionnez
mdadm --stop /dev/md1

N’oubliez pas d’enlever la mention de votre RAID dans /etc/fstab.

Vos disques n’ont pas été modifiés par cette opération. Sachant que les superblocks ne sont pas supprimés, vos disques peuvent être réintégrés dans un RAID à la configuration identique à celle où ils ont été pris. Si jamais vous voulez repartir de zéro, vous pouvez réinitialiser le superblock d’un disque avec la commande suivante :

 
Sélectionnez
mdadm --zero-superblock /dev/sda

Ou de manière encore plus violente, avec dd :

 
Sélectionnez
dd if=/dev/zero of=/dev/sda count=10 bs=1M

Ces deux dernières commandes font que vous ne pourrez plus récupérer les données du disque aisément. Sauvegardez les données avant une telle manipulation.

IV-C-2. Indicateurs S.M.A.R.T.

Les indicateurs S.M.A.R.T. permettent de vérifier si vos disques ont rencontré des erreurs lors de leur fonctionnement. Pour un NAS, il est donc d’autant plus important de les vérifier régulièrement afin de prévenir d’une panne.

Pour vérifier et surveiller les indicateurs de vos disques, l’administrateur a à disposition deux outils : smartctl et smartd. Le premier est un outil en ligne de commande permettant d’obtenir la valeur des indicateurs et de lancer des tests d’autodiagnostiques des disques alors que le second est un outil permettant de notifier du changement des valeurs des indicateurs S.M.A.R.T.

Leur installation s’effectue avec la commande suivante :

 
Sélectionnez
apt install smartmontools
IV-C-2-a. smartctl

Avec smartctl, vous pouvez obtenir des informations sur vos disques avec la commande suivante :

 
Sélectionnez
smartctl -a /dev/sda

Cette commande affiche aussi bien les informations générales (aussi obtenables avec l’option -i) que la valeur des indicateurs et le résultat des précédents tests (aussi obtenables avec l’option -l).

Afin d’actualiser les valeurs des indicateurs ou encore, de vérifier que le disque est en bonne santé, smartctl vous permet de lancer un test. Trois types de tests existent :

  • short : un test court, mais contenant les tests les plus à même de détecter un problème ;
  • long : un test reprenant le test court, mais en retirant la limite de temps et scannant l’intégralité de la surface du disque ;
  • conveyance : un test pour détecter des dégâts suite au transport du disque.

La commande suivante permet de lancer un test court pour le disque /dev/sda :

 
Sélectionnez
smartctl -t short /dev/sda

Chaque test prend un certain temps. Vous pouvez obtenir une estimation (en minutes) de la longueur de chaque test avec la commande :

 
Sélectionnez
smartctl -c /dev/sda
IV-C-2-b. smartd

smartd est un démon surveillant les indicateurs S.M.A.R.T. et envoyant un courriel en cas de problème. Ce démon se configure au travers du fichier /etc/smartd.conf. Chaque modification du fichier provoque son rechargement.
Le fichier est commenté et permet donc de comprendre son fonctionnement. Globalement, le fonctionnement du démon est géré par la ligne débutant par DEVICESCAN. Ce qui suit est d’ailleurs ignoré par smartd. À la droite de DEVICESCAN, vous pouvez spécifier des options permettant de contrôler le comportement du démon. Par exemple, la ligne suivante permet :

  • d’effectuer des tests réguliers (un test court entre deux et trois heures du matin et un test long les samedis entre trois et quatre heures (option -s) ;
  • de ne pas faire de test si le disque est à l’arrêt (option -n) ;
  • d’envoyer l’alerte par email (option -m) ;
  • d’activer la surveillance de tous les attributs (option -a) ;
  • d’activer la sauvegarde automatique des indicateurs (option -S) ;
  • d’activer la récupération des données hors ligne automatiquement (option -o) :
 
Sélectionnez
DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -m smartd@example.com

Évidemment, il faut avoir installé un agent mail pour que smartd puisse envoyer les alertes. Pour tester le bon fonctionnement de l’alerte, vous pouvez écrire la ligne suivante dans le fichier /etc/smartd.conf :

 
Sélectionnez
DEVICESCAN -m example@email.com -M test
IV-C-2-c. Documentation

smartd est très complet et hautement configurable. Notamment, vous pouvez :

  • surveiller des indicateurs particuliers ;
  • surveiller la température des disques ;
  • personnaliser comment être notifié ;
  • configurer une surveillance différente par disque.

Le fichier de configuration commenté est un premier point pour découvrir comment configurer l’outil. Mais vous pouvez aussi consulter :

IV-C-3. Administration

De multiples raisons font que vous devez créer des groupes pour chaque utilisation et des comptes utilisateur pour chaque entité se connectant à votre NAS. Une telle organisation vous permet de mieux sécuriser votre machine, de restreindre les accès et les risques en cas de piratage.
Autrement dit, il est préférable d’avoir un groupe par service. Ainsi, si vous devez donner accès à ce service à un utilisateur donné, il suffira d’ajouter cet utilisateur à ce groupe.
De même, il est préférable d’avoir un utilisateur par entité se connectant au NAS. Le partage de compte rend difficile la surveillance pour prévenir des piratages et permet de restreindre les accès aux fichiers à telle ou telle entité.

Les commandes à retenir sont :

  • ajout d’un groupe :

     
    Sélectionnez
    groupadd nom_du_groupe
  • ajout d’un utilisateur ;

     
    Sélectionnez
    adduser nom_utilisateur
  • ajout d’un utilisateur dans un groupe :
 
Sélectionnez
adduser nom_utilisateur nom_du_groupe
  • connaître les groupes incluant l’utilisateur en cours :
 
Sélectionnez
groups
  • retirer un utilisateur d’un groupe :
 
Sélectionnez
gpasswd -d nom_utilisateur nom_du_groupe

Finalement, le fichier /etc/group indique l’intégralité des groupes du système ainsi que les utilisateurs en faisant partie.

Il est possible de créer des utilisateurs sans qu’ils n’aient de possibilité d’utiliser le système. Ceux-ci ne pourront ainsi utiliser que les partages ou services offerts par le NAS. Pour créer un de ces utilisateurs, il faut spécifier une invite de commande (shell) invalide et il n’y a pas besoin de créer un dossier personnel :

 
Sélectionnez
useradd -s /bin/false -d /dev/null nom_utilisateur

IV-C-4. Samba

Samba est un serveur permettant de partager des fichiers et dossiers sur le réseau par l’intermédiaire du protocole CIFS/SMB. Ce dernier étant le protocole le plus communément implémenté pour une telle utilisation.

Son installation s’effectue avec la commande suivante :

 
Sélectionnez
apt install samba

La configuration de Samba repose sur le fichier /etc/samba/smb.conf, dont vous pouvez consulter la page de manuel ou encore le Wiki d’Ubuntu. L’ajout d’un dossier partagé se fait en ajoutant une section de la sorte, dans le fichier de configuration :

 
Sélectionnez
[tmp]
   path=/CHEMIN/DU/SERVEUR
   read only = yes
   guest ok = yes

En ajoutant ces lignes dans le fichier de configuration, un partage nommé « tmp » pointant sur le répertoire /tmp/ du serveur sera disponible aux clients. Ces derniers ne pourront y accéder qu’en lecture seule et n’auront pas besoin de compte pour y accéder.

IV-C-4-a. Gestion des utilisateurs

La gestion des utilisateurs de Samba fonctionne en parallèle de celle du système (il est possible de les synchroniser).

Pour gérer la base de données des utilisateurs Samba, il faut utiliser la commande pdbedit :

  • ajouter un utilisateur :
 
Sélectionnez
pdbedit -a nom_utilisateur
  • supprimer un utilisateur :
 
Sélectionnez
pdbedit -x -u nom_utilisateur

Pour être connus de Samba, les utilisateurs doivent exister au sein du système.

Il est possible de limiter l’accès des dossiers partagés à un ensemble restreint d’utilisateurs avec l’option valid users. Voici un deuxième exemple à placer dans le fichier /etc/samba/smb.conf pour configurer un dossier partagé où les utilisateurs peuvent modifier les fichiers :

 
Sélectionnez
[test]
   path=/CHEMIN/DU/SERVEUR
   read only = no
   valid users = USER1 USER2 USER3

Par défaut, tout utilisateur connu de Samba peut accéder à son dossier personnel, en lecture seule grâce au chemin \\NAS\NOM_UTILISATEUR.

IV-C-5. NFS

NFS est un standard ouvert pour partager des données, tout comme Samba.

Son installation s’effectue avec la commande suivante :

 
Sélectionnez
apt install nfs-kernel-server

Ensuite, la configuration s’effectue au travers du fichier /etc/exports, dans lequel il faut définir les dossiers partagés sur les réseaux. Chaque partage se définit avec une ligne du type :

 
Sélectionnez
/CHEMIN/PARTAGE HÔTE(OPTIONS)

L’accès de chaque partage est réservé à l’HÔTE défini par le serveur.
Il est possible d’indiquer plusieurs HÔTE(OPTIONS) pour un même partage, en les séparant par un espace.

Les clients (hôtes) pouvant accéder au dossier partagé peuvent être spécifiés grâce à une adresse IP ou à un ensemble d’adresse IP, un nom d’hôte, un nom de domaine, ou un nom de groupe réseau.
Parmi les options, vous pouvez spécifier rw ou ro ou encore sync permettant de mettre le partage en écriture ou en lecture seule ou encore, d’attendre la fin de chaque opération avant de traiter la prochaine requête, respectivement.

La documentation de ce fichier peut être consultée dans les pages de manuel.

Il existe la commande showmount avec l’option -e permettant de vérifier les dossiers exportés par NFS.

IV-C-6. FTP

Un serveur FTP permet de transférer des fichiers et contrairement aux protocoles vus précédemment, il ne fait que ça. Par exemple, pour éditer un fichier, il est nécessaire de le récupérer entièrement, puis de le renvoyer entièrement.

Plusieurs serveurs sont disponibles sous Linux. Ici, nous utiliserons vsftpd, qui s’installe avec la commande :

 
Sélectionnez
apt install vsftpd

La configuration s’effectue dans le fichier : /etc/vsftpd.conf. Ce dernier est commenté. En voici quelques options :

anonymous_enable

Permet à des utilisateurs anonymes de se connecter au serveur FTP.

local_enable

Permet aux utilisateurs du NAS, de se connecter au serveur.

ftpd_banner

Pour définir un message affiché à la connexion.

chroot_local_user

Pour restreindre les utilisateurs à leur dossier personnel.
En activant cette option, vous rencontrerez l’erreur : 500 OOPS: vsftpd: refusing to run with writable root inside chroot(). Pour corriger, il faut utiliser l’option allow_writeable_chroot=YES.

Par défaut, après installation, les utilisateurs locaux peuvent se connecter au serveur FTP et accéder à leur répertoire personnel. Par contre, ils ne peuvent pas y envoyer des fichiers et ne sont pas restreints à leur propre dossier (ils peuvent donc lire tous les fichiers du système).

IV-C-6-a. Sécuriser la connexion

Par défaut, le protocole FTP fonctionne en clair : une personne malveillante peut lire les données échangées en FTP. Il est possible de sécuriser le flux et de rendre ses données illisibles.

La première étape est de générer un certificat :

 
Sélectionnez
openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048

Pour utiliser le certificat, le fichier de configuration de vsftpd doit contenir :

 
Sélectionnez
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Finalement, les deux options suivantes peuvent augmenter la difficulté de compromission du serveur :

 
Sélectionnez
require_ssl_reuse=NO
ssl_ciphers=HIGH
IV-C-6-b. Documentation

La prise en main de ce serveur FTP peut être déroutante, notamment car l’aspect sécurité est important. Vous pouvez vous aider de ce tutoriel sur Developpez.com, du Wiki Ubuntu, ou de ce tutoriel en anglais.

IV-C-7. SSH

Le serveur SSH permet à un utilisateur de se connecter à distance au NAS et ainsi d’accéder à un shell. Le serveur SSH est déjà installé sur la majorité des distributions, notamment sur Armbian. Autrement, l’installation s’effectue avec la commande :

 
Sélectionnez
apt install openssh-server

La configuration s’effectue au travers du fichier /etc/ssh/sshd_config. Notamment, ce fichier possède les lignes suivantes :

Option

Valeurs possibles

Description

PermitRootLogin

yes, no, prohibit-password, forced-commands-only

Permet de restreindre la façon dont root peut se connecter par SSH. Notamment, la connexion au compte root peut être complètement interdite au travers de SSH, ou n’être possible qu’avec une clé.

PasswordAuthentification

yes, no

Permet d’accepter ou non les connexions reposant sur le mot de passe.

AllowUsers

 

Permet de n’autoriser que certains utilisateurs à se connecter.

AllowGroups

 

Permet de n’autoriser que certains groupes à se connecter.

Cette liste n’est pas exhaustive, toutes les options pourront être retrouvées dans la documentation officielle.

IV-C-7-a. Copie de fichiers

Il est possible d’utiliser SSH pour transférer des fichiers, notamment avec la commande scp :

 
Sélectionnez
scp utilisateur@IP:/chemin/fichier ./fichier
IV-C-7-b. Montage distant

En plus de simplement copier des fichiers, il est possible d’utiliser SSH pour accéder à un espace de stockage distant, grâce à l’outil sshfs :

 
Sélectionnez
sshfs USER@SERVER:/share/PARTAGE/ /mnt/nas

Le montage peut être automatisé avec le fichier /etc/fstab ou AutoFS.

IV-C-7-c. Authentification automatique

Il est possible de mettre en place une authentification par clé, permettant ainsi de ne plus taper de mot de passe pour se connecter au serveur.
Pour cela, la machine cliente doit avoir généré un couple de clés (une clé publique et une clé privée), avec la commande :

 
Sélectionnez
ssh-keygen -t rsa -b 4096

Ensuite, la clé publique doit être copiée sur le serveur afin que celui-ci puisse reconnaître la machine cliente. Si l’authentification par mot de passe est active, il est possible d’utiliser :

 
Sélectionnez
ssh-copy-id utilisateur@server

Sinon, il faudra transférer la clé publique d’une manière ou d’une autre et l’enregistrer dans le fichier ~/.ssh/authorized_keys.

IV-C-8. VPN

La mise en place d’un VPN est la meilleure solution pour communiquer avec un ou plusieurs équipements domestiques depuis l’extérieur du foyer.

Pour sa mise en place, vous pouvez suivre cet article dédié.

Lors de l’utilisation du script d’installation de PiVPN, une erreur a été rencontrée, semble-t-il, lors de l’installation des dépendances. Pour corriger, il faut installer le paquet iptables-persistent et relancer le script PiVPN.

IV-C-9. Fail2ban

fail2ban est un service permettant de bannir les tentatives de connexion provenant de machines ayant échoué à la connexion plusieurs fois.

Ce service s’installe avec la commande suivante :

 
Sélectionnez
apt install fail2ban

Les fichiers de configuration de ce service se trouvent dans le dossier /etc/fail2ban.

Il est déconseillé d’éditer directement les fichiers jail.conf et fail2ban.conf.

Pour configurer fail2ban, vous devez créer un, ou plusieurs fichiers de configuration dans lesquels vous allez définir ou redéfinir les options pour chaque service à surveiller. Par exemple, pour activer la lecture des logs du service SSH, avec les options par défaut (comme mentionnées dans le jail.conf), vous devez créer le fichier suivant :

/etc/fail2ban/sshd.local
Sélectionnez
[sshd]
enabled = true

Si vous devez redéfinir des options (par exemple, car vous utilisez un port différent de celui par défaut), il suffit d’ajouter l’option en question au fichier :

/etc/fail2ban/sshd.local
Sélectionnez
[sshd]
enabled = true
port = 2222

La configuration globale (ou configuration par défaut) se configure ainsi :

 
Sélectionnez
[DEFAULT]
ignoreip = 127.0.0.1 124.32.5.48
findtime = 10m
bantime = 24h
maxretry = 3

Chaque option peut être redéfinie au niveau d’un service spécifique.

Aussi, le service fail2ban est accompagné d’un client : fail2ban-client, qui permet de recharger les règles après modification grâce à la commande fail2ban-client reload ou encore, de vérifier le fonctionnement du service : fail2ban-client status.

IV-C-10. DLNA

Un serveur DLNA permet de rendre disponibles vos médias sur l’ensemble des clients compatibles (PC, téléphone, TV…). Plusieurs logiciels permettent d’offrir ce service, mais pour être raccord avec openmediavault, nous parlons ici de minidlna.
L’installation est classique :

 
Sélectionnez
apt install minidlna

La configuration se fait au travers du fichier /etc/minidlna.conf. Ce dernier étant commenté, il est simple à prendre en main. Principalement, il suffit de configurer les dossiers depuis lesquels le service lit les médias :

 
Sélectionnez
media_dir=/media/

Vous pouvez aussi trouver de l’aide dans la documentation des pages de manuel.

IV-C-11. certbot

Afin d’établir une connexion HTTP sécurisée avec votre serveur, vous devez utiliser un certificat reconnu par une entité légitime. Le service en ligne Let’s Encrypt fournit de tels certificats et vous pouvez générer vos certificats grâce à l’outil certbot.

L’installation se fait avec la commande suivante :

 
Sélectionnez
apt install certbot

Son utilisation est plutôt simple. Suivant votre besoin, vous pouvez utiliser les options --apache ou --nginx afin de générer un certificat pour ces deux serveurs Web ou utiliser la commande :

 
Sélectionnez
certbot certonly --standalone

Pour générer un certificat à utiliser dans l’application de votre choix.

Le renouvellement de certificat se fait simplement avec la commande :

 
Sélectionnez
certbot renew

IV-C-12. rsync

Rsync permet de synchroniser des fichiers. Vous pouvez l’installer avec :

 
Sélectionnez
apt install rsync

Rsync peut être utilisé dans deux modes. Le premier repose sur SSH et est prêt à l’emploi, pour peu que le client possède rsync. Le second est un mode démon, où, pour être démarré, nécessite le fichier /etc/rsyncd.conf.
Ce fichier permet de spécifier des options globales ainsi que des modules, c’est-à-dire, des dossiers synchronisés. Voici un exemple de ce fichier :

 
Sélectionnez
uid = user
gid = user
dont compress = *.gz *.tgz *.zip *.xz *.rpm *.deb *.bz2
[ftp]
    path = /home/ftp
    exclude = *.exe
    comment = FTP Backup

La documentation de ce fichier est disponible dans les pages de manuel.

Ensuite, sur les clients, vous pouvez synchroniser les dossiers ainsi exposés, en les spécifiant comme source :

 
Sélectionnez
rsync -av rsync://NAS_IP/ftp

IV-C-13. Duplicati

Pour utiliser Duplicati, il est nécessaire de récupérer le fichier .deb sur le site officiel et de l’installer avec la commande :

 
Sélectionnez
dpkg -i ./duplicati_2.0.5.1-1_all.deb

Sachant que duplicati repose sur Mono, des dépendances peuvent être manquantes. Cela peut se réparer avec la commande :

 
Sélectionnez
sudo apt --fix-broken install

Une fois installé, vous devez modifier le fichier /etc/default/duplicati pour qu’il contienne la ligne suivante, option pour lancer correctement le service, comme indiqué dans la documentation officielle :

 
Sélectionnez
DAEMON_OPTS="--webservice-interface=any --webservice-port=8200 --portable-mode"

Une fois le service lancé (systemctl start duplicati), il suffit d’utiliser le logiciel en se connectant avec un navigateur Web à l’adresse du NAS, port 8200.

IV-D. Pour aller plus loin

Que ce soit avec openmediavault ou en configurant manuellement votre NAS, vous pouvez installer tous les services que vous voulez. En effet, jusqu’à présent, nous n’avons pas vu comment installer un serveur Git, un serveur Wordpress ou autre et cette section permet de présenter les services complémentaires pouvant intéresser le lecteur.

Notamment, on retrouvera :

  • rclone : pour synchroniser les fichiers avec un service de cloud (Google, 1Fichier, Amazon…) ;
  • pyload : pour télécharger des fichiers ;
  • targetcli : pour créer une cible iSCSI. Le paquet se nomme targetcli-fb et offre l’utilitaire interactif en ligne de commandes permettant de créer la cible iSCSI ainsi que les disques. En voici un exemple d’utilisation, pour créer une cible exposant un disque de 128 Mo :

     
    Sélectionnez
    cd /backstores/fileio
    create disk01 /tmp/img.img 128M
    cd /iscsi 
    create iqn.2021-01.com.developpez:test1
    cd tpg1/luns/
    create backstoresfileio/disk0
    cd ../acls
    create iqn.2016-04.com.open-iscsi:bfeb2fd9b7b
    exit
  • Le « iqn.2016-04.com.open-iscsi:bfeb2fd9b7b » provient du fichier /etc/iscsi/initiatorname.iscsi du client.
    Vous pouvez trouver des explications sur chacune des étapes, dans cette aide.

  • Python ou Node.js : pour ouvrir un serveur Web minimaliste permettant aux autres de télécharger des fichiers. En Python, vous pouvez lancer ce serveur, qui partagera les fichiers présents dans le dossier courant, avec la commande :

     
    Sélectionnez
    python -m SimpleHTTPServer
  • La même chose avec Node.js :

     
    Sélectionnez
    npm install -g http-server
    http-server -p 8000
  • Évidemment, il faudra ouvrir le port adéquat (80 pour la méthode avec Python) pour permettre aux gens externes d’accéder aux fichiers partagés.
    Il existe des solutions plus avancées, telles que Woof ou Updog.

  • ownCloud/Nextcloud : pour mettre en place une solution complète d’hébergement de fichiers et plus ;

  • Pi-hole pour bloquer les publicités ;

  • Plex ou Emby pour diffuser des médias ;

  • une instance PeerTube pour publier des vidéos ;

  • YunoHost pour autohéberger facilement des services (courriels, transmission, diaspora, GitLab…). Pour l’installer à partir d’un système utilisant Armbian, il suffit d’utiliser la commande suivante :
 
Sélectionnez
curl https://install.yunohost.org | bash

V. Performances

Les tests de performances sont effectués avec Armbian basé sur Debian 10 embarquant le noyau Linux 5.9.14. Le NAS intègre un disque branché sur le quatrième connecteur et est complètement monté.

V-A. Températures

Dans ce test, le NAS est stressé au niveau du CPU, avec la commande stress en version 1.0.4 : stress --cpu 6. Le test est exécuté une fois, ventilateur désactivé et une fois, ventilateur activé :

Graphique des températures et fréquence du NAS au fil du temps

La présence du ventilateur permet de réduire drastiquement la montée de température. Sans ventilateur, au bout de dix minutes, le CPU va réduire sa fréquence lorsqu’il atteint les 85 °C. Avec le ventilateur, la température atteint 80 °C après une heure et permet donc de ne pas ralentir la machine.

Voici une vue plus précise autour du test sans ventilateur :

Vue précise des températures et fréquence du NAS

En bref, le ventilateur permet d’éviter du throttling et réduit considérablement la température du CPU.

V-B. Débit réseau

Le RockPi 4 modèle C est capable de supporter le débit de 1 Gbit/s offert par le port Ethernet embarqué sans problème, et ce, avec le protocole NFS, FTP ou SMB.
Seul le protocole SSH offrira des performances moindres, car lourd pour le CPU en raison du chiffrement :

  • 65,5 Mo/s en émission ;
  • 92,5 Mo/s en réception.

V-B-1. Augmenter le débit

Il est possible d’utiliser un port USB afin d’y brancher un adaptateur USB vers RJ45 2.5 Gbps, tel que celui testé ici, afin d’augmenter le débit du NAS.
Premièrement, un test avec l’outil iperf3 est une bonne pratique pour vérifier le débit :

  • dans le cas où le NAS est le serveur, le test se déroule correctement et le débit obtenu est de 2.18 Gbits/s ;
  • dans le cas où le NAS est le client (émetteur des données), le débit est moindre (autour de 1.3 Gbits/s) et le test s’arrête après quelques secondes. Le noyau produit les messages suivants :
 
Sélectionnez
[  394.307825] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 3 comp_code 1
[  394.307838] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d63080 trb-start 00000000e6d62f70 trb-end 0000000000000000 seg-start 00000000e6d62000 seg-end 00000000e6d62ff0
[  394.307843] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d63080 trb-start 00000000e4775000 trb-end 00000000e4775370 seg-start 00000000e4775000 seg-end 00000000e4775ff0
[  394.307849] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 3 comp_code 1
[  394.307854] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d631a0 trb-start 00000000e6d62f70 trb-end 0000000000000000 seg-start 00000000e6d62000 seg-end 00000000e6d62ff0
[  394.307859] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d631a0 trb-start 00000000e4775000 trb-end 00000000e4775370 seg-start 00000000e4775000 seg-end 00000000e4775ff0

La charge CPU est différente suivant l’émission ou la réception des données. Dans ce dernier cas, un cœur est occupé à 60 % de sa capacité afin de traiter l’envoi des données, alors que dans le cas où le problème apparaît, un cœur est utilisé à 100 %.
Lorsque le bogue se produit, le transfert s’arrête net et interrompt toute communication sur le réseau utilisant cette interface. Pour la « rétablir » rapidement, il suffit de débrancher et rebrancher le câble.
Si on ne déconnecte pas le câble, le noyau va remarquer le problème grâce au watchdog et réinitialiser l’adaptateur. La connexion reprendra alors, comme s’il n’y avait pas eu de problème. Toutefois, dans un tel cas, les transferts sont inévitablement ralentis et l’utilisation de l’adaptateur est inutile.

Ces problèmes ont été rencontrés avec Armbian basé sur Debian Buster sur le noyau 5.9.16 ainsi que sur Armbian basé sur Ubuntu Groovy Gorilla avec le noyau 5.10.6.

Vous pourrez trouver un exemple des messages du noyau lors du crash ici.

Je ne connais pas avec exactitude l’origine du problème et ne peux donc pas pointer le coupable. Cela peut aussi bien venir de l’adaptateur, de l’interface USB, du RockPi 4 modèle C, du pilote ou du noyau.

VI. Conclusion

Dans cet article, nous avons vu l’utilisation du nano-ordinateur RockPi 4 modèle C en tant que NAS dans lequel vous pouvez utiliser des disques durs 2,5 pouces en SATA grâce au chapeau Penta-SATA.
Ainsi, nous obtenons une solution peu encombrante et facile à mettre en place grâce à openmediavault ou Webmin. Aussi, une installation manuelle est expliquée, pour ceux qui veulent gérer l’intégralité de leur système. Dans la dernière section, nous avons aussi validé l’utilité du ventilateur, associé à un petit écran sympathique et personnalisable. En bref, c’est une solution intéressante pour un NAS domestique.
Toutefois, je tiens à rappeler que les disques 2,5 pouces sont généralement plus chers que les disques 3,5 pouces pour une même capacité et des performances inférieures. Par conséquent, même si ce NAS 5 « baies » aura un coût moindre (environ 200 € : 59 $ pour le RockPi 4 modèle C, 129 $ pour le kit Penta SATA et 12 $ pour le module eMMC) pour l’acquérir, le prix des disques sera supérieur par rapport à des NAS plus classiques. De plus, les disques durs conçus pour NAS, sont réellement très rares au format 2,5 pouces.
En bref, cette solution est adéquate si vous voulez un NAS petit et discret embarquant quatre disques, entièrement configurable et pouvant aussi être utilisé pour d’autres usages (émulation, ordinateur personnel).

VII. Remerciements

Logo RCOK Pi

Developpez.com tient à remercier Radxa de nous avoir fourni le RockPi 4 modèle C testé dans cet article. Vous pouvez retrouver la page officielle du produit ici.

Merci aussi aux relecteurs chrtophe et Franck Talbart, ainsi qu’à Claude Leloup pour la correction orthographique.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   


Chapeau ou hat : une carte d’extension se plaçant au-dessus du nano-ordinateur et utilisant les connectiques GPIO. Voici le top 10 des cartes d’extensions d’après la communauté Developpez.com.
Module de mémoire non volatile composé d’une seule puce intégrant un contrôleur et la mémoire flash.

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2021 Équipe de la rubrique Hardware. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.