Utiliser Debian et dérivées

Debian : Installer un serveur NFS

Table des matières

nfs



Introduction



Le système de fichiers en réseau (NFS pour Network File System) est un protocole de partage de fichiers qui permet à plusieurs ordinateurs de partager des fichiers et des répertoires sur un réseau. C'est principalement utilisé avec des systèmes UNIX et Linux, mais on peut le rencontrer parfois dans le monde Windows.

En utilisant NFS, les utilisateurs peuvent accéder aux fichiers et aux répertoires stockés sur un serveur distant comme s'ils étaient stockés localement sur leur propre ordinateur.

On parlera d'un serveur NFS pour le serveur qui héberge les fichiers et de client NFS pour l'ordinateur qui accède aux fichiers stockés sur le serveur.

NFS n'a pas les mêmes objectifs que SMB (Samba) pour le partage de fichiers, il n'a donc pas de gestion de droits similaires.

Ici, on va détailler l'installation d'un serveur NFS sous Debian et montrer comment connecter un client à ce partage.


Installation



L'installation se fait via le paquet :

Code BASH :
apt install nfs-kernel-server


Si on a un nom de domaine, on peut éditer le fichier idmapd.conf

Code BASH :
vi /etc/idmapd.conf


Code BASH :
Domain = linuxtricks.lan


Et on active et démarre le service nfs :

Code BASH :
systemctl enable --now nfs-server.service



Configuration



La configuration des partages sur le serveur se fait dans le fichier /etc/exports.

Plus d'informations dans cet article dédié : https://www.linuxtricks.fr/wiki/nfs-parametrer-les-partages-avec-le-fichier-exports


Partie client



Pour la partie cliente, on installe aussi les paquets adéquats :

Code BASH :
apt install nfs-common


Et pour monter le partage, rien de plus simple :

Code BASH :
mkdir -p /media/nfs
mount -t nfs 192.168.21.200:/media/partage /media/nfs


Avec la commande df, on peut voir que tout est monté :

Code BASH :
df -h
Filesystem            Size  Used Avail Use% Mounted on
192.168.21.200:/media/partage       20G  985M   18G   5% /media/nfs


On peut aussi monter ça dans le fstab, mais attention, si le serveur NFS n'est pas dispo, le boot peut venir en échec (option nofail utile dans ce cas, mais montage à réaliser manuellement) :

Code BASH :
192.168.21.200:/media/partage   /media/nfs   nfs      auto,_netdev,nofail 0 0


Quelques options de montage utiles



Au travail, j'utilise un partage NFS pour étendre du stockage pour un coût peu élevé.
Mais le système se comporte bizarrement lorsque le partage NFS est indisponible (reboot du NAS, perte temporaire de réseau).

Pour cela, on peut monter le partage NFS avec les options soft, retrans et timeo. Je choisis 2 retransmissions en cas d'échec et 5 dixièmes de secondes (500 ms) de timeout (le NAS et le serveur sont dans le même sous-réseau, sur le même switch)

Code BASH :
mount -t nfs4 192.168.21.200:/media/partage /media/nfs -o soft,retrans=2,timeo=5


Ou dans /etc/fstab :

Code BASH :
192.168.21.200:/media/partage   /media/nfs   nfs      auto,_netdev,nofail,soft,retrans=2,timeo=5 0 0



Accès en graphique



Au lieu de faire un montage dans le fichier /etc/fstab, et d'accéder à ce dossier, il est possible d'accéder graphiquement au serveur NFS directement depuis le gestionnaire de fichiers.
Nautilus (GNOME), Nemo (Cinnamon), Thunar (Xfce), Caja (MATE) utilisent gvfs.

Il suffit simplement dans la barre d'adresse de saisir l'adresse sous la forme :
Code TEXT :
nfs://ip_ou_nom_du_serveur/point_de_montage


Exemple :
Code TEXT :
nfs://192.168.21.200/media/partage



Sur Debian, gvfs semble ne pas vouloir se connecter avec l'erreur suivante dans les logs :
Code TEXT :
rpc.mountd[2504]: refused mount request from 192.168.21.100 for /srv/nfs (/srv/nfs): illegal port 43782


Il suffit en root de donner la possibilité à gvfs d'utiliser les ports inférieurs à 1024 :
Code BASH :
setcap 'cap_net_bind_service=+ep' /usr/libexec/gvfsd-nfs
Cette page a été vue 35763 fois