Vous êtes sur la page 1sur 9

29/03/2021 nfs [Wiki ubuntu-fr]

 Partage  réseau nfs

NFS : Network File System - le partage


réseau sous Linux
NFS () est l'abréviation de Network File System (https://fr.wikipedia.org/wiki/Network_File_System), c'est-
à-dire système de chiers réseau.

Ce système de chiers en réseau permet de partager des données principalement entre systèmes de type
UNIX mais des versions existent également pour Microsoft Windows™ et Mac.
NFS () est compatible avec IPv6 sur la plupart des systèmes.

1. Alternative avec interface graphique GUI


Avant de vous lancer dans la lecture de cette documentation, il existe une application permettant de créer
facilement un partage de chiers avec NFS (). Son usage évite d'utiliser le terminal et favorise la
con guration du réseau partagé NFS ().

https://github.com/Philippe734/Simple.NFS.GUI (https://github.com/Philippe734/Simple.NFS.GUI)

Avant d'installer cette application, il est nécessaire d'en installer d'autres.


https://doc.ubuntu-fr.org/nfs 1/9
29/03/2021 nfs [Wiki ubuntu-fr]

gambas3-runtime gambas3-gb-form gambas3-gb-gtk3 (apt://gambas3-runtime,gambas3-gb-


form,gambas3-gb-gtk3)

sudo apt-get install -y gambas3-runtime


sudo apt-get install -y gambas3-gb-form
sudo apt-get install -y gambas3-gb-gtk3

Lorsque cette application sera lancée, elle installera automatiquement l'application fping

2. Avec le terminal, pré-requis


2.1 Deux ordinateurs au moins
Un serveur sous GNU ()/Linux (ici Ubuntu) où se trouvent les chiers à partager.
Un client qui doit pouvoir accéder aux chiers du Serveur.

2.2 Ne pas avoir peur de la ligne de commande


Voir ici les bases du terminal.

2.3 Avoir les droits d'administration sur les deux machines


C'est-à-dire de pouvoir installer des paquets et utiliser la commande sudo

Voir ici de quoi il est question et en particulier la commande « sudo ».

2.4 Être sur un réseau de con ance


