Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nfs [Le 24/05/2018, 16:54]
193.49.118.36 [Exemples concrets]
nfs [Le 27/02/2023, 10:02] (Version actuelle)
185.159.157.45 [Alternative avec interface graphique GUI]
Ligne 9: Ligne 9:
 **NFS** est compatible avec IPv6 sur la plupart des systèmes. **NFS** est compatible avec IPv6 sur la plupart des systèmes.
  
-===== Alternative ​sans terminal ​=====+===== Alternative ​avec interface graphique GUI ===== 
 + 
 +<note tip>​Cette appli fonctionne de nouveau avec les dernières versions d'​Ubuntu grâce au format AppImage</​note>​
  
 Avant de vous lancer dans la lecture de cette documentation,​ il existe une application permettant de créer facilement un partage de fichiers avec NFS. Son usage évite d'​utiliser le terminal et favorise la configuration du réseau partagé NFS. Avant de vous lancer dans la lecture de cette documentation,​ il existe une application permettant de créer facilement un partage de fichiers avec NFS. Son usage évite d'​utiliser le terminal et favorise la configuration du réseau partagé NFS.
  
 https://​github.com/​Philippe734/​Simple.NFS.GUI https://​github.com/​Philippe734/​Simple.NFS.GUI
 +
 +[[https://​github.com/​Philippe734/​Simple.NFS.GUI/​releases|Lien du télechargement]]
 +
 +[[https://​github.com/​Philippe734/​Simple.NFS.GUI|Tuto vidéo en français sur le site officiel]]
 +
 +{{::​27803265-f3ab49dc-6028-11e7-8e10-857f86ac5a85.png?​400|}}
 +
 +Elle installera automatiquement les paquets **fping**, **nfs-common** et **nfs-kernel-server**
  
 ===== Avec le terminal, pré-requis ===== ===== Avec le terminal, pré-requis =====
Ligne 19: Ligne 29:
  
   *Un **[[:​serveur]]** sous GNU/Linux (ici Ubuntu) où se trouvent les fichiers à partager.   *Un **[[:​serveur]]** sous GNU/Linux (ici Ubuntu) où se trouvent les fichiers à partager.
-  *Un **client** qui doit pouvoir accéder aux fichiers du Serveur. ​+  *Un **client** qui doit pouvoir accéder aux fichiers du Serveur.
  
 ==== Ne pas avoir peur de la ligne de commande ==== ==== Ne pas avoir peur de la ligne de commande ====
Ligne 78: Ligne 88:
 /​Dossier/​à/​partager/​ 192.168.0.0/​24(rw,​all_squash,​anonuid=1000,​anongid=1000,​sync,​no_subtree_check) /​Dossier/​à/​partager/​ 192.168.0.0/​24(rw,​all_squash,​anonuid=1000,​anongid=1000,​sync,​no_subtree_check)
 /​Dossier/​numero02/ ​ master(rw) trusty(rw,​no_root_squash) /​Dossier/​numero02/ ​ master(rw) trusty(rw,​no_root_squash)
 +/​media/​moi/​Photos 192.168.0.0/​24(rw,​all_squash,​anonuid=1000,​anongid=1000,​sync,​no_subtree_check)
 +/​media/​moi/​Sport/​Petanque 192.168.0.0/​99(sync)
 </​file>​ </​file>​
  
Ligne 92: Ligne 104:
      * un intervalle d'IP avec le masque de sous-réseau;​ par exemple : ''​192.168.0.0/​24''​ ou ''​192.168.0.*''​      * 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.   * **<​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éfini ​(par défaut, les partages sont en mode ''​ro'';​ c'​est-à-dire en lecture seule).+     * **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.
      * **async** : permet au serveur NFS de violer le protocole NFS et de répondre aux requêtes avant que les changements effectué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).      * **async** : permet au serveur NFS de violer le protocole NFS et de répondre aux requêtes avant que les changements effectué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.      * **sync** : est le contraire de ''​async''​. Le serveur NFS respecte le protocole NFS.
Ligne 106: Ligne 118:
   /media/NFS 192.168.0.0/​24(rw,​all_squash,​anonuid=1000,​anongid=1000,​sync,​no_subtree_check)   /media/NFS 192.168.0.0/​24(rw,​all_squash,​anonuid=1000,​anongid=1000,​sync,​no_subtree_check)
  
-<​note>​Si vous obtenez l'​erreur suivante au montage : **mount.nfs4:​ access denied by server while mounting**, vérifiez 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)</​note>​+<​note>​Si vous obtenez l'​erreur suivante au montage : **mount.nfs4:​ access denied by server while mounting**, vérifiez 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.</​note>​ 
 + 
 +<note tip>​essayer aussi une codification plus simple<​code bash>/​media/​NFS 192.168.0.24(rw,​sync,​no_subtree_check) 
 +ou 
 +/media/nfs 192.168.0.24(sync)</​code>​</​note>​
  
 === relancer le service === === relancer le service ===
Ligne 115: Ligne 131:
  
 Pour vérifier que l'​export a bien eu lieu, taper sur le serveur NFS la commande : Pour vérifier que l'​export a bien eu lieu, taper sur le serveur NFS la commande :
-  showmount -e+  showmount -e  
 +<note important>​Si vous n'​ajoutez pas l'​adresse I.P. de votre machine, vous aurez  cette réponse **clnt_create:​ RPC: Unable to receive** en version 22.04.1</​note>​
  
 Si l'​export n'est pas effectif , il faut faire restart du service NFS mais attention cela peut interrompre les transferts en cours : Si l'​export n'est pas effectif , il faut faire restart du service NFS mais attention cela peut interrompre les transferts en cours :
Ligne 122: Ligne 139:
 === Un peu de sécurité avec TCPwrapper === === Un peu de sécurité avec TCPwrapper ===
  
-Pas indispensable si vous avez un bon firewall entre internet et votre réseau local, NFS peut être protégé par le serveur le cas échéant. ​(testez ​tout d'​abord votre configuration sans protection pour voir si tout fonctionne si vous comptez utiliser ce genre de protection dans le futur)+Pas indispensable si vous avez un bon firewall entre internet et votre réseau local, NFS peut être protégé par le serveur le cas échéant. ​Testez ​tout d'​abord votre configuration sans protection pour voir si tout fonctionne si vous comptez utiliser ce genre de protection dans le futur.
  
 Si vous utilisez [[:​denyhosts|denyhosts]] sur le serveur, il vous faudra ajouter les lignes suivantes dans le fichier /​etc/​hosts.allow : Si vous utilisez [[:​denyhosts|denyhosts]] sur le serveur, il vous faudra ajouter les lignes suivantes dans le fichier /​etc/​hosts.allow :
Ligne 141: Ligne 158:
 mountd:ALL mountd:ALL
 </​file>​ </​file>​
-Félix arrête ​de copier ​sur tes voisins+ 
 +=== mise en veille === 
 + 
 +Si vous mettez en veille votre serveur NFS ou si il se met en veille automatique après un certain délai pour économiser l'​énergie,​ alors vos clients NFS qui utilisent les partitions exportées seront "​bloqués"​. 
 +Par exemple si un client NFS se met en veille, lors du réveil, après saisie du mot de passe dans l'​écran de session, vous serez "​bloqué"​ et aurez bien du mal à reprendre la main. 
 +Pour éviter cet effet de bord, je vous conseille de ne pas utiliser la mise en veille automatique ​sur votre serveur NFS (celui qui exporte les partitions) mais seulement l'​économie d'​énergie de l'​écran (sans effet sur les partitions). 
 + 
 + 
 + 
 +==== Exemples concrets ==== 
 + 
 +  * **[[:​tutoriel:​partage_nfs|Exemple de partage avec NFS]]** : Exemple de réseau entre 3 ordinateurs qui permet l'​échange et le partage de fichiers avec le minimum de contraintes via //​nfs-kernel-server//​.  
 + 
 +  * **[[:disque réseau|Partager une partition en réseau]]** : Exemple en éditant les fichiers de configuration du partage d'une partition de sauvegarde en réseau via //​nfs-kernel-server//​. 
 + 
 +  * **[[:​tutoriel:​un_simple_partage_nfs|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'​[[:​nfs?​rev=1258038788|ancienne version de la page NFS]]. 
 ===== Client NFS ===== ===== Client NFS =====
  
Ligne 168: Ligne 202:
   sudo mkdir /media/NFS   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. ​+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 suffit de [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] **/​etc/​fstab** pour y ajouter la ligne: Pour ce faire, il suffit de [[:​tutoriel:​comment_modifier_un_fichier|modifier le fichier]] **/​etc/​fstab** pour y ajouter la ligne:
  
 <​file>​ <​file>​
-  ​192.168.0.10:/<​Dossier_à_partager>/​ /media/NFS nfs defaults,​user,​auto,​noatime,intr 0 0+192.168.0.10:/<​Dossier_à_partager>/​ /media/NFS nfs defaults,​user,​auto,​_netdev,bg 0 0
 </​file>​ </​file>​
  
   * **192.168.0.10** étant l'IP de votre serveur   * **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)   * **<​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)+  * **/​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é.   * **nfs** On précise le protocole utilisé.
-  * **defaults,​user,​auto,​noatime,​intr** sont des options de montage, vous pouvez ajouter **,ro** à la fin pour ne pas autoriser l'​écriture.+  * **defaults,​user,​auto,​_netdev** sont décrite dans [[:​mount_fstab#​utilisation_avancee|fstab]], vous pouvez ajouter **ro** à la fin pour ne pas autoriser l'​écriture
 +  * **atime/​noatime,​ diratime/​nodiratime,​ relatime/​norelatime,​ strictatime/​nostrictatime mount** n'as pas d'​effet 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érifier si le disque contient des erreurs (le serveur s'en occupera)   * **0 0** dit à Linux de ne pas vérifier si le disque contient des erreurs (le serveur s'en occupera)
  
-<note important>​l'​option ​**intr** est dépréciée depuis la version de kernel 2.6.25 donc [[lucid|Lucid 10.04 LTS]] comme le stipule la manpage [[man>nfs|NFS]]</​note>​+<note important>​Avec un **client en version 22.04**, ce paramètre **0 0** n'est plus supporté et sa présences provoque ​ un émergency mode   Il en est de même si le serveur est  ​[[https://​bugs.launchpad.net/​ubuntu/​+source/​util-linux/​+bug/​1972099|inaccessible]].</note> 
 + 
 +<note important>​Avec un **serveur en version 22.04 et un client plus ancien**, il faut ajouter **vers=4.0** dans les options de montage ​nfs [[https://​ubuntuforums.org/​showthread.php?​t=2474184&​s=cfa4d39d1435ab8a82f5edecaaf0ef04&​p=14092329#​post14092329]]</​note>​
  
 <note idée>​**Optimisation possible:** \\ <note idée>​**Optimisation possible:** \\
Ligne 195: Ligne 233:
  
   * **[[:​autofs#​nfs|Autofs]]** : Logiciel pour monter facilement votre partage NFS.   * **[[:​autofs#​nfs|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éfinir 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 offre le plus de souplesse est d'​utiliser l'​option hosts. Voici la ligne [[:​tutoriel:​comment_modifier_un_fichier|à ajouter en bas du fichier /​etc/​auto.master]]
 +<​file>​
 +/net    -hosts -fstype=nfs4,​rw
 +</​file>​
 +Redémarrez le service Autofs
 +<​code>​
 +sudo service autofs restart
 +</​code>​
 +Et c'est tout !
 +
 +Ou presque, vous venez de définir que le dossier /net à la racine du système est un portail pour accéder à n'​importe quel partage accessible. La configuration 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 à :
 +<​code>​
 +/​net/<​serveur>​.local/<​Dossier à partager>/​
 +</​code>​
 +Pour vous simplifier la vie, ou si vous aviez déjà configuré préalablement le montage sur un dossier comme /media/NFS, il vous suffit de remplacer le dossier /media/NFS par un lien symbolique :
 +<​code>​
 +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
 +</​code>​
 +Ainsi vos anciens raccourcis ne seront pas perturbés.
  
 ==== Windows ==== ==== Windows ====
  
   * **[[:​tutoriel:​nfs_client_windows|Comment configurer 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).   * **[[:​tutoriel:​nfs_client_windows|Comment configurer 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).
 +
  
 ===== Firewall (Pare-feu) et NFS ===== ===== Firewall (Pare-feu) et NFS =====
Ligne 204: Ligne 271:
 Sachez qu'un firewall ne vous servira à rien si vous êtes (comme ce tutoriel l'​exige **très important**) derrière un routeur. \\ 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 [[:​Network-Manager]] un routage sera en place automatiquement,​ les ordinateurs dans le partage n'ont donc rien à craindre. \\ Si vous faites un partage de connexion via [[:​Network-Manager]] 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 !\\+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. 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 : 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 :
  
-  * **[[nfs-ufw|partage NFS et Firewall (UFW )]]** : Comment fixer les ports utilisés lors d'un partage NFS (firewalling,​ routage..) .+  * **[[nfs-ufw|partage NFS et Firewall (UFW )]]** : Comment fixer les ports utilisés lors d'un partage NFS (firewalling,​ routage, ...).
  
 ===== Résoudre les problèmes ===== ===== Résoudre les problèmes =====
Ligne 224: Ligne 291:
  
 === Côté client === === Côté client ===
-Ajoutez **nfsvers=3** au fichier **/​etc/​fstab**+Ajoutez **,vers=3** aux options de montage dans le fichier ​fichier **/​etc/​fstab** 
 +comme ceci : 
 +<​file>​ 
 +  192.168.0.10:/<​Dossier_à_partager>/​ /media/NFS nfs defaults,​user,​auto,​noatime,​bg,​vers=3 0 0 
 +</​file>​
  
 Utilisez ''​nfsstat''​ pour vérifier que la modification à été prise en compte. Utilisez ''​nfsstat''​ pour vérifier que la modification à été prise en compte.
Ligne 261: Ligne 332:
  
   * http://​nfs.sourceforge.net/​   * http://​nfs.sourceforge.net/​
-  * [[http://​kodi.wiki/​view/​NFS|Configurer NFS pour KODI]]+  * [[https://​kodi.wiki/​view/​NFS|Configurer NFS pour KODI]]
  
 {{backlinks>​nfs}} {{backlinks>​nfs}}
  • nfs.1527173691.txt.gz
  • Dernière modification: Le 24/05/2018, 16:54
  • par 193.49.118.36