nous installons le paquet
sudo aptitude install nfs-kernel-server
Nous créons le répertoire qui va stocker les données
sudo mkdir -p /srv/share
Nous créons le répertoire qui va servir le partage
sudo mkdir -p /exports/share
Nous montons le partage
sudo mount --bind /srv/share /exports/share
Pour contrôler que le partage est bien monté
mount
Nous ajoutons les points de montages dans le fichier /etc/fstab
/srv/share /exports/share none bind 0 0
Nous renseignons le fichiers /etc/exports
/exports 192.168.100.0/24(rw,fsid=0,no_subtree_check,sync) /exports/share 192.168.100.42(rw,sync,no_subtree_check)
Nous renseignons les paramètres dans le fichier /etc/default/nfs-common
# Do you want to start the statd daemon? It is not needed for NFSv4. NEED_STATD=no # Do you want to start the idmapd daemon? It is only needed for NFSv4. NEED_IDMAPD=yes # Do you want to start the gssd daemon? It is required for Kerberos mounts. NEED_GSSD=no
Afin de forcer l'utilisation de NFS v4, nous désactivons NFS v2 et v3 dans le fichier /etc/default/nfs-kernel-server
# Options for rpc.mountd. # If you have a port-based firewall, you might want to set up # a fixed port here using the --port option. For more information, # see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS # To disable NFSv4 on the server, specify '--no-nfs-version 4' here RPCNFSDOPTS="-N 2 -N 3" RPCMOUNTDOPTS="--manage-gids -N 2 -N 3"
Enfin, nous redémarrons NFS
sudo service nfs-kernel-server restart
Note importante : si lors de la tentative d'écriture sur un volume NFS vous avez ce genre d'erreur “ERROR: no locks available”, c'est que le service rpc-statd n'est pas lancé.
Pour résoudre le problème :
sudo systemctl enable rpc-statd sudo systemctl start rpc-statd
Nous installons le client NFS
sudo aptitude install nfs-common
Nous créons le répertoire, et montons le partage précédemment créé
sudo mkdir /mnt/share sudo mount -t nfs4 192.168.100.100:/share /mnt/share
Si tout est ok, nous pouvons ajouter cette ligne au fichier /etc/fstab
ip_server:/share /mnt/share nfs4 nodev,nosuid,noexec,_netdev 0 0