/
/

Network File System (NFS) : présentation et mise en place

par Team Ninja
N1-0921-Network-File-System-NFS_-Overview-blog-image1-2-1

Points clés

  • Présentation de NFS : le Network File System (NFS) permet un partage de fichiers centralisé sur un réseau, les clients accédant aux répertoires distants comme s’ils étaient locaux.
  • Prérequis : installez les paquets NFS nécessaires, vérifiez la structure des répertoires et ouvrez les ports requis (par exemple TCP/UDP 2049) avant de configurer quoi que ce soit.
  • Étapes de mise en place : configurez les exports sur le serveur NFS, définissez les autorisations, mettez à jour /etc/exports, puis montez le répertoire partagé sur les machines clientes, manuellement ou via /etc/fstab.
  • Bonnes pratiques de sécurité : restreignez l’accès des clients, appliquez le principe du moindre privilège et utilisez des options d’authentification comme Kerberos lorsqu’elles sont disponibles.
  • Contrôles opérationnels : validez les montages, surveillez la connectivité et utilisez des outils tels que showmount, mount et nfsstat pour vérifier les performances et diagnostiquer les problèmes.

NFS est un protocole qui permet aux utilisateurs d’accéder à des fichiers via un réseau comme s’ils se trouvaient sur leur stockage local. Il facilite le partage de fichiers et l’accès aux données dans des environnements en réseau. C’est ce qui en fait un outil indispensable pour les espaces de travail collaboratifs et les systèmes distribués.

Ce guide propose une présentation détaillée du Network File System (NFS). Nous aborderons sa définition, son objectif, son fonctionnement et ses avantages. Il aidera les lecteurs à comprendre l’importance de NFS dans les environnements réseau ainsi que son mode de fonctionnement. Vous découvrirez également ses atouts par rapport aux autres méthodes de partage de fichiers et ses cas d’usage courants dans les infrastructures réseau de petite comme de grande envergure.

Histoire et importance de NFS

NFS a été créé à l’origine par Sun Microsystems (aujourd’hui Oracle) au début des années 1980. Sa première version diffusée publiquement, NFSv2, est apparue en 1984. NFSv2 offrait des capacités de partage de fichiers de base et a posé les fondations des évolutions suivantes. En 1995, NFSv3 a été introduit. Cette version a apporté de meilleures performances et la prise en charge de fichiers de plus grande taille.

NFSv4, sortie en 2000, a introduit des améliorations majeures : une sécurité renforcée grâce à Kerberos, des opérations avec état et un meilleur verrouillage des fichiers. En 2010, NFSv4.1 a apporté le NFS parallèle (pNFS) pour une meilleure évolutivité et de meilleures performances dans les environnements en cluster. La version la plus récente, NFSv4.2, publiée en 2016, a ajouté de nouvelles fonctions : la copie côté serveur, les recommandations d’E/S pour les applications, ainsi que de nouvelles améliorations de pNFS et de la sécurité.

NFS a transformé le partage et l’accès aux données dans les environnements réseau en fournissant une méthode standardisée de partage de fichiers. Cela permet une collaboration et une gestion des données plus efficaces entre des systèmes et des plateformes très divers. Chaque version a apporté son lot d’améliorations : de meilleures performances, une sécurité renforcée et la prise en charge de protocoles avec état. Tout cela fait aujourd’hui de NFS une solution de partage de fichiers robuste.

Vous souhaitez savoir comment une gestion complète des terminaux renforce le réseau et la sécurité ? Consultez notre FAQ sur la gestion des terminaux NinjaOne pour en savoir plus.

Assurez la continuité de vos opérations en sauvegardant les serveurs critiques qui hébergent vos partages NFS.

Découvrez NinjaOne Backup

Le fonctionnement de NFS

NFS repose sur une architecture client-serveur. Le serveur héberge les fichiers partagés, tandis que le client accède à ces fichiers via le réseau. Cette architecture permet une gestion centralisée et un accès décentralisé aux données, ce qui la rend efficace pour de nombreuses configurations réseau. NFS occupe une place essentielle dans la mise en réseau et le partage de fichiers. Il joue un rôle clé dans la fluidité de la collaboration, la gestion centralisée du stockage et l’utilisation efficace des ressources.

En permettant d’accéder aux fichiers et de les partager sur un réseau, il évite que chaque utilisateur doive conserver une copie locale de chaque fichier. Cela permet d’économiser de l’espace de stockage et de réduire la redondance. La compatibilité multiplateforme de NFS garantit aux utilisateurs l’accès aux fichiers depuis différents systèmes d’exploitation, ce qui favorise la collaboration dans des environnements hétérogènes.

