GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer le serveur et le client NFS sur Ubuntu 20.04

Ubuntu 20.04 prend en charge NFS version 3(NFSv3) et 4(NFSv4). La version NFS par défaut est la 4.2, qui prend en charge les listes de contrôle d'accès (ACL), la copie côté serveur, les fichiers fragmentés, la réservation d'espace, le NFS étiqueté, les améliorations de mise en page et bien plus encore.

Dans ce guide, nous apprendrons comment installer et configurer le serveur NFS et le client NFS sur Ubuntu 20.04.

Messages associés :

  • Comment configurer le serveur et le client NFS sur Rocky/Alma Linux 8
  • Comment installer et configurer le partage de fichiers Samba sur Ubuntu 20.04

Prérequis

  • Mise à jour du serveur Ubuntu 20.04 à utiliser comme serveur et un autre pour le client
  • Connectivité depuis les serveurs
  • Accès Sudo depuis les serveurs

Table des matières

  1. Assurez-vous que le serveur est mis à jour
  2. Installer les packages NFS
  3. Démarrage et activation du serveur NFS
  4. Activation du service NFS sur le pare-feu
  5. Configuration des exportations sur le serveur NFS
  6. Configuration des systèmes clients NFS

1. S'assurer que le serveur est à jour

Avant de continuer, assurons-nous que le serveur est à jour. Utilisez cette commande pour y parvenir :

sudo apt update
sudo apt upgrade -y

2. Installez les packages NFS

Le paquet nfs-kernel-server fournit des services NFS pour Ubuntu. Le package de serveur NFS fournit la prise en charge de l'espace utilisateur nécessaire pour exécuter le serveur noyau NFS. Pour installer le package, exécutez :

sudo apt install -y nfs-kernel-server

Sur Ubuntu 20.04, NFS version 2 est désactivé. Les versions 3 et 4 sont activées. Vérifiez la version installée à l'aide de cette commande :

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

3. Démarrage et activation du serveur NFS

Une fois les packages NFS installés avec succès, le serveur NFS sera démarré. Confirmez l'état du service avec cette commande :

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
   Main PID: 20614 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4624)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished NFS server and services.

La sortie ci-dessus montre que le service a été démarré avec succès. Pour permettre au service de démarrer au démarrage du système, utilisez cette commande :

sudo systemctl enable nfs-server

Veuillez noter que les autres services requis pour exécuter un serveur NFS ou monter des partages NFS tels que nfsdnfs-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotad et rpc.idmapd sera lancé automatiquement.

4. Activation du service NFS dans le pare-feu

Si vous installez NFS Server sur un serveur Ubuntu distant protégé par un pare-feu, vous devez activer le trafic sur le port NFS :

sudo ufw allow nfs

Vérifiez le changement :

sudo ufw status

5. Configuration des exportations sur le serveur NFS

La configuration du serveur NFS est définie dans /etc/default/nfs-kernel-server et /etc/default/nfs-common des dossiers. Les paramètres par défaut sont suffisants pour la plupart des situations.

Créons des systèmes de fichiers à exporter ou à partager sur le serveur NFS. Nous allons créer deux systèmes de fichiers à regarder, /mnt/nfs_shares/files pour les fichiers partagés et /mnt/nfs_shares/backup pour les sauvegardes.

Créons les répertoires sur le serveur

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Confirmer

$ sudo ls /mnt/nfs_shares
backup	files

Ajoutez ensuite les systèmes de fichiers ci-dessus dans le fichier d'exportation /etc/exports dans le serveur NFS pour déterminer les systèmes de fichiers locaux qui sont exportés vers les clients NFS.

Ouvrez le fichier d'exportation avec votre éditeur de texte

sudo vim /etc/exports

