Un NAS sous Debian en 30 min

nas_debian

Ayant régulièrement l’occasion de recycler de vieux pc en NAS de sauvegarde, je me suis dis que ça pourrait servir à d’autres 🙂

Dans ce tutos je vais donner la démarche à suivre pour avoir un dossier partagé en réseau, le tout en 30 minutes. Ce type de partage peut servir en petite entreprise pour partager des fichiers ou comme sauvegarde. Mais ça peut aussi servir à la maison pour y stocker vos fichiers multimédia pour les lire sur tous vos appareils.

Prérequis

  • Un PC fonctionnel : Pas besoin d’une grosse puissance ni de beaucoup de ram. Un atom avec 1Go de ram ça tourne très bien ! Ce qui est important c’est que la taille du disque dur soit en accord avec l’usage que vous souhaitez en faire. Si comme moi vous recyclez un vieux PC, je vous conseille de commencer par tester la mémoire vive et le disque dur avec les utilitaires de l’excellent UBCD.
  • Un CD ou clé USB bootable créée à partir de l’iso de la netinst de Debian. Pour faire une clé bootable j’utilise UNetbootin.
  • Une connexion à internet car la netinst récupère les paquets en ligne directement pendant l’installation de Debian.

Première étape : installation basique de Debian

Démarrer le PC sur la clé USB ou le CD de Debian puis suivre les étapes suivantes :

  • Choisir Install
  • French / Français / France dans les menus suivants
  • Entrer un nom de machine quand c’est demandé, par exemple « nasdebian »
  • Laisser le domaine vide
  • Choisir un mot de passe pour le compte super utilisateur ‘root’
  • Créer votre compte utilisateur
  • Pour le partitionnement du disque, choisir Assisté – utiliser un disque entier
  • Choisir votre disque dur
  • Prendre l’option Tout dans une seule partition
  • Valider deux fois (attention il faudra déplacer sur Oui pour le deuxième écran ^^)
  • Attendre l’installation de base
  • Choisir la France puis le dépôt français puis laisser vide le mandataire
  • Décocher l’environnement de bureau (touche espace) car le NAS ne sera pas branché sur un écran par la suite donc aucun intérêt :

debian_sans_environnement_bureau

  • Installer GRUB sur le disque dur
  • L’installation de Debian est terminée, le NAS redémarre (pensez à enlever le CD / Clé bootable)

Au redémarrage, tapez votre nom d’utilisateur et votre mot de passe (rien n’apparait quand on le tape, c’est normal c’est par sécurité) puis validez pour vous connecter.

Maintenant tapez su puis le mot de passe du super utilisateur ‘root’.

Le NAS ne sera pas connecté à un écran par la suite, donc on utilisera le SSH pour s’y connecter. Pour cela on va commencer par installer le support de SSH sur le NAS via la commande : apt-get install ssh -y

Pour plus de confort on va se connecter tout de suite en SSH depuis un autre PC (ce n’est pas nécessaire pour suivre le tuto mais ça permet le copier-coller ^^). Pour connaitre l’IP du NAS tapez la commande ifconfig elle se trouve sous la forme 192.168.XXX.XXX à la ligne inet. Sous Windows on peut utiliser PuTTY pour se connecter en SSH. Dans mon cas j’utilise Mac OS donc j’ouvre simplement un terminal et je tape la commande
ssh lapinlibre@192.168.0.17

Exemple de résultat de la commande ifconfig
Exemple de résultat de la commande ifconfig

Deuxième étape : installation et configuration du partage réseau

On va maintenant créer le dossier qui sera partagé par la suite, ici je vais le mettre dans mon répertoire utilisateur, avec les commandes :

mkdir /home/lapinlibre/partage = Création d’un dossier nommé « partage » dans le répertoire de l’utilisateur « lapinlibre ».

chown lapinlibre:lapinlibre /home/lapinlibre/partage = Attribution du dossier à l’utilisateur « lapinlibre » (car ici nous sommes connecté en root donc le dossier créer lui appartient).

Puis on installe le programme samba qui permet le partage, avec les commandes :

apt-get install samba -y = Installation du programme samba.

mv /etc/samba/smb.conf /etc/samba/smb.conf.old = archivage du fichier de config d’origine.

nano /etc/samba/smb.conf = Création d’un nouveau fichier de config, dans lequel on copie le contenu suivant :

[global]
server string = nasdebian
workgroup = Workgroup
netbios name = nasdebian
public = yes
encrypt passwords = true

