====== Installation NFS v4 ======
{{tag>stockage NFS}}
===== Sur le serveur =====
==== Installation ====
nous installons le paquet
sudo aptitude install nfs-kernel-server
==== Montages ====
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
==== Configuration NFS v4 ====
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
===== Sur le client ======
==== Installation ====
Nous installons le client NFS
sudo aptitude install nfs-common
==== Montages ====
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
===== Liens =====
* [[https://help.ubuntu.com/community/NFSv4Howto|NFS v4 Howto]]
* [[https://www.cyberciti.biz/faq/nfs4-server-debian-ubuntu-linux/|NFS4 server Debian Ubuntu Linux]]
* [[https://www.thegeekdiary.com/basic-nfs-security-nfs-no_root_squash-and-suid/|Basic NFS Security – NFS, no_root_squash and SUID]]
* [[https://www.golinuxcloud.com/nfs-exports-options-examples/|https://www.golinuxcloud.com/nfs-exports-options-examples/]]
* [[https://wiki.archlinux.org/title/NFS|NFS on ArchLinux wiki]]
* [[https://wiki.debian.org/NFSServerSetup|NFS server setup on Debian wiki]]