Comment héberger des partages NFS sous Linux



Pour un utilisateur de Linux, qu’il soit novice ou expérimenté avec les serveurs, Samba est souvent le choix privilégié pour accéder aux fichiers. La complexité perçue de NFS (Network File System) explique en grande partie cette préférence, car sa configuration nécessite de nombreuses étapes et ajustements, contrairement à la simplicité de Samba ou FTP. Il est regrettable que tant d’utilisateurs Linux passent à côté de NFS, car il offre une multitude de fonctionnalités et d’applications intéressantes. Cet article a pour objectif de simplifier la configuration d’un serveur NFS, en détaillant comment héberger des partages NFS sous Linux et en assurant son bon fonctionnement.

Installation du serveur NFS

En général, les distributions Linux disposent des mêmes outils NFS, avec quelques variations mineures. Pour que tout fonctionne correctement, ouvrez un terminal et installez les paquets nécessaires. Ces paquets installeront les outils essentiels pour exécuter le serveur, créeront les fichiers de configuration par défaut, et parfois configureront d’autres paramètres automatiquement.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Autres distributions Linux

NFS n’est pas une nouvelle technologie, ce qui signifie que vous devriez pouvoir l’installer facilement sur la quasi-totalité des distributions Linux. Si votre système d’exploitation n’est pas listé, recherchez « nfs utils » dans votre gestionnaire de paquets ou consultez le wiki de votre système.

Activation des services Systemd

La configuration d’un serveur NFS peut varier en fonction de la distribution Linux utilisée. Par exemple, sur Ubuntu ou Debian, l’installation du paquet NFS configure automatiquement les services systemd. Cependant, sur des distributions comme Arch Linux, SUSE ou Fedora, il peut être nécessaire de les activer manuellement. Voici les commandes à utiliser :

Si vous utilisez Arch Linux, OpenSUSE, Fedora ou toute distribution qui ne configure pas automatiquement les services systemd pour NFS, ouvrez un terminal et exécutez ces commandes :

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo service rpcbind start
sudo service nfs-server start

Configuration du partage NFS

L’installation des paquets NFS met en place le serveur, mais cela ne signifie pas qu’il est immédiatement accessible. Les utilisateurs doivent configurer les exportations, définir l’emplacement des fichiers, etc. Pour commencer, ouvrez un shell racine avec la commande: sudo -s

Le fichier d’exportation peut gérer n’importe quel type de répertoire. Cependant, pour des raisons de sécurité, il est préférable de lier le contenu d’un répertoire à un autre. Cela évite de modifier les permissions des dossiers situés dans /srv/ et assure une configuration plus sécurisée.

Par exemple, pour partager le dossier Images d’un utilisateur, procédez comme suit :

mkdir -p /srv/nfs/pictures /home/username/Pictures/
mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Vous pouvez créer autant de montages de liaison que nécessaire. N’hésitez pas à être créatif et à utiliser cette méthode pour d’autres répertoires.

Pour que ces montages soient persistants, exécutez les commandes suivantes :

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Note: Adaptez ces commandes d’écho en fonction de vos propres montages.

Une fois les montages configurés, il est temps de paramétrer le fichier de configuration des exportations. Ce fichier est essentiel, car il spécifie chaque partage que NFS doit rendre disponible.

nano /etc/exports

Ajoutez les lignes suivantes à la fin du fichier :

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Vous pouvez ajouter autant de lignes que nécessaire. Chaque partage aura besoin de sa propre entrée dans mount, fstab et /etc/exports.

Note: Enregistrez le fichier avec CTRL + O.

Mise à jour des modifications

Le serveur NFS est maintenant en service, les fichiers sont en place, et tout est prêt. La dernière étape consiste à mettre à jour les changements du fichier d’exportation. Cette étape est cruciale, car le serveur NFS ne met pas à jour les modifications en cours d’exécution. Appliquez les changements avec la commande :

exportfs -rav

Si nécessaire, redémarrez le processus serveur avec systemd en utilisant la commande systemctl restart.

sudo systemctl restart nfs-server.

Conclusion

Le système de fichiers réseau (NFS) est un outil puissant qui permet de manipuler des fichiers et des répertoires distants comme s’ils étaient locaux. Contrairement à d’autres solutions concurrentes, NFS offre une grande flexibilité et ubiquité.

Malgré ces avantages, beaucoup préfèrent Samba, car NFS est souvent perçu comme plus complexe à configurer. Cependant, cet effort initial en vaut la peine pour bénéficier de la puissance de NFS.