[partage]
path = /home/lapinlibre/partage
read only = no
writeable = yes
valid users = lapinlibre
comment = repertoire_partage

(Voir les sources pour plus de détails et options sur la config.)

On valide par un CTRL+X puis O

Maintenant on va créer le mot de passe pour l’accès au dossier avec la commande :

smbpasswd -a lapinlibre

puis on relance samba avec /etc/init.d/samba restart pour que la nouvelle config soit prise en compte.

Le partage réseau est désormais fonctionnel ! Par contre l’IP de notre serveur est dynamique, en DHCP, il faudra donc utilisé son nom pour y accédez. Si vous souhaitez fixer l’IP il faut modifier le fichier /etc/network/interfaces, avec les commandes suivantes :

cp /etc/network/interfaces /etc/network/interfaces.old = Copie du fichier d’origine.

nano /etc/network/interfaces = On ouvre le fichier de config pour le modifier.

Modifier la section suivante :

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

En la remplaçant par :

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.25
        netmask 255.255.255.0
        gateway 192.168.0.1

(Ici l’adresse IP choisie est 192.168.1.25 et l’adresse de ma box est 192.168.0.1
Si besoin il faut également adapter la partie « eth0 » en s’inspirant de ce qu’il y a déjà dans votre fichier
)

On valide par un CTRL+X puis O

Finir par un reboot du NAS avec la commande reboot.

Note : Si la modification du fichier /etc/network/interfaces n’a pas d’impact, tentez avec le dhcpcd s’il est installé.

Voilà c’est terminé 🙂

Une alternative possible :
OpenMediaVault

C’est un système complet basé sur Debian et configuré pour un usage NAS évolué. C’est bien plus complet mais aussi bien plus lourd à faire tourner et à gérer. Donc tout dépend de vos besoins…

L’installation se passe comme une Debian classique avec quelques étapes en moins. Il faut cependant avoir deux disques : un pour le système (une carte SD de 8 Go devrait faire l’affaire je pense) et un disque pour les données.

Quand c’est terminé, ouvrir un navigateur et taper l’IP de votre NAS pour arrivez sur l’interface de gestion d’OpenMediaVault (se connecter avec admin et openmediavault comme mot de passe par défaut). A partir de là il faut :

  • Préparer le système de fichier sur le disque dur pour les données puis le monter (Rubrique Stockage -> Système de fichier)
  • Créer des utilisateurs si besoin (Rubrique Gestion des droits d’accès)
  • Créer le dossier partagé (Rubrique Gestion des droits d’accès -> Dossiers partagés)
  • Configurer le partage SMB (Rubrique Services-> SMB/CIFS)
openmediavault_apercu_interface_web
Aperçu de l’interface web d’OpenMediaVault

Sources et liens :

UBCD (pour Ultimate Boot CD) : un CD bootable contenant de nombreux outils de dépannage. Pour tester votre mémoire vive, utilisez l’outil Memtest86+ (menu Memory). Pour votre disque dur, je vous conseille VIVARD (menu HDD/Diagnosis).

DebianAddict : Partage de fichiers avec Samba

Debian : Configurer une interface Ethernet

Site officiel OpenMediaVault et l’article Wikipedia sur OpenMediaVault

Tuto réalisé sous Debian Jessie 8.3