Les composants de NFS

  • Serveur NFS : machine ou appareil qui partage ses fichiers et répertoires avec d’autres systèmes sur le réseau. Il exécute le logiciel serveur NFS et gère le contrôle d’accès ainsi que le verrouillage des fichiers.
  • Client NFS : machine ou appareil qui accède aux fichiers et répertoires partagés depuis le serveur NFS. Il monte les ressources partagées sur son système de fichiers local, où elles apparaissent comme des fichiers locaux.
  • Remote Procedure Call (RPC) : protocole sans état et sans connexion. Il permet à un programme exécuté sur un ordinateur de lancer un programme sur un autre ordinateur. NFS l’utilise pour la communication entre les clients et les serveurs.
  • Protocole NFS : il définit le format et les procédures des opérations NFS, comme la lecture et l’écriture de fichiers ou la gestion des métadonnées. Il s’appuie sur RPC.

Le déroulement du partage de fichiers avec NFS

Le processus se déroule en plusieurs étapes :

  • Le serveur exporte les répertoires et démarre les services NFS.
  • Le client envoie une demande de montage au serveur.
  • Le serveur traite la demande et authentifie le client.
  • Le serveur accorde l’accès et le client monte le répertoire partagé.
  • Le client demande l’accès aux fichiers (opérations de lecture/écriture).
  • Le serveur traite ces requêtes et transfère les données.
  • Le client manipule le fichier comme s’il se trouvait sur son stockage local.
  • Le client démonte le système de fichiers une fois son travail terminé.
  • Le serveur consigne les activités à des fins de surveillance et de dépannage.

Les avantages de NFS

NFS présente plusieurs avantages par rapport à SMB et FTP : de meilleures performances dans les environnements UNIX, une configuration simplifiée et un traitement des données plus efficace. Contrairement à FTP, NFS permet aux utilisateurs de monter directement des répertoires distants dans leur système de fichiers. NFS s’adapte aussi bien à un petit réseau domestique qu’à l’environnement d’une grande entreprise. Sa souplesse lui permet de s’ajuster à diverses configurations réseau et aux besoins des utilisateurs, ce qui le rend adapté à toutes les tailles d’entreprise.

NFS réduit la charge liée aux transferts de fichiers, ce qui se traduit par des temps d’accès plus rapides et de meilleures performances globales du système. Il est optimisé pour les environnements UNIX, ce qui accroît encore son efficacité. NFS prend en charge de nombreux systèmes d’exploitation, dont UNIX, Linux et Windows, ce qui permet un partage de fichiers fluide entre différentes plateformes. Cette compatibilité permet aux entreprises d’intégrer NFS dans des environnements informatiques variés.

NFS se révèle particulièrement utile dans les environnements où de nombreux clients accèdent à des ressources partagées : réseaux d’entreprise, établissements d’enseignement ou centres de recherche, par exemple. Dans ces contextes, il garantit un accès et une gestion efficaces des données. NFS peut être intégré à de nombreux systèmes d’exploitation et équipements réseau. C’est donc une solution polyvalente pour des infrastructures informatiques variées. Il prend en charge différentes versions d’UNIX, les distributions Linux et même Windows via des services complémentaires.

Les cas d’usage de NFS

NFS est largement utilisé pour le partage de fichiers en entreprise, dans les espaces de travail collaboratifs et dans les environnements qui exigent une gestion centralisée des données. Il prend en charge des scénarios tels que les répertoires de projets partagés et les référentiels de fichiers centralisés. En entreprise, NFS permet à plusieurs utilisateurs d’accéder à des données métier critiques et de les partager, ce qui améliore la collaboration et la productivité.

Il est très répandu dans les environnements de développement où le code et les ressources sont partagés. Par nature conçu pour le réseau, NFS est de plus en plus utilisé dans le cloud computing, la virtualisation et l’IdO (internet des objets). Il offre un accès aux données fiable et efficace au sein de systèmes distribués

Il prend en charge les environnements virtualisés où les ressources de stockage doivent être partagées de façon dynamique. Dans des domaines fortement connectés comme l’astronomie ou la recherche en génétique, il facilite le partage de données et la collaboration entre chercheurs et étudiants. De manière générale, il prend en charge les jeux de données volumineux et les flux de travail de calcul.

Les universités et les instituts de recherche s’appuient souvent sur NFS pour gérer des projets de recherche gourmands en données. NFS favorise le travail à distance en permettant un accès sécurisé et efficace aux fichiers partagés depuis différents lieux, ce qui aide les équipes à collaborer malgré la distance. Il garantit aux utilisateurs distants le même niveau d’accès aux données qu’aux utilisateurs locaux.

