NFS est l'abréviation de Network File System, c'est-à-dire système de fichiers réseau.
Ce système de fichiers 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.
L'intérêt de NFS est de permettre l'utilisation d'un répertoire ou de tout le système de fichiers d'un ordinateur de manière totalement transparente, comme s'il s'agissait d'un disque dur connecté directement à votre ordinateur.
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 ».
NFS surtout avant la version 4 (incompatible avec les précédentes) ne doit être déployé que des réseaux surs.
Quelques soit la version, NFS est a déployer dans un réseau local et n'a de pas vocation à être ouvert sur internet.
On peut utiliser par exemple NFS sur son réseau local derrière une Box assurant le rôle de routeur NAT.
Dans le terminal lancer « ifconfig », 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 fixe :
| Les machines | IP locales | Points de montage des fichiers |
|---|---|---|
| Serveur | 192.168.1.10 | /Fichiers_à_partager_sur_Serveur |
| Votre serveur | IP de votre serveur | Exemple : /home/Votre_Nom_d'Utilisateur_sur_Votre_Serveur |
| Client | 192.168.1.20 | /Point_de_montage_sur_Client |
| Votre client | IP de votre client | Exemple : /home/Nom_d'Utilisateur_sur_le_Client/Partage |
Installez sur le ou les serveurs NFS le paquet nfs-kernel-server
Le serveur NFS ne doit pas voir son IP changer, essayez si vous le pouvez de fixer son IP comme expliqué dans les Pré-requis.
Sur Serveur donc, il faut modifier le fichier /etc/exports et y saisir cette ligne:
# Dossier partagé : /Dossier/à/partager/ 192.168.0.0/255.255.0.0(rw,all_squash,anonuid=1000,anongid=1000,sync)
Vous pouvez empêcher client par client quel ou quel PC peut écrire ou non dans le NFS, mais ceci est plus simple en le paramétrant au niveau du Client.
Explications sur les options d'export de NFS.
Vous pouvez voir de telles configurations dans les Exemples concrets ci dessous.
Après avoir modifié le fichier /etc/exports il suffit de lancer dans un terminal :
sudo service nfs-kernel-server reload
Cette commande ne coupe pas les transferts en cours si la nouvelle configuration permet toujours leur accès au serveur. Vous pouvez donc la lancer plus ou moins à n'importe quel moment.
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 serrait bête de ne pas s'en servir !
Il n'existe pas d'autoconfiguration pour NFS, il faudra donc le faire manuellement.
Le paquet nécessaire pour accéder à un NFS est 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.
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.
Pour ce faire, il suffit de modifier le fichier /etc/fstab pour y ajouter la ligne:
192.168.1.10:/<Dossier_à_partager>/ /media/NFS nfs defaults,user,auto,noatime,intr 0 0
Sachez qu'un firewall 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 NetworkManager un routage sera en place automatiquement, les ordinateurs dans le partage n'ont donc rien à craindre.
Si vous utilisez un pare-feu entre le modem et le PC qui partage la connexion internet, n'ouvrez surtout pas le port NFS vers le modem ! Il faut l'ouvrir dans le sens inverse, c'est-à-dire vers le partage de connexion ! Ne vous trompez pas !
Le seul intérêt d'un pare-feu dans ce cas précis est seulement si vous avez un nombre très important de postes informatiques chez vous et que ces postes risquent d'être utilisés par des personnes malveillantes.
Si vous utilisez tout de même un pare-feu sur vos serveurs et/ou clients NFS, il vous faudra le configurer pour ne pas filtrer NFS et donc pouvoir y accéder :