Ajoutez ensuite ce contenu :

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Voici les options d'exportation qui peuvent être utilisées :

  • rw – autorise à la fois l'accès en lecture et en écriture sur le système de fichiers.
  • synchroniser - indique au serveur NFS d'écrire des opérations (écriture d'informations sur le disque) lorsqu'il est demandé (s'applique par défaut).
  • all_squash – mappe tous les UID et GID des demandes des clients à l'utilisateur anonyme.
  • no_all_squash :utilisé pour mapper tous les UID et GID des requêtes client vers des UID et GID identiques sur le serveur NFS.
  • root_squash – mappe les requêtes de l'utilisateur root ou de l'UID/GID 0 du client vers l'UID/GID anonyme.

Une fois les systèmes de fichiers définis dans le fichier d'exportation, nous devons exécuter le exportfs commande pour qu'ils soient exportés. L'exportfs peut être exécuté avec le -a drapeau signifiant exporter ou désexporter tous les répertoires, -r ce qui signifie réexporter tous les répertoires, en synchronisant /var/lib/nfs/etab avec /etc/exports et les fichiers sous /etc/exports.d , et -v active la sortie détaillée.

sudo exportfs -arv

Ceci est la sortie sur mon serveur

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Pour afficher la liste d'exportation actuelle, exécutez la commande suivante. Veuillez noter que la table exportfs applique également certaines options par défaut qui ne sont pas explicitement définies :

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Configuration des systèmes client NFS

Maintenant que nous avons configuré les exportations sur le serveur, nous pouvons y accéder depuis le système client. Connectez-vous au système client et installez les packages nécessaires pour permettre l'accès aux partages NFS.

Sur les systèmes basés sur RHEL :

sudo dnf install -y nfs-utils nfs4-acl-tools

Sur les distributions basées sur Debian/Ubuntu :

sudo apt install nfs-common nfs4-acl-tools

Nous pouvons ensuite exécuter la commande showmount pour afficher les informations de montage pour le serveur NFS. La commande affiche les systèmes de fichiers exportés sur le serveur

showmount -e 10.70.5.221

Sortie

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Créez un répertoire de système de fichiers local pour monter les systèmes de fichiers NFS distants et montez-le en tant que système de fichiers nfs

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Nous pouvons ensuite confirmer que le système de fichiers distant a été monté en exécutant le montage commande et filtre nfs montures.

sudo mount | grep nfs

Sortie sur ma machine

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/ubuntu/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/ubuntu/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Pour permettre au montage de persister même après un redémarrage du système, ajoutez les entrées au /etc/fstab dossier. Utilisez ces commandes (en tant que root) pour y parvenir :

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/ubuntu/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/ubuntu/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Enfin, testez si NFS la configuration fonctionne correctement en créant un fichier sur le serveur et en vérifiant si le fichier peut être vu dans le client.

Sur le serveur :

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Ensuite, sur la machine cliente, confirmez

$ ls ~/nfs_files/
file_on_server.txt

Vous pouvez aussi faire l'inverse. Sur le client :

touch ~/nfs_files/file_on_client.txt

Puis sur le serveur validez :

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

Pour démonter le système de fichiers distant côté client.

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Veuillez noter que vous ne pouvez pas unmount le système de fichiers distant si vous y travaillez.

Conclusion

Dans ce guide, nous avons réussi à installer et à configurer un serveur et un client NFS sur Ubuntu 20.04.


Ubuntu
  1. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  2. Comment configurer un serveur NFS et monter des partages NFS sur Ubuntu 14.10

  3. Comment installer le client et le serveur NFS sur Ubuntu 20.04

  4. Installer UrBackup Server et Client sur Ubuntu 20.04 - Comment faire ?

  5. Comment configurer le serveur et le client NFS sur Rocky/Alma Linux 8

Comment installer le serveur et le client Telnet sur Ubuntu

Comment configurer le serveur et le client NFS sur Debian 10

Installer le serveur et le client NFS sur Ubuntu

Comment installer le serveur NTP et le ou les clients sur Ubuntu 20.04 LTS

Comment configurer Quad 9 DNS sur Ubuntu 16.04 et Ubuntu 17.10 Desktop

Comment configurer le serveur et le client NFS sur CentOS 8