Comment installer le serveur NFS sur Ubuntu 20.04 LTS

Dans ce tutoriel, nous allons vous montrer comment installer NFS Server sur Ubuntu 20.04 LTS. Pour ceux d’entre vous qui ne le savaient pas, NFS ou Network File System est un protocole de système de fichiers distribué. Il peut vous aider à partager des fichiers et des répertoires entiers avec d’autres sur un réseau. Il permet aux programmes sur des systèmes distants de partager et d’accéder à des informations comme si elles étaient disponibles sur une machine locale. Cette technologie vous offre la possibilité de partager une ressource sur plusieurs systèmes.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L’installation est assez simple et suppose que vous utilisez le compte root, sinon vous devrez peut-être ajouter ‘sudo‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l’installation étape par étape du serveur NFS sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.

Nous utilisons deux machines, une sous Ubuntu 20.04, qui fera office de serveur NFS, et une autre sous n’importe quelle autre distribution Linux sur laquelle nous monterons le partage. Les machines de ce example avoir les IP suivantes :

NFS Server IP: 192.168.77.20
NFS Clients IPs: From the 192.168.77.0/24 range

Installer le serveur NFS sur Ubuntu 20.04 LTS Focal Fossa

Étape 1. Tout d’abord, assurez-vous que tous vos packages système sont à jour en exécutant ce qui suit apt commandes dans le terminal.

sudo apt update
sudo apt upgrade

Étape 2. Installation du serveur NFS sur Ubuntu 20.04.

Exécutons maintenant la commande suivante pour installer le package de serveur de noyau NFS :

sudo apt install nfs-kernel-server

Vous pouvez vérifier si le nfs-server le service s’exécute comme indiqué :

sudo systemctl status nfs-server

Étape 3. Création des répertoires partagés sur l’hôte.

Création d’un répertoire qui sera partagé entre les systèmes clients :

sudo mkdir /var/nfs/general -p

Puisque nous voulons que les systèmes clients aient un accès complet à ce répertoire partagé, nous devons supprimer toutes les autorisations de répertoire qui restreignent l’accès :

sudo chown nobody:nogroup /var/nfs/general

Étape 4. Configurez NFS sur l’hôte.

Nous allons plonger dans le fichier de configuration NFS pour configurer le partage de ces ressources :

sudo nano /etc/exports

Ajoutez les lignes suivantes :

/var/nfs/general client_ip(rw,sync,no_subtree_check)
/home client_ip(rw,sync,no_root_squash,no_subtree_check)

Pour les options de base des exportations :

OptionLa description
rwAutorisez les requêtes de lecture et d’écriture sur un volume NFS.
roAutoriser uniquement les demandes de lecture sur un volume NFS.
synchronisationNe répondez aux demandes qu’une fois que les modifications ont été validées dans un stockage stable. (Défaut)
asynchroneCette option permet au serveur NFS de violer le protocole NFS et de répondre aux demandes avant que les modifications apportées par cette demande n’aient été validées dans un stockage stable.
sécuriseCette option nécessite que les demandes proviennent d’un port Internet inférieur à IPPORT_RESERVED (1024). (Défaut)
peu sûrCette option accepte tous les ports.
wdelayRetardez légèrement la validation d’une demande d’écriture sur un disque s’il soupçonne qu’une autre demande d’écriture associée est en cours ou peut arriver bientôt. (Défaut)
no_wdelayCette option n’a aucun effet si async est également défini. Le serveur NFS retardera normalement légèrement la validation d’une demande d’écriture sur un disque s’il soupçonne qu’une autre demande d’écriture associée est en cours ou peut arriver bientôt. Cela permet de valider plusieurs demandes d’écriture sur le disque avec une seule opération qui peut améliorer les performances. Si un serveur NFS recevait principalement de petites requêtes non liées, ce comportement pourrait en fait réduire les performances, donc no_wdelay est disponible pour le désactiver.
sous-arbre_vérifierCette option active la vérification des sous-arborescences. (Défaut)
no_subtree_checkCette option désactive la vérification des sous-arborescences, ce qui a de légères implications en matière de sécurité mais peut améliorer la fiabilité dans certaines circonstances.
racine_courgeMappez les requêtes de l’uid/gid 0 vers l’uid/gid anonyme. Notez que cela ne s’applique pas aux autres uids ou gids qui pourraient être tout aussi sensibles, tels que la corbeille d’utilisateurs ou le personnel de groupe.
no_root_squashDésactivez l’écrasement des racines. Cette option est principalement utile pour les clients sans disque.
all_squashMappez tous les uids et gids à l’utilisateur anonyme. Utile pour les répertoires FTP publics exportés par NFS, les répertoires de spool de nouvelles, etc.
no_all_squashDésactivez tout écrasement. (Défaut)
annuid = UIDCes options définissent explicitement l’uid et le gid du compte anonyme. Cette option est principalement utile pour les clients PC/NFS, où vous souhaiterez peut-être que toutes les demandes semblent provenir d’un seul utilisateur. En tant que example, considérez l’entrée d’exportation pour /home/joe dans le example ci-dessous, qui mappe toutes les demandes sur l’uid 150.
anongid = GIDLire ci-dessus (anonuid=UID)

Enfin, redémarrez le serveur NFS pour appliquer les modifications :

sudo systemctl restart nfs-kernel-server

Étape 5. Pare-feu de configuration.

Vous devez autoriser l’accès via le pare-feu, sinon l’accès et le montage du répertoire partagé seront impossibles. Pour y parvenir, exécutez la commande ci-dessous :

sudo ufw allow from 192.168.77.0/24 to any port nfs
sudo ufw enable
sudo ufw status

Étape 6. Configurez les clients NFS.

Sur les machines clientes, nous devons installer uniquement les outils nécessaires pour monter un système de fichiers NFS distant.

  • Installer le client NFS sur Debian et Ubuntu

Exécutez la commande suivante pour l’installer :

sudo apt install nfs-common
  • Créez des points de montage sur le client.

Nous créons maintenant deux répertoires pour les montages sur le client :

sudo mkdir -p /nfs/general
sudo mkdir -p /nfs/home

Ensuite, montez les partages à l’aide de l’adresse IP de l’hôte :

sudo mount host_ip:/var/nfs/general /nfs/general
sudo mount host_ip:/home /nfs/home

Vérifiez que les systèmes de fichiers distants sont montés avec succès à l’aide du montage ou df commander:

df -h

Pour rendre les montages permanents au redémarrage, ouvrez le /etc/fstab fichier et ajoutez les lignes suivantes :

sudo nano /etc/fstab

Ajoutez la ligne suivante :

192.168.77.10:/var/nfs/general /nfs/general  nfs defaults,timeo=900,retrans=5,_netdev 0 0
192.168.77.10:/home /nfs/home                nfs defaults,timeo=900,retrans=5,_netdev 0 0

Étape 7. Testez le partage NFS.

Maintenant, nous créons un fichier de test dans le /var/nfs/general partager:

sudo touch /nfs/general/general.test

Vérifiez sa propriété :

$ ls -l /nfs/home/home.test
-rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

Étape 8. Démontage du système de fichiers NFS.

Si le partage NFS distant n’est plus nécessaire, vous pouvez le démonter comme tout autre système de fichiers monté en utilisant le umount commander:

sudo umount /general

Toutes nos félicitations! Vous avez installé avec succès le serveur NFS. Merci d’avoir utilisé ce didacticiel pour installer le serveur NFS sur le système Ubuntu 20.04 LTS Focal Fossa. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de vérifier le site officiel de la NFS.