NFS (https://fr.wikipedia.org/wiki/NFS) surtout avant la version 4 (incompatible avec les précédentes) ne
doit être déployé que sur des réseaux sûrs.
Quelle que soit la version, NFS () est a déployer dans un réseau local
(https://fr.wikipedia.org/wiki/Réseau_local) et n'a pas de vocation à être ouvert sur internet
(https://fr.wikipedia.org/wiki/internet).
On peut utiliser par exemple NFS () sur son réseau local derrière une Box assurant le rôle de routeur
(https://fr.wikipedia.org/wiki/routeur) NAT (https://fr.wikipedia.org/wiki/Network_address_translation).

2.5 Connaître les adresses IP locales de Serveur et de Client


Dans le terminal lancer « ifcon g », l'adresse est à la ligne « inet adr: », paragraphe « eth » si vous êtes
connecté en ethernet, « wlan » pour une connexion Wi-Fi.

Vous pouvez aussi connaître l'IP de vos PC via l'applet network-manager.

Pour la suite de cet exemple, on considérera que Serveur et Client ont une adresse locale xe :

Serveur : 192.168.0.10
Client : 192.168.0.20

https://doc.ubuntu-fr.org/nfs 2/9
29/03/2021 nfs [Wiki ubuntu-fr]

 Il peut être important de xer les adresses IP de vos ordinateurs pour être sûr qu'elles ne
changeront pas :
Soit à partir de l'interface du routeur / de la *box. Ouvrez Firefox, et tapez dans la
barre d'adresse celle donnée dans le mode d'emploi du routeur / de la *box (le login et
le mot de passe y sont aussi). Plus d'infos.
Soit directement à partir d'Ubuntu via Network-Manager ou par la con guration xe
(http://forum.ubuntu-fr.org/viewtopic.php?pid=1152502#p1152502)

2.6 Se faire un aide-mémoire


Les machines IP locales Points de montage des chiers

Votre serveur IP de votre serveur Exemple : /home/Votre_Nom_d'Utilisateur_sur_Votre_Serveur

Serveur 192.168.0.10 /Fichiers_à_partager_sur_Serveur

Votre client IP de votre client Exemple : /home/Nom_d'Utilisateur_sur_le_Client/Partage

Client 192.168.0.20 /Point_de_montage_sur_Client

 Vous n'êtes pas obligé de connaître les IP de tous vos clients si vous en avez beaucoup ou si
leurs IP sont amenées à changer
En e et avec cette méthode, les ordinateurs de tout votre réseau local pourront sans
distinction utiliser NFS ().
D'autres méthodes décrites dans les Exemples concrets vous demanderont de les connaître.

3. Création d'un Serveur NFS


3.1 Installation
Installez sur le ou les serveurs NFS () le paquet nfs-kernel-server (apt://nfs-kernel-server)

3.2 Con guration


3.2.1 déclaration de l'Export NFS
La con guration d'un 'export' NFS () se fait en éditant le chier /etc/exports

/etc/exports

# Un exemple à adapter:
/Dossier/à/partager/ 192.168.0.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_ch
/Dossier/numero02/ master(rw) trusty(rw,no_root_squash)

Dans ce chier, chaque ligne est dé nie comme ceci :


https://doc.ubuntu-fr.org/nfs 3/9
29/03/2021 nfs [Wiki ubuntu-fr]

<dossier partagé> <hôte>(<options>) <hôte2>(<options>)...

Les informations se trouvant sur une ligne sont les suivantes1) :

<dossier partagé> : chemin menant au dossier partagé.


<hôte> : indique quel est l'hôte qui peut accéder à ce partage, l'hôte peut être dé ni de plusieurs
manières :
une IP : on indique simplement l'adresse IP de la machine pouvant accéder à ce partage.
un nom d'hôte : on indique le nom complet de l'hôte (pour peu qu'il soit connu du système au
travers d'un DNS () ou du chier hosts ).
un nom de groupe réseau NIS (NIS netgroup) qui s'indique sous la forme @<netgroup> .
un domaine avec un joker qui indique les machines d'un domaine ou sous-domaine; par
exemple : *.ubuntu-fr.org .
un intervalle d'IP avec le masque de sous-réseau; par exemple : 192.168.0.0/24 ou
192.168.0.*
<options> : indique les options de partage; nous n'allons pas parcourir toutes les options ensemble
mais uniquement les plus importantes.
rw : permet la lecture et l'écriture sur un partage pour l'hôte dé ni (par défaut, les partages
sont en mode ro ; c'est-à-dire en lecture seule).
async : permet au serveur NFS () de violer le protocole NFS () et de répondre aux requêtes
avant que les changements e ectués par la requête aient été appliqués sur l'unité de
stockage. Cette option améliore les performances mais a un coût au niveau de l'intégrité des
données (données corrompues ou perdues) en cas de redémarrage non-propre (par exemple
en cas de crash système).
sync : est le contraire de async . Le serveur NFS () respecte le protocole NFS ().
root_squash : force le mapping de l'utilisateur root vers l'utilisateur anonyme (option par
défaut).
no_root_squash : n'e ectue pas de mapping pour l'utilisateur root .
all_squash : force le mapping de tous les utilisateurs vers l'utilisateur anonyme.
anonuid : indique au serveur NFS () l'UID de l'utilisateur anonyme (considéré comme tel dans
les précédentes options de mapping).
anongid : indique au serveur NFS () le GID de l'utilisateur anonyme (considéré comme tel dans
les précédentes options de mapping).
subtree_check : Si un sous-répertoire dans un système de chiers est partagé, mais que le
système de chiers ne l'est pas, alors chaque fois qu'une requête NFS () arrive, le serveur doit
non seulement véri er que le chier accédé est dans le système de chiers approprié (ce qui
est facile), mais aussi qu'il est dans l'arborescence partagée (ce qui est plus compliqué). Cette
véri cation s'appelle subtree_check.
no_subtree_check : Cette option neutralise la véri cation de sous-répertoires, ce qui a des
subtiles implications au niveau de la sécurité, mais peut améliorer la abilité dans certains cas.

Ce qui pourrait donner par exemple:

/media/NFS 192.168.0.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

 Si vous obtenez l'erreur suivante au montage : mount.nfs4: access denied by server while
mounting, véri ez les droits d'accès au dossier partagé (le dossier est peut être en mode
interdit pour "autres" ce qui le rend impossible à lire pour le serveur NFS ())

https://doc.ubuntu-fr.org/nfs 4/9
29/03/2021 nfs [Wiki ubuntu-fr]

3.2.2 relancer le service


Après avoir dé ni vos partages dans le chier /etc/exports il su t de relancer le service nfs:

sudo service nfs-kernel-server reload

Cette commande ne coupe pas les transferts en cours si la nouvelle con guration permet toujours leur
accès au serveur. Vous pouvez donc la lancer plus ou moins à n'importe quel moment.

Pour véri er que l'export a bien eu lieu, taper sur le serveur NFS () la commande :

showmount -e

Si l'export n'est pas e ectif , il faut faire restart du service NFS () mais attention cela peut interrompre les
transferts en cours :

sudo service nfs-kernel-server restart

3.2.3 Un peu de sécurité avec TCPwrapper


Pas indispensable si vous avez un bon rewall entre internet et votre réseau local, NFS () peut être protégé
par le serveur le cas échéant. (testez tout d'abord votre con guration sans protection pour voir si tout
fonctionne si vous comptez utiliser ce genre de protection dans le futur)

Si vous utilisez denyhosts sur le serveur, il vous faudra ajouter les lignes suivantes dans le chier
/etc/hosts.allow :

/etc/hosts.allow

portmap: <ip de la machine cliente>


lockd: <ip de la machine cliente>
nfsd: <ip de la machine cliente>
mountd: <ip de la machine cliente>
rquotad: <ip de la machine cliente>
statd: <ip de la machine cliente>

et également a n de sécuriser un peu plus votre installation, ajouter dans le chier /etc/hosts.deny :

/etc/hosts.deny

# Tout interdire sur portmap, nfsd et mountd


portmap:ALL
nfsd:ALL
mountd:ALL

3.3 Exemples concrets


Exemple de partage avec NFS : Exemple de réseau entre 3 ordinateurs qui permet l'échange et le
partage de chiers avec le minimum de contraintes via nfs-kernel-server.

Partager une partition en réseau : Exemple en éditant les chiers de con guration du partage
d'une partition de sauvegarde en réseau via nfs-kernel-server.

https://doc.ubuntu-fr.org/nfs 5/9
29/03/2021 nfs [Wiki ubuntu-fr]

Un simple partage NFS : Tutoriel expliquant pas à pas comment accéder à distance aux documents
enregistrés sur un ordinateur à partir d'un autre. Nécessite de saisir quelques lignes de commandes,
mais permet de comprendre tout en faisant.
D'autres méthodes, parfois obsolètes, sont également disponible sur l'ancienne version de la page
NFS.

4. Client NFS
Pour accéder à un NFS (), il faut le "monter". En gros il s'agit de dire au service qui s'occupe des disques
durs que ce serveur NFS () est comme un disque dur et qu'il serait bête de ne pas s'en servir !

Il n'existe pas d'autocon guration pour NFS (), il faudra donc le faire manuellement.

4.1 Ubuntu GNU/Linux


Le paquet nécessaire pour accéder à un NFS () est nfs-common (apt://nfs-common)

Après avoir installé ce paquet, il existe deux solutions pour monter son NFS () sur un ordinateur.
La première est plus adaptée à un Serveur allumé en permanence (ou presque), la seconde via autoFS est
peut être plus tolérante à l'arrêt inopiné du serveur.

Pour parcourir les partages NFS () d'un serveur (ici : serveur.local, que vous pouvez remplacer par l'IP)
saisissez dans un terminal la commande suivante:

showmount -e serveur.local
Export list for serveur.local:
/mnt/nas/media *.local,192.168.0.0/255.255.0.0

4.1.1 Modi er /etc/fstab


Il faut tout d'abord créer un dossier dans lequel le NFS () viendra se loger. Ouvrez donc un terminal sur vos
clients puis tapez:

sudo mkdir /media/NFS

Vous pouvez bien entendu créer un répertoire du nom de votre choix; dans ce cas adaptez les instructions
suivantes au besoin.

Pour ce faire, il su t de modi er le chier /etc/fstab pour y ajouter la ligne:

192.168.0.10:/<Dossier_à_partager>/ /media/NFS nfs defaults,user,auto,_netdev,bg 0 0

192.168.0.10 étant l'IP de votre serveur


<Dossier_à_partager> étant le dossier sur votre serveur que vous voulez recevoir (doit
correspondre à celui que le serveur veut envoyer)
/media/NFS () On précise le point de montage (dossier que vous avez créé juste avant dans lequel
vous souhaitez monter le partage NFS ())
nfs On précise le protocole utilisé.

https://doc.ubuntu-fr.org/nfs 6/9
29/03/2021 nfs [Wiki ubuntu-fr]

defaults,user,auto,_netdev sont décrite dans fstab, vous pouvez ajouter ro à la n pour ne pas
autoriser l'écriture.
atime/noatime, diratime/nodiratime, relatime/norelatime, strictatime/nostrictatime mount n'as
pas d'e et pour un montage nfs
bg permet de ne pas bloquer le démarrage du client si le serveur n'est pas opérationnel.
0 0 dit à Linux de ne pas véri er si le disque contient des erreurs (le serveur s'en occupera)

 Optimisation possible:
Si vous utilisez un réseau Gigabit ethernet (les dernier switchs, routeurs, box), vous
pouvez ajouter en option de montage: ,rsize=16384,wsize=16384

Ces options de montage permettront de booster légèrement à énormément (suivant la carte


réseau) la vitesse de transfert sur les gros chiers.

Si votre serveur est très peu puissant (un Pentium 2 ou 3 par exemple plus de 12 ans
d'âge, bon millésime) vous pouvez augmenter les performances en ajoutant en
"options de montage" (voir plus haut) ,vers=3,udp ceci aura pour e et d'utiliser la
version 3 de NFS () ainsi que le protocole UDP.

Vous devriez maintenant utiliser moins de processeur mais ceci peut ne pas marcher très
bien si votre liaison réseau est de mauvaise qualité (ne surtout pas utiliser ces options sur
les clients en Wi !)

4.1.2 Utiliser Autofs


Autofs : Logiciel pour monter facilement votre partage NFS ().

Se servir d'AutoFS a de grands avantages quand à la gestion d'un partage NFS () pour un client qui peut
être déplacé vers un autre réseau, comme un ordinateur portable. Des problèmes d'instabilité peuvent
survenir quand le NFS () est en montage automatique comme avec les indications ci-dessus. Et s'il n'est pas
automatique alors cela nécessite de monter manuellement le partage quand on rejoint à nouveau le réseau
local. Auto-FS permet très simplement de dé nir le montage automatique quand on accède aux dossiers
correspondant au partage.

La première étape est d'installer autofs comme indiqué dans la page dédiée sous le lien plus haut.

Il y a plusieurs méthodes pour ajouter un partage NFS (), mais celle qui o re le plus de souplesse est
d'utiliser l'option hosts. Voici la ligne à ajouter en bas du chier /etc/auto.master

/net -hosts -fstype=nfs4,rw

Redémarrez le service Autofs

sudo service autofs restart

Et c'est tout !

Ou presque, vous venez de dé nir que le dossier /net à la racine du système est un portail pour accéder à
n'importe quel partage accessible. La con guration de ce partage n'est plus déterminée que par le chemin
d'accès. Voici des exemples avec le serveur <serveur>.local et le partage /<Dossier à partager>, vous n'avez
qu'à accéder à :

https://doc.ubuntu-fr.org/nfs 7/9
29/03/2021 nfs [Wiki ubuntu-fr]

/net/<serveur>.local/<Dossier à partager>/

Pour vous simpli er la vie, ou si vous aviez déjà con guré préalablement le montage sur un dossier comme
/media/NFS (), il vous su t de remplacer le dossier /media/NFS () par un lien symbolique :

sudo umount /media/NFS # Démontage du partage existant si besoin


sudo rmdir /media/NFS # Suppression du point de montage si existant
sudo ln -s /net/<serveur>.local/<Dossier à partager> /media/NFS # Création du lien symbolique

Ainsi vos anciens raccourcis ne seront pas perturbés.

4.2 Windows
Comment con gurer un PC client Windows pour accéder à un partage NFS : Tutoriel pour accéder
au partage NFS () depuis un client Windows à l'aide de Windows Services for Unix (SFU).

5. Firewall (Pare-feu) et NFS


Sachez qu'un rewall ne vous servira à rien si vous êtes (comme ce tutoriel l'exige très important) derrière
un routeur.
Si vous faites un partage de connexion via partage NFS et Firewall (UFW ) : Comment xer les ports
utilisés lors d'un partage NFS () ( rewalling, routage..) . ===== Résoudre les problèmes ===== ====
Rétrograder en NFSv3 ==== Si vous obtenez un message comme:"mount.nfs: access denied by server
while mounting"ipserveur"", c'est certainement que vous avez entré les bonnes adresses ip autorisés
dans export, cependant, NFSv4 n'utilise pas le système d'authenti cation par ip, il est donc utile de
rétrograder en version 3 pour que le serveur se base sur l'ip === Côté serveur === Modi er le chier
/etc/default/nfs-kernel-server et éditer la ligne <code>RPCNFSDCOUNT='8' </code> par
<code>RPCNFSDCOUNT='8 –no-nfs-version 4'</code> === Côté client === Ajoutez ,vers=3 aux options
de montage dans le chier chier /etc/fstab comme ceci : < le> 192.168.0.10:/<Dossier_à_partager>/
/media/NFS () nfs defaults,user,auto,noatime,bg,vers=3 0 0 </ le> Utilisez nfsstat pour véri er que
la modi cation à été prise en compte. ==== Résoudre le problème de verrouillage de chiers avec
LibreO ce ==== Commentez les lignes suivantes dans les chiers /usr/bin/libreo ce et
/usr/bin/so ce (ajouter un # devant les deux lignes) <code>SAL_ENABLE_FILE_LOCKING=1 export
SAL_ENABLE_FILE_LOCKING</code> ==== Résoudre le problème de temps de montage sur les clients
==== Les clients Ubuntu 13 et 14 présentent un bug connu : un temps de latence très long pour le
montage https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1270445
(https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1270445) Pour le résoudre, sur le client
Modi er le chier /etc/default/nfs-common** et éditer la ligne

# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=

par

https://doc.ubuntu-fr.org/nfs 8/9
29/03/2021 nfs [Wiki ubuntu-fr]

# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=yes

puis blacklister le module 'rpcsec_gss_krb5' en éditant le chier /etc/modprobe.d/blacklist.conf en y


ajoutant à la n la ligne :

#To improve NFS mounting time


blacklist 'rpcsec_gss_krb5'

6. Autres liens
http://nfs.sourceforge.net/ (http://nfs.sourceforge.net/)
Con gurer NFS pour KODI (http://kodi.wiki/view/NFS)

AutoFS - montage automatique de systèmes de chier


Clonezilla
NFS : Network File System - le partage réseau sous Linux
Fixer les ports pour un partage NFS
Partage
Redmine
SSH
Système
Index : table des matières par thèmes
Accéder à votre NAS depuis toutes les applications
Comment garder synchrones les horloges d'un réseau local
Comment utiliser dvdrip/transcode en mode cluster ?
Comment con gurer un PC client Windows pour accéder à un partage NFS
Exemple de partage avec NFS
Samba AD DC - Partage NFSv4 avec authenti cation Kerberos
Un simple partage NFS
Réseau
Mes paquets préférés
Samba AD DC - Partage NFSv4 avec authenti cation Kerberos
NFS - V4 : Network File System - le partage réseau sous Linux
SSH
X11vnc : contrôler un ordinateur à distance

1) exports (http://manpages.ubuntu.com/exports)

 nfs.txt  Dernière modi cation: Le 22/03/2021, 15:25 par gascon

https://doc.ubuntu-fr.org/nfs 9/9

Vous aimerez peut-être aussi