Vous êtes sur la page 1sur 4

NFS

1. Présentation de NFS

NFS permet à un système de partager des répertoires et des fichiers à travers un réseau.
En utilisant NFS, utilisateurs et programmes peuvent accéder aux fichiers de systèmes
distants comme s'ils étaient des fichiers locaux.

Parmi les avantages les plus remarquables de NFS, on peut mentionner :

1. Les stations de travail locales utilisent moins d'espace disque parce que les don-
nées fréquemment utilisées peuvent être stockées sur une seule machine centrale
tout en restant accessibles à d'autres par le réseau.

2. Il n'est pas nécessaire que les utilisateurs disposent d'un répertoire personnel sur
chaque machine du réseau. Les répertoires personnels peuvent être centralisés sur
le serveur NFS afin d'être accessibles par tout le réseau.

3. Les périphériques de stockage, comme les lecteurs de CD-ROM ou les clefs USB,
peuvent être utilisés par d'autres machines du réseau. Ceci permet de réduire le
nombre de lecteurs de supports amovibles sur un réseau.

2. Installation

Installation côté serveur NFS :


sudo apt install nfs-kernel-server nfs-common

RedHat et CentOS : yum install nfs-ganesha libntirpc

Installation côté client NFS :


sudo apt install nfs-common

RedHat et CentOS : yum install nfs-utils

3. Configuration

3.1 Configuration du serveur NFS

Pour exporter les répertoires en ajoutant au fichier /etc/exports une ligne de la forme
suivante :
/home/anis/lpi hôte-client(rw,sync,no_root_squash)
A. NAANAA 1/4
Les informations se trouvant sur une ligne sont les suivantes :

/home/anis/lpi : chemin menant au dossier partagé.

NFS traduira toutes les opérations root sur le client vers les informations d'identifica-
tion nobody: nogroup comme mesure de sécurité. Par conséquent, nous devons modi-
fier la propriété du répertoire pour qu'il corresponde à ces informations d'identification.

sudo chown nobody:nogroup /home/anis/lpi

Hôte-client : indique quel est l'hôte qui peut accéder à ce partage, l'hôte peut être défini
de plusieurs manières : une IP, un nom d'hôte, un domaine par exemple : *.ubuntu-
fr.org, un intervalle d'IP par exemple : 192.168.0.0/24 ou 192.168.0.*

<options> : indique les options de partage, les plus importantes :

- rw : permet la lecture et l'écriture sur un partage pour l'hôte défini (par défaut, les
partages sont en mode ro; c'est-à-dire en lecture seule).

- sync : Synchronisation entre le client et le serveur NFS.

- root_squash : force le mapping de l'utilisateur root vers l'utilisateur anonyme (option


par défaut).

- no_root_squash : n'effectue pas de mapping pour l'utilisateur root.

- all_squash : force le mapping de tous les utilisateurs vers l'utilisateur anonyme.

Pour démarrer le serveur NFS, saisissez la commande suivante dans un terminal :

sudo systemctl start nfs-kernel-server.service

Après avoir configuré /etc/exports, exportez les partages:

sudo exportfs -ra

3.2 Configuration du client NFS

Utilisez la commande mount pour monter un répertoire NFS partagé à partir d'une
autre machine, en tapant dans un terminal une commande telle que :
sudo mount @IP-serveur:/home/anis/lpi mnt/
Pour voir la liste des répertoires NFS partagé :
showmount –e IP-serveur

A. NAANAA 2/4
4. Montage NFS sous fstab

Une autre façon de monter un partage NFS à partir d'une autre machine est d'ajouter
une ligne au fichier /etc/fstab. La ligne doit comporter le nom d'hôte du serveur NFS,
le répertoire du serveur qui doit être partagé, et le répertoire de la machine locale où le
partage NFS doit être monté.

La syntaxe générale de la ligne dans le fichier /etc/fstab est celle-ci :


IP-serveur:/home/anis/lpi mnt nfs defaults,user,auto 0 0

Remarque

Si la carte réseau et de type Gigabit ethernet, on peut ajouter en option de mon-


tage: ,rsize=16384,wsize=16384

Ces options de montage permettront d’accélérer les communications NFS en lecture


(rsize) et écriture (wsize)

5. Sécurité avec TCPwrapper

Pour bien protéger le réseau local des accès indisérable. Le serveur NFS utilise l’au-
thentification par les fichiers hosts.allow et hosts.deny.
Il suffit d’ajouter les lignes suivantes dans le fichier /etc/hosts.allow :

portmap rpcbind mountd nfsd statd lockd rquotad : liste IP client

et également afin de sécuriser un peu plus le serveur, il faut ajouter dans le fi-
chier /etc/hosts.deny pour refuser tous accès NFS non authentifier :
rpcbind mountd nfsd statd lockd rquotad : ALL

A. NAANAA 3/4
6. Maintenance
Si on obtient un message comme:"mount.nfs: access denied by server while mounting
"ipserveur"" cela est dû au fait que NFSv4 n'utilise pas le système d'authentification
par ip, il est donc utile de rétrograder en version 3 pour que le serveur se base sur l'ip.
Côté serveur
Modifier le fichier /etc/default/nfs-kernel-server et éditer la ligne
RPCNFSDCOUNT='8'
par
RPCNFSDCOUNT='8 --no-nfs-version 4'
Côté client
Ajoutez nfsvers=3 au fichier /etc/fstab
Utilisez nfsstat pour vérifier que la modification à été prise en compte.

Problème de verrouillage de fichiers avec LibreOffice :


Commentez les lignes suivantes dans les fichiers /usr/bin/libreoffice
et /usr/bin/soffice
SAL_ENABLE_FILE_LOCKING=1
export SAL_ENABLE_FILE_LOCKING

Résoudre le problème de temps de montage sur les clients :


Certaine système possède un temps de latence très long pour le montage. Pour le ré-
soudre, sur le client modifier le fichier /etc/default/nfs-common et éditer la ligne
NEED_GSSD=
par
NEED_GSSD=yes
puis blacklister le module 'rpcsec_gss_krb5' en éditant le fichier
/etc/modprobe.d/blacklist.conf en y ajoutant à la fin la ligne :
#To improve NFS mounting time
blacklist 'rpcsec_gss_krb5'

A. NAANAA 4/4

Vous aimerez peut-être aussi