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 21/03/2021, 19:56]
gascon [Firewall (Pare-feu) et NFS]
nfs [Le 27/02/2023, 10:02] (Version actuelle)
185.159.157.45 [Alternative avec interface graphique GUI]
Ligne 10: 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 15: 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 90: 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 104: 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 118: 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 127: 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 134: 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 153: Ligne 158:
 mountd:ALL mountd:ALL
 </​file>​ </​file>​
 +
 +=== 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 ==== ==== Exemples concrets ====
  
Ligne 188: 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,bg 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,bg** 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.   * **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>​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 247: Ligne 266:
   * **[[:​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).
  
-===== Exemple de partage complet ===== 
-[[tutoriel:​partage_nfs|Exemple de partage avec NFS]] 
  
 ===== Firewall (Pare-feu) et NFS ===== ===== Firewall (Pare-feu) et NFS =====
  
 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 315: 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.1616352990.txt.gz
  • Dernière modification: Le 21/03/2021, 19:56
  • par gascon