La mise en place de NFS

La mise en place de NFS suppose de disposer d’un matériel serveur et d’interfaces réseau fiables, ainsi que des logiciels serveur et client NFS. Les systèmes d’exploitation doivent être compatibles : Linux, UNIX, Windows et macOS. Le respect de ces prérequis de base facilitera l’installation et l’exploitation de NFS dans votre environnement réseau.

Linux

Installer le paquet serveur NFS :

  • Dans un terminal, mettez à jour la liste des paquets : sudo apt-get update (Debian/Ubuntu) ou sudo yum update (RHEL/CentOS).
  • Installez le serveur NFS : sudo apt-get install nfs-kernel-server (Debian/Ubuntu) ou sudo yum install nfs-utils (RHEL/CentOS).

Configurer les partages dans /etc/exports

  • Ouvrez le fichier /etc/exports dans un éditeur de texte : sudo nano /etc/exports
  • Ajoutez les entrées d’export : indiquez les répertoires à partager et les autorisations d’accès, à raison d’un partage par ligne. Exemple :
    /shared_directory 192.168.1.0/24(rw,sync,subtree_check)
  • Enregistrez le fichier et fermez-le.

Démarrer les services NFS

  • Activez le démarrage automatique du serveur NFS : sudo systemctl enable nfs-kernel-server (Debian/Ubuntu) ou sudo systemctl enable nfs (RHEL/CentOS).
  • Redémarrez le serveur NFS pour appliquer les modifications : sudo systemctl restart nfs-kernel-server (Debian/Ubuntu) ou sudo systemctl restart nfs (RHEL/CentOS).
  • Vérifiez l’état du serveur NFS : sudo systemctl status nfs-kernel-server (Debian/Ubuntu) ou sudo systemctl status nfs (RHEL/CentOS).

Ouvrir les ports du pare-feu (le cas échéant)

  • Autorisez le service NFS à travers le pare-feu : sudo ufw allow from 192.168.1.0/24 to any port nfs (avec UFW) ou sudo firewall-cmd –permanent –add-service=nfs && sudo firewall-cmd –reload (avec firewall).

Monter le partage NFS sur le client

  • Créez un point de montage : sudo mkdir /mnt/nfs_share.
  • Montez le partage NFS :
  • Soit avec sudo mount 192.168.1.1:/shared_directory /mnt/nfs_share, SOIT
  • en définissant le partage dans /etc/fstab avec une ligne du type server_ip :/shared_directory /local_mount_point nfs auto,nofail,defaults 0 0 : il sera monté automatiquement au démarrage ou si vous exécutez sudo mount -a (qui tentera de monter tous les points de montage définis dans /etc/fstab, sauf ceux comportant l’option noauto).
  • Vérifiez le montage : df -h

Windows (10/11/Server)

Activer la fonction serveur NFS

  • Windows Server
  • Ouvrez le Panneau de configuration.
  • Allez dans Programmes > Activer ou désactiver des fonctionnalités Windows.
  • Faites défiler la liste et cochez Services for NFS.
  • Cliquez sur OK et attendez la fin de l’installation.
  • Windows 10/11
  • Ouvrez l’application Paramètres.
  • Allez dans Applications > Fonctionnalités facultatives.
  • Cliquez sur Afficher les fonctionnalités à côté de Ajouter une fonctionnalité facultative.
  • Recherchez Services for NFS.
  • Cochez la case, cliquez sur Suivant, puis sur Installer.
  • Attendez la fin de l’installation.
  • Configurez les paramètres de partage
  • Windows Server
  • Ouvrez le Gestionnaire de serveur.
  • Allez dans Services de fichiers et de stockage > Partages.
  • Cliquez sur Tâches et sélectionnez Nouveau partage.
  • Choisissez Partage NFS – Rapide et cliquez sur Suivant.
  • Sélectionnez le serveur et le volume où créer le partage, puis cliquez sur Suivant.
  • Indiquez le nom et le chemin du partage, puis cliquez sur Suivant.
  • Configurez les autorisations du partage en ajoutant les clients autorisés et en précisant les droits d’accès (lecture/écriture, par exemple).
  • Vérifiez les paramètres et cliquez sur Créer.
  • Windows 11
  • Ouvrez l’Explorateur de fichiers et accédez au dossier que vous souhaitez partager.
  • Faites un clic droit sur le dossier et sélectionnez Propriétés.
  • Allez dans l’onglet Partage et cliquez sur Partage avancé.
  • Cochez la case Partager ce dossier.
  • Cliquez sur Autorisations et attribuez les droits appropriés (lecture/écriture) aux utilisateurs qui accéderont au partage.
  • Cliquez sur OK pour enregistrer les paramètres.

Démarrer les services NFS

  • Ouvrez une invite de commande en tant qu’administrateur.
  • Démarrez le client NFS : nfsadmin client start.
  • Démarrez le serveur NFS : nfsadmin server start.
  • Vérifiez l’état des services NFS : nfsstat.

Ouvrir les ports du pare-feu (le cas échéant)

  • Ouvrez le Panneau de configuration et allez dans Système et sécurité > Pare-feu Windows Defender.
  • Cliquez sur Paramètres avancés.
  • Créez des règles de trafic entrant pour les ports NFS (en général TCP/UDP 2049).

Monter le partage NFS sur le client

  • Ouvrez une invite de commande en tant qu’administrateur.
  • Créez un point de montage : mkdir Z:\nfs_share.
  • Montez le partage NFS : mount \\<server_ip>\shared_directory Z:\nfs_share.
  • Vérifiez le montage : dir Z:\nfs_share.

macOS

Créer un point de montage

  • Ouvrez l’application Terminal.
  • Créez un répertoire qui servira de point de montage : sudo mkdir /Volumes/nfs_share.

Modifier /etc/auto_master

  • Ouvrez /etc/auto_master dans un éditeur de texte avec des privilèges élevés : sudo nano /etc/auto_master
  • Ajoutez une nouvelle ligne à la fin du fichier pour inclure votre montage NFS. Par exemple : /- auto_nfs
  • Enregistrez le fichier et fermez-le.

Créer /etc/auto_nfs

  • Créez et ouvrez /etc/auto_nfs dans un éditeur de texte : sudo nano /etc/auto_nfs.
  • Ajoutez la configuration du montage NFS. Par exemple :
    /Volumes/nfs_share -fstype=nfs,rw,nosuid 192.168.1.100:/srv/nfs
  • Remplacez 192.168.1.100:/srv/nfs par l’adresse IP de votre serveur NFS et le répertoire partagé.
  • Enregistrez le fichier et fermez-le.

Recharger la configuration automount

  • Rechargez la configuration automount pour appliquer les modifications : sudo automount -vc.

Vérifier le montage

  • Vérifiez que le partage NFS est bien monté : ls /Volumes/nfs_share.
  • C’est terminé : si la liste du répertoire affiche le contenu du partage NFS, la configuration a réussi.

Sécurité : points de vigilance et bonnes pratiques

En matière de sécurité, il est essentiel d’utiliser des méthodes d’authentification sûres avec NFS. On peut citer Kerberos, la mise en place du chiffrement des données pour protéger les informations sensibles et le respect des bonnes pratiques.

Parmi ces bonnes pratiques figurent la mise à jour régulière des logiciels, la surveillance des journaux d’accès et la restriction des autorisations. L’objectif est de renforcer la sécurité et de se protéger contre les menaces potentielles. Depuis NFSv3, les options root_squash et no_subtree_check de /etc/exports sont appliquées par défaut ; vous devrez peut-être spécifier les options no_root_squash et subtree_check pour contrer ce comportement.

Renforcez votre environnement informatique, y compris les serveurs qui font tourner vos partages de fichiers.

Découvrez NinjaOne Endpoint Management

Dépannage de NFS

Les problèmes les plus courants avec NFS concernent la connectivité, les erreurs d’autorisation et les performances. Les problèmes de connectivité se résolvent souvent en vérifiant la configuration du réseau. Cela permet de s’assurer que les paramètres du pare-feu autorisent correctement le trafic NFS.

Les erreurs d’autorisation proviennent généralement de droits utilisateur incorrects ou de paramètres d’export mal configurés sur le serveur. Vérifier et ajuster ces paramètres suffit habituellement à régler le problème. Les problèmes de performance peuvent avoir des origines diverses. Mais l’optimisation des paramètres réseau et l’amélioration des performances du serveur contribuent souvent à les atténuer et à garantir un fonctionnement efficace de NFS.

Conseils et techniques de résolution

  • Utilisez des outils de diagnostic : des outils comme showmount et nfsstat permettent de mieux comprendre le comportement de NFS.
  • Consultez les journaux système à la recherche de messages d’erreur : par exemple sudo journalctl -xe.
  • La sécurité avant tout : testez vos configurations sur des installations minimales avant de passer à l’échelle.

Outils et ressources

  • Outils de surveillance : nfswatch, Nagios, sysstat (ss).
  • Utilitaires de gestion : nfs-utils, rpcinfo.

Outils et techniques de surveillance

  • Gestion proactive : surveillez régulièrement les performances et les journaux NFS.
  • Alertes automatisées : configurez des notifications pour les problèmes potentiels.
  • Réglage des performances : ajustez les paramètres NFS pour obtenir des performances optimales.

NFS : un levier pour le partage de données et la collaboration

NFS a prouvé qu’il était un outil polyvalent et puissant pour le partage de fichiers en réseau. Il reste un outil essentiel dans les environnements réseau modernes, en offrant un partage de fichiers fiable et efficace qui favorise la collaboration et la productivité. Sa souplesse et son évolutivité le rendent adapté à de nombreux usages.

À mesure que la technologie progresse, NFS est appelé à jouer un rôle encore plus important dans les infrastructures informatiques. Il aide à s’adapter aux nouveaux défis et aux nouvelles opportunités. Son développement continu garantira sa pertinence et son utilité. Nous vous invitons à approfondir le sujet, à expérimenter ses fonctions et à envisager sa mise en place dans vos propres infrastructures réseau pour profiter de ses nombreux avantages.

Avec une bonne compréhension et une gestion adaptée, NFS peut considérablement améliorer le partage de données et la collaboration.

Avant de vous lancer dans la configuration, découvrez la version vidéo de Network File System (NFS) : présentation et mise en place.

FAQs

Choisissez la version la plus récente prise en charge par vos systèmes. NFSv4 ou une version ultérieure est recommandée dans la plupart des environnements, car elle offre une sécurité renforcée, de meilleures performances et un verrouillage amélioré. NFSv3 peut rester utile pour des systèmes hérités ou des installations simples et légères.

Vérifiez toujours la compatibilité avec votre système d’exploitation et votre infrastructure existante avant de procéder à une mise à niveau.

NFS est généralement utilisé dans les environnements Linux/UNIX : il est léger, rapide et facile à automatiser. SMB (Server Message Block) est natif sous Windows, prend en charge des modèles d’autorisations plus riches et s’intègre étroitement à Active Directory.

Faites votre choix en fonction du système d’exploitation dominant dans votre environnement et de vos besoins en matière de sécurité ou d’authentification.

Oui. NFS fonctionne bien avec Linux et macOS, et Windows le prend en charge via des services facultatifs. La compatibilité varie, des tests et des ajustements peuvent donc être nécessaires dans les environnements mixtes.

NFS peut être sécurisé s’il est correctement configuré. Parmi les bonnes pratiques : restreindre les adresses IP clientes, activer root_squash, utiliser des partages en lecture seule lorsque c’est pertinent et mettre en place Kerberos pour une authentification plus robuste.

You might also like

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?

Termes et conditions NinjaOne

En cliquant sur le bouton « J’accepte » ci-dessous, vous indiquez que vous acceptez les termes juridiques suivants ainsi que nos conditions d’utilisation:

  • Droits de propriété: NinjaOne possède et continuera de posséder tous les droits, titres et intérêts relatifs au script (y compris les droits d’auteur). NinjaOne vous accorde une licence limitée pour l’utilisation du script conformément à ces conditions légales.
  • Limitation de l’utilisation: Les scripts ne peuvent être utilisés qu’à des fins personnelles ou professionnelles internes légitimes et ne peuvent être partagés avec d’autres entités.
  • Interdiction de publication: Vous n’êtes en aucun cas autorisé à publier le script dans une bibliothèque de scripts appartenant à, ou sous le contrôle d’un autre fournisseur de logiciels.
  • Clause de non-responsabilité: Le texte est fourni « tel quel » et « tel que disponible », sans garantie d’aucune sorte. NinjaOne ne promet ni ne garantit que le script sera exempt de défauts ou qu’il répondra à vos besoins ou attentes particulières.
  • Acceptation des risques: L’utilisation du script est sous votre propre responsabilité. Vous reconnaissez qu’il existe certains risques inhérents à l’utilisation du script, et vous comprenez et assumez chacun de ces risques.
  • Renonciation et exonération de responsabilité: Vous ne tiendrez pas NinjaOne pour responsable des conséquences négatives ou involontaires résultant de votre utilisation du script, et vous renoncez à tout droit ou recours légal ou équitable que vous pourriez avoir contre NinjaOne en rapport avec votre utilisation du script.
  • EULA: Si vous êtes un client de NinjaOne, votre utilisation du script est soumise au contrat de licence d’utilisateur final qui vous est applicable (End User License Agreement (EULA)).