NFS (Network File System) est un protocole de système de fichiers qui permet aux utilisateurs de visualiser et d'accéder aux fichiers et dossiers sur un système distant comme s'ils étaient stockés localement. Il s'agit d'une configuration client-serveur où le système qui partage le stockage est appelé le serveur, tandis que le système qui accède au stockage stocké sur un serveur est appelé le client. NFS permet aux utilisateurs ou aux administrateurs système de monter tout ou partie du système de fichiers d'un serveur sur le système du client. Les clients peuvent ensuite accéder aux fichiers montés en fonction des autorisations spécifiques (lecture, écriture) attribuées à ces fichiers.
La création de la configuration client-serveur NFS est une tâche simple qui peut être effectuée en quelques étapes :installation, exportation, montage et accès. Dans cet article, nous expliquerons le processus de configuration d'un serveur et d'un client NFS sur un système Debian afin que vous puissiez partager des fichiers entre des systèmes distants.
Nous avons exécuté les commandes et procédures mentionnées dans cet article sur un système Debian 10.
Serveur NFS
Pour configurer un système hôte pour le partage de répertoires, nous devrons y installer le serveur NFS Kernel. Suivez les étapes ci-dessous pour le faire :
Étape 1 :Installer le serveur noyau NFS
Avant de procéder à l'installation du serveur NFS, mettez à jour l'index de votre référentiel système en exécutant la commande suivante dans Terminal :
$ sudo apt-get update
Une fois mis à jour, installez le serveur NFS Kernel en exécutant la commande suivante dans Terminal :
$ sudo apt install nfs-kernel-system
Le système peut vous fournir un O/n possibilité de confirmer l'installation. Tapez y pour confirmer et l'installation sera lancée dans votre système.
Étape 2 :Créer le répertoire d'exportation
Nous devons maintenant créer un répertoire d'exportation qui sera utilisé pour partager avec les systèmes du client. Vous pouvez l'étiqueter selon vos préférences. Ici, nous créons un répertoire d'exportation avec le nom "sharedfolder" dans le répertoire /mnt.
Exécutez la commande suivante en mentionnant le chemin du répertoire d'exportation comme suit :
$ sudo mkdir –p /mnt/sharedfolder
Pour autoriser tous les clients à accéder au répertoire d'exportation, vous devez supprimer les autorisations restrictives. Exécutez la commande suivante pour ce faire :
$ sudo chown nobody:nogroup /mnt/sharedfolder
Ensuite, appliquez une nouvelle autorisation qui permet à tout le monde d'accéder en lecture, en écriture et en exécution.
$ sudo chmod 755 /mnt/sharedfolder
Cela permettra à tous les clients d'accéder au dossier partagé.
Étape 3 :Configurer le répertoire d'exportation
Le fichier de configuration du serveur NFS se trouve dans le répertoire /etc/. Ici, vous pouvez spécifier les répertoires que vous souhaitez partager avec vos clients ainsi que le nom d'hôte des clients. Pour modifier le fichier /etc/exports à l'aide de l'éditeur nano, exécutez la commande suivante en tant que sudo dans Terminal :
$ sudo nano /etc/exports
Utilisez le format suivant pour attribuer l'accès aux clients :
directory hostname(options)
Afin d'autoriser l'accès à un seul client, ajoutez-y la ligne suivante :
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
Afin d'autoriser l'accès à plusieurs clients, ajoutez-y la ligne suivante :
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check) /mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
Afin d'autoriser l'accès à plusieurs clients en spécifiant un sous-réseau entier, ajoutez-y la ligne suivante :
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)
Ici, nous spécifions l'ensemble du sous-réseau pour les clients afin de leur permettre d'accéder à notre répertoire partagé.
Une fois l'édition du fichier /etc/exports terminée, appuyez sur ctrl+O pour enregistrer et ctrl+X pour quitter le fichier.
Les paramètres (rw,sync,no_subtree_check) dans le fichier ci-dessus signifient que le client dispose des autorisations suivantes :
- rw :opérations de lecture et d'écriture
- synchroniser :écrivez tout changement sur le disque avant de l'appliquer
- no_subtree_check :pas de vérification de sous-arborescence
Étape 4 :Exporter le répertoire partagé
Ensuite, dans cette étape, vous devrez exporter le répertoire partagé répertorié dans /etc/exports. Pour ce faire, exécutez la commande suivante dans Terminal :
$ sudo exportfs –a
Redémarrez ensuite le serveur NFS Kernel afin d'appliquer les modifications de configuration.
Étape 5 :Configurer le pare-feu
Il est maintenant important de vérifier que le serveur est ouvert pour que les clients puissent accéder au contenu partagé. Vous devez ajouter la règle qui autorise le trafic des clients spécifiés vers le port NFS. Pour ce faire, utilisez la syntaxe suivante :
$ sudo ufw allow from [client-IP or client-Subnet] to any port nfs
Dans notre exemple, nous allons autoriser tout le sous-réseau 192.168.72.0 sur le port NF :
$ sudo ufw allow from 192.168.72.0/24 to any port nfs
Maintenant, pour vérifier si la règle a bien été ajoutée, exécutez la commande suivante dans Terminal :
$ sudo ufw status
Maintenant, notre serveur NFS hôte est configuré et prêt à être accédé par les clients spécifiés.
Configuration de l'ordinateur client
Maintenant, nous allons configurer la machine cliente pour lui faire accéder au répertoire d'exportation du serveur. Suivez les étapes ci-dessous pour le faire :
Étape 1 :Installer le client NFS
Tout d'abord, mettez à jour l'index du référentiel de votre ordinateur client en exécutant la commande suivante dans Terminal :
$ sudo apt-get update
Installez ensuite l'application cliente NFS connue sous le nom de NFS commun en exécutant la commande suivante dans Terminal :
$ sudo apt-get install nfs-common
Le système peut vous fournir un O/n possibilité de confirmer l'installation. Tapez y pour confirmer et l'installation sera lancée dans votre système.
Étape 2 :Créez un point de montage pour le dossier partagé du serveur NFS
Créez maintenant un point de montage qui sera utilisé pour accéder au contenu partagé du serveur. Ici, nous créons le point de montage avec le nom "sharedfolder_clientr" dans le répertoire /mnt. Pour ce faire, nous avons utilisé la commande suivante :
$ sudo mkdir -p /mnt/sharedfolder_client
Étape 3 :Montez le répertoire partagé du serveur sur le client
Dans l'étape précédente, nous avons créé le point de montage. Nous allons maintenant monter le répertoire partagé du serveur NFS sur le point de montage créé ci-dessus. La syntaxe suivante peut être utilisée à cette fin :
$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client
Par exemple, dans notre cas, nous allons monter le répertoire partagé "/mnt/sharedfolder" du serveur NFS au point de montage "/mnt/mountfolder_client" sur notre machine client.
$ sudo mount 192.168.72.164:/mnt/sharedfolder /mnt/sharedfolder_client
Où 192.168.72.164 est l'IP de notre serveur NFS.
Maintenant, le répertoire NFS partagé est monté sur la machine du client.
Étape 4 :Tester la connexion
Il est maintenant temps de tester notre configuration client-serveur NFS. Pour ce faire, créez un fichier ou un dossier de test dans le répertoire partagé de votre serveur NFS. Comme dans l'exemple ci-dessous, vous pouvez voir que nous avons créé deux dossiers nommés "documents" et "musique" dans le répertoire partagé de notre serveur NFS.
Ouvrez maintenant le point de montage sur votre ordinateur client. Vous verrez ici les mêmes fichiers et dossiers qui ont été créés dans le répertoire partagé du serveur.
C'est tout ce qu'il y a à faire ! J'espère que vous avez appris à installer et à configurer le serveur et le client NFS sur un système Debian 10. Cet article explique également comment accéder à l'hôte NFS afin d'accéder aux informations partagées.