Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
nfs [Le 17/01/2019, 10:23] – [Ubuntu GNU/Linux] ,intr enlevé car inutile depuis longtemps. Remplacé par ,bg pour obtenir un montage non bloquant et faire que le montage soit possible en Wifi avec 18.04 37.173.87.199 | nfs [Le 30/08/2020, 16:31] (Version actuelle) – [Ubuntu GNU/Linux] 82.64.45.4 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== NFS : Network File System - le partage réseau sous Linux ======= | ||
+ | |||
+ | **NFS** est l' | ||
+ | |||
+ | Ce système de fichiers en réseau permet de [[: | ||
+ | **NFS** est compatible avec IPv6 sur la plupart des systèmes. | ||
+ | |||
+ | ===== Alternative avec interface graphique GUI ===== | ||
+ | |||
+ | Avant de vous lancer dans la lecture de cette documentation, | ||
+ | |||
+ | https:// | ||
+ | |||
+ | {{:: | ||
+ | ===== Avec le terminal, pré-requis ===== | ||
+ | ==== Deux ordinateurs au moins ==== | ||
+ | |||
+ | *Un **[[: | ||
+ | *Un **client** qui doit pouvoir accéder aux fichiers du Serveur. | ||
+ | |||
+ | ==== Ne pas avoir peur de la ligne de commande ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Avoir les droits d' | ||
+ | |||
+ | C' | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Être sur un réseau de confiance | ||
+ | |||
+ | [[wpfr> | ||
+ | Quelle que soit la version, NFS est a déployer dans un [[wpfr> | ||
+ | On peut utiliser par exemple NFS sur son réseau local derrière une //Box// assurant le rôle de [[wpfr> | ||
+ | |||
+ | ==== Connaître les adresses IP locales de Serveur et de Client ==== | ||
+ | |||
+ | Dans le [[: | ||
+ | |||
+ | Vous pouvez aussi connaître l'IP de vos PC via l' | ||
+ | |||
+ | Pour la suite de cet exemple, on considérera que Serveur et Client ont une adresse locale fixe : | ||
+ | * Serveur : **192.168.0.10** | ||
+ | * Client : **192.168.0.20** | ||
+ | |||
+ | <note important> | ||
+ | Il peut être important de fixer les adresses IP de vos ordinateurs pour être sûr qu' | ||
+ | * Soit à partir de l' | ||
+ | * Soit directement à partir d' | ||
+ | </ | ||
+ | |||
+ | ==== Se faire un aide-mémoire ==== | ||
+ | |||
+ | ^ Les machines | ||
+ | | //Votre serveur// | ||
+ | | **Serveur** | ||
+ | | //Votre client// | ||
+ | | **Client** | ||
+ | |||
+ | |||
+ | < | ||
+ | En effet avec cette méthode, les ordinateurs de tout votre réseau local pourront sans distinction utiliser NFS. \\ | ||
+ | D' | ||
+ | |||
+ | ===== Création d'un Serveur NFS ===== | ||
+ | ==== Installation ==== | ||
+ | Installez sur le ou les serveurs NFS le paquet **[[apt> | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | === déclaration de l' | ||
+ | La configuration | ||
+ | |||
+ | <file bash / | ||
+ | # Un exemple à adapter: | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Dans ce fichier, chaque ligne est définie comme ceci : | ||
+ | < | ||
+ | |||
+ | Les informations se trouvant sur une ligne sont les suivantes(([[man> | ||
+ | * **< | ||
+ | * **< | ||
+ | * une IP : on indique simplement l' | ||
+ | * un nom d' | ||
+ | * un nom de groupe réseau NIS (NIS netgroup) qui s' | ||
+ | * un domaine avec un joker qui indique les machines d'un domaine ou sous-domaine; | ||
+ | * un intervalle d'IP avec le masque de sous-réseau; | ||
+ | * **< | ||
+ | * **rw** : permet la lecture et l' | ||
+ | * **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' | ||
+ | * **sync** : est le contraire de '' | ||
+ | * **root_squash** : force le //mapping// de l' | ||
+ | * **no_root_squash** : n' | ||
+ | * **all_squash** : force le //mapping// de tous les utilisateurs vers l' | ||
+ | * **anonuid** : indique au serveur NFS l'UID de l' | ||
+ | * **anongid** : indique au serveur NFS le GID de l' | ||
+ | * **subtree_check** : Si un sous-répertoire dans un système de fichiers est partagé, mais que le système de fichiers ne l'est pas, alors chaque fois qu'une requête NFS arrive, le serveur doit non seulement vérifier que le fichier accédé est dans le système de fichiers approprié (ce qui est facile), mais aussi qu'il est dans l' | ||
+ | * **no_subtree_check** : Cette option neutralise la vérification de sous-répertoires, | ||
+ | Ce qui pourrait donner par exemple: | ||
+ | |||
+ | /media/NFS 192.168.0.0/ | ||
+ | |||
+ | < | ||
+ | |||
+ | === relancer le service === | ||
+ | Après avoir défini vos partages dans le fichier **/ | ||
+ | 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' | ||
+ | |||
+ | Pour vérifier que l' | ||
+ | showmount -e | ||
+ | |||
+ | Si l' | ||
+ | sudo service nfs-kernel-server restart | ||
+ | |||
+ | === 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' | ||
+ | |||
+ | Si vous utilisez [[: | ||
+ | <file bash / | ||
+ | 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 afin de sécuriser un peu plus votre installation, | ||
+ | <file bash / | ||
+ | # Tout interdire sur portmap, nfsd et mountd | ||
+ | portmap:ALL | ||
+ | nfsd:ALL | ||
+ | mountd:ALL | ||
+ | </ | ||
+ | ==== Exemples concrets ==== | ||
+ | |||
+ | * **[[: | ||
+ | |||
+ | * **[[: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 // | ||
+ | |||
+ | * **[[: | ||
+ | * D' | ||
+ | |||
+ | ===== Client NFS ===== | ||
+ | |||
+ | Pour accéder à un NFS, il faut le " | ||
+ | |||
+ | Il n' | ||
+ | |||
+ | ==== Ubuntu GNU/Linux ==== | ||
+ | |||
+ | Le paquet nécessaire pour accéder à un NFS est **[[apt> | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Pour parcourir les partages NFS d'un serveur (ici : serveur.local, | ||
+ | < | ||
+ | showmount -e serveur.local | ||
+ | Export list for serveur.local: | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | === Modifier /etc/fstab === | ||
+ | |||
+ | Il faut tout d' | ||
+ | |||
+ | 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 suffit de [[: | ||
+ | |||
+ | < | ||
+ | 192.168.0.10:/< | ||
+ | </ | ||
+ | |||
+ | * **192.168.0.10** étant l'IP de votre serveur | ||
+ | * **< | ||
+ | * **/ | ||
+ | * **nfs** On précise le protocole utilisé. | ||
+ | * **defaults, | ||
+ | * **0 0** dit à Linux de ne pas vérifier si le disque contient des erreurs (le serveur s'en occupera) | ||
+ | |||
+ | <note idée> | ||
+ | * Si vous utilisez un réseau Gigabit ethernet (les dernier switchs, routeurs, box), vous pouvez ajouter en option de montage: **, | ||
+ | Ces options de montage permettront de booster légèrement à énormément (suivant la carte réseau) la vitesse de transfert sur les gros fichiers. | ||
+ | * Si votre serveur est très peu puissant (un Pentium 2 ou 3 par exemple plus de 12 ans d' | ||
+ | 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 Wifi !)** | ||
+ | </ | ||
+ | |||
+ | === Utiliser Autofs === | ||
+ | |||
+ | * **[[: | ||
+ | |||
+ | |||
+ | Se servir d' | ||
+ | |||
+ | La première étape est d' | ||
+ | |||
+ | Il y a plusieurs méthodes pour ajouter un partage NFS, mais celle qui offre le plus de souplesse est d' | ||
+ | < | ||
+ | /net -hosts -fstype=nfs4, | ||
+ | </ | ||
+ | Redémarrez le service Autofs | ||
+ | < | ||
+ | sudo service autofs restart | ||
+ | </ | ||
+ | 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' | ||
+ | Voici des exemples avec le serveur < | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | 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 : | ||
+ | < | ||
+ | sudo umount /media/NFS # Démontage du partage existant si besoin | ||
+ | sudo rmdir / | ||
+ | sudo ln -s / | ||
+ | </ | ||
+ | Ainsi vos anciens raccourcis ne seront pas perturbés. | ||
+ | |||
+ | ==== Windows ==== | ||
+ | |||
+ | * **[[: | ||
+ | |||
+ | ===== Firewall (Pare-feu) et NFS ===== | ||
+ | |||
+ | Sachez qu'un firewall ne vous servira à rien si vous êtes (comme ce tutoriel l' | ||
+ | Si vous faites un partage de connexion via [[: | ||
+ | Si vous utilisez un pare-feu entre le modem et le PC qui partage la connexion internet, n' | ||
+ | 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' | ||
+ | |||
+ | 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, | ||
+ | |||
+ | ===== Résoudre les problèmes ===== | ||
+ | |||
+ | ==== Rétrograder en NFSv3 ==== | ||
+ | Si vous obtenez un message comme:" | ||
+ | === Côté serveur === | ||
+ | Modifier le fichier **/ | ||
+ | < | ||
+ | |||
+ | par | ||
+ | |||
+ | < | ||
+ | |||
+ | === Côté client === | ||
+ | Ajoutez **,vers=3** aux options de montage dans le fichier fichier **/ | ||
+ | comme ceci : | ||
+ | < | ||
+ | 192.168.0.10:/< | ||
+ | </ | ||
+ | |||
+ | Utilisez '' | ||
+ | |||
+ | ==== Résoudre le problème de verrouillage de fichiers avec LibreOffice ==== | ||
+ | Commentez les lignes suivantes dans les fichiers **/ | ||
+ | (ajouter un # devant les deux lignes) | ||
+ | |||
+ | < | ||
+ | export SAL_ENABLE_FILE_LOCKING</ | ||
+ | |||
+ | ==== 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:// | ||
+ | |||
+ | Pour le résoudre, sur le client Modifier le fichier **/ | ||
+ | < | ||
+ | NEED_GSSD= | ||
+ | </ | ||
+ | |||
+ | par | ||
+ | |||
+ | < | ||
+ | NEED_GSSD=yes | ||
+ | </ | ||
+ | |||
+ | puis blacklister le module ' | ||
+ | < | ||
+ | blacklist ' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Autres liens ===== | ||
+ | |||
+ | * http:// | ||
+ | * [[http:// | ||
+ | |||
+ | {{backlinks> |