20 réflexions sur « Un NAS sous Debian en 30 min »

    1. Il suffit d’ajouter d’autres sections au fichier smb.conf, par exemple

      [films]
      path = /home/lapinlibre/films
      read only = no
      writeable = yes
      valid users = lapinlibre
      comment = repertoire_de_mes_films

      1. merci pour votre réponse,
        j’ai juste un dernier probleme,
        windows arrive à aller dans \\NAS\ mais n’arrive pas à accéder au sous dossier (exemple: \\NAS\public) et affiche comme erreur « Nom de réseau introuvable »
        Que pourrait être la source de cette erreur?

  1. Bonjour,

    Merci pour ce tuto mais on est d’accord qu’il n’y a aucun système de protection des données en cas de défaillance d’un disque là. C’est important de la préciser car la plus-value d’un NAS c’est aussi la possibilité de faire du RAID.

    1. Bonjour, effectivement mais en cas de RAID il faut également mettre en place un système de notification en cas d’erreur d’un disque. Je rencontre régulièrement au niveau professionnel des RAID en panne à cause de ça… sans compter le fait que lors de la reconstruction de la grappe suite à une panne on force sur le disque restant qui parfois lâche… j’ai eu le cas sur une grappe RAID5 qui contenait 3 disques strictement identiques.

      Je consacrerais bientôt un article là dessus et je mettrais le lien dans l’article 😉

  2. Bonjour,

    Est-il possible avec l’une des deux alternative de faire tourner un NAS avec des disques miroirs ?

    Merci beaucoup
    Benjamin

    1. Bonjour,

      tout à fait, cela se passe lors de l’installation de Debian en lui même.

      Voir cet article qui détail tout ça : https://www.carnetdumaker.net/articles/debian-8-jessie-en-configuration-raid-1-pour-les-nuls/

      Attention le RAID, même miroir, N’EST PAS UNE SAUVEGARDE ! En cas de défaillance d’un disque il faut pouvoir le détecter et en cas de suppression accidentelle par exemple il n’est d’aucune utilité. Le RAID est plutôt là pour permettre la réparation d’un système avec un temps d’arrêt minimum.

  3. Salut,
    merci pour le tuto, j’ai enfin un début de serveur
    par contre je me sent comme un gros n00b, j’y accède comment depuis un autre pc?

    merci d’avance.

    1. Via l’explorateur de fichier, rubrique réseau. Il apparait sous le nom donné à la ligne « server string = nasdebian ».
      Sinon avec \\nasdebian dans la barre de l’explorateur de fichier ça marche aussi.

  4. je veux dire en visuel parce que pour manipuler des tas de fichier je me sentirais plus à l’aise avec le cliquodrome quand même, pis je suis pas le seul à devoir l’utiliser

  5. Bonjour, en utilisant un serveur DHCP perso, avec .lan en nom de domaine, et mes PCs avec par exemple monpc.localname, j’y accède par .lan ou .localname ?

    Pour debian 9 la manière est différente pour fixer l’IP, non ?

    1. Bonjour,

      un simple « monpc » est suffisant. Par exemple sur l’explorateur Windows, si tu veux monter un lecteur réseau : « //monpc/monpartage »

      Effectivement, depuis Debian 9, il faut également adapter la partie « eth0 » en s’inspirant de ce qu’il y a déjà dans votre fichier. Désormais ça ressemble plutôt à « ens18 »

      1. Ça se passe toujours dans /etc/network/interfaces et non dhcpcd ?
        Je ne sais plus si ça a changé de debian 7 à 8 ou de 8 à 9

        1. J’ai fixé une IP via ce fichier sur une debian 9.4 il n’y a pas si longtemps. Après j’utilise uniquement des installations minimales sans l’interface graphique, le paquet vient peut être de là. Je vais ajouter une note sur l’article et je mettrais à jour si besoin après vérification lors de ma prochaine install.

  6. Merci ! ton tuto m’a sauvé 😀
    après avoir cherché pleins de solutions toutes plus compliquées les une que les autres, ton tuto fait un bien fou.
    c’est simple, et ça fonctionne !!!
    sans avoir besoin d’être ingénieur système.

    MERCI !!!

  7. bonjour,

    Tuto très clair et facile.
    Pour aller plus loin, comment faire pour accéder à ce dossier partagé, depuis un autre réseau ?
    J’ai monter ce dossier en lecteur réseau, mais forcement, lorsqu’on n’est plus dans le même réseau, ce dossier est inaccessible.
    Merci d’avance

    1. Bonjour,

      Le mieux est d’installer paquet VPN pour transformer ton debian en serveur VPN pour s’y connecter depuis l’extérieur

  8. Bonjour, j’avais un nas, jeune sais pas quel système, mais maintenant il plante et je ne veux pas perdre les données dans les disques dur, est ce que avec debian, il est possible de mettre des disque dur avec déjà des données ? Où faut il formater les Disque dur?
    Merci pour votre aide

    1. Bonjour,
      c’est prévu pour des disques vierges. La récupération de données est un cas à part.
      Il faut vérifier l’état de santé des disques durs dans un premier temps et la plupart du temps il faut monter le raid à la main donc si les données sont précieuses se rapprocher de quelqu’un qui maitrise très bien linux ou une bonne boutique d’informatique.

      Si le NAS était par exemple un SYNOLOGY, il est possible de remettre les disques dans un nouveau SYNOLOGY il détectera alors et proposera une migration sans perte de données.

Répondre à Moi Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *