Développé à l'origine par Sun's Microsystems, NFS est l'acronyme de Network File System. Il s'agit d'un protocole distribué qui permet à un utilisateur sur un PC client d'accéder à des fichiers partagés à partir d'un serveur distant de la même manière qu'il accéderait à des fichiers stockés localement sur son PC. Le protocole NFS offre un moyen pratique de partager des fichiers sur un réseau local (LAN). Dans ce guide, nous vous guiderons tout au long de l'installation du serveur NFS sur Ubuntu 20.04 LTS (Focal Fossa). Nous vous montrerons ensuite comment vous pouvez accéder aux fichiers sur le serveur à partir d'un système client.
Configuration du laboratoire
NFS Server IP: 192.168.2.103 Ubuntu 20.04 Client System IP: 192.168.2.105 Ubuntu 20.04
Étape 1) Installez le package du serveur du noyau NFS
Pour commencer, nous allons installer le package du serveur du noyau NFS sur Ubuntu qui, en fait, le transformera en un serveur NFS. Mais d'abord, mettons à jour la liste des paquets comme indiqué.
$ sudo apt update
Ensuite, exécutez la commande suivante pour installer le package du serveur du noyau NFS.
$ sudo apt install nfs-kernel-server
Cela installe des packages supplémentaires tels que keyutils, nfs-common, rpcbind et d'autres dépendances requises pour que le serveur NFS fonctionne comme prévu.
Vous pouvez vérifier si le service nfs-server fonctionne comme indiqué
$ sudo systemctl status nfs-server
Étape 2) Créer un partage de répertoire NFS
La prochaine étape consistera à créer un partage de répertoire NFS. C'est le répertoire dans lequel nous placerons les fichiers à partager sur le réseau local. Nous allons le créer dans le répertoire /mnt/ comme indiqué ci-dessous. Ici, notre répertoire de partage NFS s'appelle /my_shares. N'hésitez pas à attribuer n'importe quel nom à votre répertoire.
$ sudo mkdir /mnt/my_shares
Étant donné que nous voulons que tous les fichiers soient accessibles à tous les clients, nous attribuerons la propriété et les autorisations de répertoire suivantes.
$ sudo chown nobody:nogroup /mnt/my_shares $ sudo chmod -R 777 /mnt/my_shares
Ces autorisations sont récursives et s'appliqueront à tous les fichiers et sous-répertoires que vous créerez.
Étape 3) Accordez au serveur NFS l'accès aux clients
Après avoir créé le partage de répertoire NFS et attribué les autorisations et la propriété requises, nous devons autoriser les systèmes clients à accéder au serveur NFS. Nous y parviendrons en éditant le fichier /etc/exports qui a été créé lors de l'installation du paquet nfs-kernel-server.
Alors, ouvrez le fichier /etc/exports.
$ sudo vi /etc/exports
Pour autoriser l'accès à un seul client, ajoutez la ligne ci-dessous et remplacez le paramètre client-IP par l'adresse IP réelle du client.
/mnt/my_shares client-IP(rw,sync,no_subtree_check)
Pour ajouter plus de clients à la liste, spécifiez simplement plus de lignes comme indiqué :
/mnt/my_shares client-IP-1(rw,sync,no_subtree_check) /mnt/my_shares client-IP-2(rw,sync,no_subtree_check) /mnt/my_shares client-IP-3(rw,sync,no_subtree_check)
De plus, vous pouvez spécifier un sous-réseau entier à afficher.
/mnt/my_shares 192.168.0.0/24 (rw,sync,no_subtree_check)
Cela permet à tous les clients du sous-réseau 192.168.0.0 d'accéder au serveur. Dans notre cas, nous accorderons à tous les clients l'accès au serveur NFS comme indiqué
/mnt/my_shares 192.168.2.0/24(rw,sync,no_subtree_check)
Passons brièvement en revue les autorisations et leur signification.
- rw (lecture et écriture)
- synchroniser (écrire les modifications sur le disque avant de les appliquer)
- no_subtree_check (Évite la vérification des sous-arborescences)
Étape 4 ) Exporter le répertoire partagé
Pour exporter le répertoire et le rendre disponible, appelez la commande :
$ sudo exportfs -a
Étape 5) Configurez la règle de pare-feu pour le serveur NFS
Si vous êtes derrière un pare-feu UFW, vous devez autoriser le trafic NFS à travers le pare-feu en utilisant la syntaxe indiquée.
$ sudo ufw allow from [client-IP or client-Subnet-IP] to any port nfs
Dans notre cas, la commande apparaîtra comme suit :
$ sudo ufw allow from 192.168.2.0/24 to any port nfs
Nous sommes tous bons maintenant avec la configuration du serveur NFS. L'étape suivante consiste à configurer le client et à tester si votre configuration fonctionne. Alors, continuons et configurons le client.
Étape 5) Configurer le système client
Connectez-vous maintenant au système client et mettez à jour l'index du package comme indiqué.
$ sudo apt update
Ensuite, installez le package nfs-common comme indiqué.
$ sudo apt install nfs-common
Créez ensuite un répertoire dans le dossier /mnt sur lequel vous monterez le partage NFS depuis le serveur.
$ sudo mkdir -p /mnt/client_shared_folder
Enfin, montez le répertoire de partage NFS distant sur le répertoire client comme suit.
$ sudo mount 192.168.2.103:/mnt/my_shares /mnt/client_shared_folder
Étape 6) Test de la configuration du partage NFS
Pour tester si notre configuration fonctionne, nous allons créer un fichier de test dans le répertoire NFS comme indiqué
$ cd /mnt/my_shares $ touch nfs_share.txt
Maintenant, revenons à notre client et voyons si nous pouvons voir le fichier dans notre répertoire monté
$ ls /mnt/client_shared_folder/
Et voila ! Voilà notre fichier comme indiqué dans l'extrait ci-dessous. Ceci est la confirmation que notre configuration a réussi.
C'est tout pour aujourd'hui. Nous espérons que ce guide vous a été utile et que vous pouvez facilement partager des fichiers à l'aide de NFS sur votre réseau.