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 08/05/2022, 17:02]
geole [Ubuntu GNU/Linux] test version 22.04
nfs [Le 27/02/2023, 10:02] (Version actuelle)
185.159.157.45 [Alternative avec interface graphique GUI]
Ligne 1: Ligne 1:
- 
 {{tag>​Partage réseau}} {{tag>​Partage réseau}}
 ---- ----
Ligne 11: Ligne 10:
  
 ===== Alternative avec interface graphique GUI ===== ===== 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.
Ligne 16: Ligne 17:
 https://​github.com/​Philippe734/​Simple.NFS.GUI https://​github.com/​Philippe734/​Simple.NFS.GUI
  
-{{::​27803265-f3ab49dc-6028-11e7-8e10-857f86ac5a85.png?400|}}+[[https://​github.com/​Philippe734/​Simple.NFS.GUI/​releases|Lien du télechargement]]
  
-Avant d'​installer cette application,​ il est nécessaire d'en installer d'​autres.+[[https://​github.com/​Philippe734/​Simple.NFS.GUI|Tuto vidéo en français sur le site officiel]]
  
-[[apt>​gambas3-runtime,​gambas3-gb-form,​gambas3-gb-gtk3|gambas3-runtime gambas3-gb-form gambas3-gb-gtk3]]+{{::​27803265-f3ab49dc-6028-11e7-8e10-857f86ac5a85.png?​400|}}
  
-<code bash>​sudo apt-get install ​-y gambas3-runtime +Elle installera automatiquement les paquets **fping**, **nfs-common** et **nfs-kernel-server**
-sudo apt-get install -y gambas3-gb-form +
-sudo apt-get install -y gambas3-gb-gtk3 +
-</​code> ​+
  
-Lorsque cette application sera lancée, elle installera automatiquement l'​application **fping** 
 ===== Avec le terminal, pré-requis ===== ===== Avec le terminal, pré-requis =====
 ==== Deux ordinateurs au moins ==== ==== Deux ordinateurs au moins ====
  
   *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 91: 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 105: 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 119: 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)</​code></​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 130: 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 137: 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 160: Ligne 162:
  
 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"​. 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. +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). 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).
  
Ligne 200: 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:
Ligne 210: Ligne 212:
   * **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,​_netdev** sont décrite dans [[:​mount_fstab#​utilisation_avancee|fstab]],​ 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 +  * **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.   * **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 ​tip>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 inaccessible. ​[[https://​bugs.launchpad.net/​ubuntu/​+source/​util-linux/​+bug/​1972099|inaccessible]]</​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 271: Ligne 276:
 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 =====
  • nfs.1652022150.txt.gz
  • Dernière modification: Le 08/05/2022, 17:02
  • par geole