GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer et configurer le serveur NFS sur Debian 11

NFS ou Network File System est un protocole réseau qui vous permet de monter un système de fichiers distant via le réseau. Le protocole NFS est utilisé dans l'architecture serveur-client, le serveur NFS qui fournit tous les répertoires ou partitions prêts à être accédés et montés, et les clients qui ont utilisé le protocole rpcbind pour accéder à tous les répertoires et systèmes de fichiers via la connexion réseau interne.

L'état actuel du protocole Network File System est décrit ci-dessous.

1. NFSv2 et NFSv3 sont toujours pris en charge par les principaux systèmes d'exploitation, mais pour des raisons de sécurité, vous devez limiter l'accès du serveur NFS au réseau local de confiance. NFSv2 et NFSv3 sont recommandés pour les petits et moyens types de déploiement.
2. Le protocole NFSv4 fournit des fonctionnalités de sécurité de base telles que l'authentification et le chiffrement, mais il s'appuie sur Kerberos pour ces parties. Vous devez donc ajouter une configuration supplémentaire pour utiliser NFSv4 avec des fonctionnalités de sécurité de base.

Pour ce tutoriel, vous apprendrez comment installer et configurer un serveur NFS sur la dernière Debian 11 Bullseye. Vous installerez le serveur NFS et sécuriserez l'accès en limitant les hôtes à l'aide du pare-feu ufw. Ensuite, vous apprendrez à configurer le client pour monter les répertoires et les partitions fournis par le serveur NFS, et à configurer le serveur NFS à montage automatique au démarrage du système via la configuration '/etc/fstab'.

Prérequis

1. Nous utiliserons deux machines différentes sur le même réseau comme ci-dessous.
     - debian64 - 192.168.1.25 - en tant que serveur NFS
     - client-debian - 192.168.1.30 - en tant que client
2. Un utilisateur root ou un utilisateur avec des privilèges root. Cet utilisateur sera utilisé pour installer de nouveaux packages et modifier les configurations du système.

Installation et configuration du serveur NFS

Dans un premier temps, vous installerez le package du serveur nfs et configurerez le répertoire partagé pour les clients.

1. Exécutez la commande suivante pour installer les packages nfs-server.

apt install nfs-kernel-server rpcbind

Tapez 'y ' et appuyez sur 'Entrée ' pour continuer l'installation.

2. Créez maintenant un nouveau répertoire que vous souhaitez partager avec les clients. Pour cet exemple, vous partagerez deux répertoires '/mnt/shared' et '/srv/data' avec les clients. Et ne partagez pas le répertoire racine '/' ou le répertoire '/etc' par défaut.

Créez un nouveau répertoire partagé à l'aide de la commande mkdir ci-dessous.

mkdir -p /mnt/shared
mkdir -p /srv/data

Créez un nouveau fichier dans chaque répertoire en exécutant la commande echo ci-dessous.

echo "test file nfs server" > /mnt/shared/test-file.txt
echo "test file nfs server" > /srv/data/test-file.txt

Changez maintenant la propriété des deux répertoires partagés en 'nobody:nogroup' en exécutant la commande ci-dessous.

chown nobody:nogroup /mnt/shared /srv/data

Et vous êtes prêt à configurer le serveur NFS.

3. Pour configurer le répertoire partagé pour nfs, modifiez la configuration '/etc/exports' à l'aide de l'éditeur nano.

nano /etc/exports

Voici quelques exemples de configurations pour certains scénarios

Répertoire de partage pour le client à hôte unique avec accès en lecture-écriture.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

Partager le répertoire pour plusieurs clients, y compris un groupe du réseau hôte.

/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)

Répertoire de partage pour un seul client avec accès en lecture seule.

/srv/data        192.168.1.30(ro)

Vous trouverez ci-dessous l'exemple de configuration final.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)
/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)
/srv/data      192.168.1.30(ro,no_root_squash)

Enregistrez la configuration en appuyant sur 'Ctrl+x ', tapez 'y ', puis appuyez sur 'Entrée ' pour quitter.

Options que vous devez connaître :

  • rw  :autoriser l'accès en lecture et en écriture pour le serveur NFS et le client au volume/répertoire.
  • ro  :autoriser l'accès en lecture seule pour les clients.
  • synchroniser  :répondre aux requêtes uniquement après que les modifications ont été validées dans un stockage stable. Cette option est activée par défaut.
  • asynchrone  :permet au serveur NFS de violer le protocole NFS et de répondre aux requêtes avant que les modifications apportées par cette requête n'aient été validées dans un stockage stable.
  • subtree_check :autoriser et activer la vérification des sous-arborescences. Cette option est activée par défaut.
  • no_subtree_check  :désactive la vérification des sous-arborescences, ce qui a de légères implications pour la sécurité, mais peut améliorer la fiabilité dans certaines circonstances.
  • root_squash :Mappez les requêtes de l'uid/gid 0 vers l'uid/gid anonyme. Notez que cela ne s'applique pas aux autres uid ou gid qui pourraient être tout aussi sensibles, tels que l'utilisateur bin ou le groupe staff.
  • no_root_sqash :désactiver l'écrasement de la racine. Cette option est principalement utile pour les clients sans disque.

4. Ensuite, redémarrez le service nfs-server pour appliquer une nouvelle configuration à l'aide de la commande ci-dessous.

systemctl restart nfs-server

Maintenant, vérifiez et vérifiez le service nfs-server à l'aide de la commande suivante.

systemctl is-enabled nfs-server
systemctl status nfs-server

Et vous obtiendrez une sortie similaire à celle ci-dessous.

Comme on peut le voir, le service nfs-server est "activé" et s'exécutera automatiquement au démarrage du système. Et l'état actuel de nfs-service est "actif (sorti)", ce qui signifie que le service est en cours d'exécution, mais que systemd ne trouve pas le démon à surveiller.

Sécuriser le serveur NFS avec le pare-feu UFW

Pour cette étape, vous allez installer le pare-feu ufw et restreindre l'accès au serveur NFS pour des hôtes et des réseaux spécifiques uniquement.

1. Exécutez la commande apt ci-dessous pour installer le package ufw.

apt install ufw

Tapez 'y ' et appuyez sur 'Entrée ' pour confirmer et poursuivre l'installation.

2. Si toute l'installation est terminée, ajoutez le service SSH aux règles de pare-feu ufw à l'aide de la commande ci-dessous.

ufw allow ssh

3. Ensuite, exécutez les commandes ufw ci-dessous pour ajouter des hôtes ou des réseaux à votre pare-feu ufw.

Autoriser l'hôte avec l'adresse IP '192.168.1.30 ' pour accéder au serveur NFS.

ufw allow from 192.168.1.30 to any port nfs

Autoriser le blocage d'un réseau à accéder au serveur NFS.

ufw allow from 172.16.1.0/24 to any port nfs
ufw allow from 10.11.12.0/24 to any port nfs

4. Après cela, activez le pare-feu ufw à l'aide de la commande suivante.

ufw enable

Tapez 'y ' et appuyez sur 'Entrée ' pour démarrer et activer le pare-feu ufw.

Vérifiez maintenant l'état du pare-feu ufw à l'aide de la commande ci-dessous.

ufw status

Et vous verrez une sortie similaire à celle ci-dessous.

Comme on peut le voir, l'état du pare-feu ufw est "actif" et le service NFS sur le port par défaut "2049" est disponible dans la liste des règles.

Configuration du client NFS

Pour cette étape, vous allez configurer des clients pour accéder au répertoire partagé et à la partition sur le serveur NFS.

1. Tout d'abord, installez le 'nfs-common ' à l'aide de la commande apt ci-dessous.

apt install nfs-common

Tapez 'y ' et appuyez sur 'Entrée ' pour confirmer et poursuivre l'installation.

2. Une fois l'installation terminée, créez un nouveau répertoire pour le répertoire de montage.

mkdir -p /nfs/shared; mkdir -p /nfs/data

3. Pour monter le répertoire ou la partition nfs à partir du serveur NFS, exécutez la commande mount ci-dessous.

mount 192.168.1.25:/mnt/shared /nfs/shared
mount 192.168.1.25:/srv/data /nfs/data

La commande de montage de base pour accéder à NFS consiste à spécifier l'adresse IP du serveur NFS '192.168.1.25' avec le chemin du répertoire de montage '/mnt/shared' et '/srv/data' et le chemin cible côté client '/nfs /shared' et '/nfs/data'.

4. Ensuite, exécutez la commande suivante pour vérifier que le montage NFS a réussi.

df -h

De plus, vous pouvez vérifier les fichiers que vous venez de créer en exécutant les commandes suivantes.

cat /nfs/shared/test-file.txt
cat /nfs/data/test-file.txt

Vous trouverez ci-dessous la sortie que vous obtiendrez.

Comme on peut le voir, vous avez monté avec succès le serveur NFS dans les répertoires '/nfs/shared' et '/nfs/data', et vous pourrez lire les fichiers que vous venez de créer par dessus.

Vérifier l'accès en lecture et en écriture au serveur NFS

Pour cette étape, vous vérifierez l'accès en lecture et en écriture au répertoire du serveur NFS.

1. changez le répertoire de travail en '/nfs/shared', vérifiez les fichiers disponibles dans ce répertoire et affichez le contenu de ce fichier à l'aide de la commande ci-dessous.

cd /nfs/shared
ls

cat test-file.txt

Ensuite, créez un nouveau fichier en utilisant la commande echo ci-dessous.

echo "This file from nfs-client" > client.txt
cat client.txt

Si vous parvenez à créer le fichier 'client.txt', l'accès en écriture au répertoire NFS '/nfs/share' est réussi, comme décrit dans la configuration ci-dessous.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

2. Ensuite, dans la configuration que vous avez créée en haut, le cline n'a accès qu'en lecture au répertoire NFS '/nfs/data', comme vous pouvez le voir dans la configuration ci-dessous.

/srv/data        192.168.1.30(ro,no_root_squash)

Changez le répertoire de travail en '/nfs/data', vérifiez les fichiers qu'il contient, vérifiez les fichiers disponibles dans ce répertoire et affichez le contenu de ce fichier à l'aide de la commande ci-dessous.

cd /nfs/data
ls

cat test-file.txt

Ensuite, si vous souhaitez créer un nouveau fichier, vous obtiendrez une erreur "Système de fichiers en lecture seule". Parce que vous n'avez que l'autorisation de "lecture seule", comme décrit dans la configuration supérieure.

echo "This is a file from client to data" > client-data.txt

Vous trouverez ci-dessous le résultat similaire que vous obtiendrez.

L'autorisation de lecture et d'écriture correspond à la configuration actuelle du serveur NFS.

Monter NFS au démarrage

Pour cette étape, vous apprendrez à monter le répertoire/partition NFS au démarrage/démarrage du système via la configuration '/etc/fstab'.

1. Modifiez le '/etc/fstab' configuration à l'aide de l'éditeur nano.

nano /etc/fstab

Modifiez les détails des adresses IP, du répertoire partagé et du répertoire de montage du chemin avec les vôtres, puis collez la configuration.

192.168.1.25:/mnt/shared        /nfs/shared   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.1.25:/srv/data          /nfs/data     nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Enregistrez la configuration en appuyant sur 'Ctrl+x ' et tapez 'y ', puis appuyez sur 'Entrée ' pour quitter.

2. Ensuite, vérifiez le '/etc/fstab ' la configuration est correcte en utilisant les commandes suivantes.

Démontez tous les répertoires de montage à l'aide de la commande ci-dessous.

umount -R /nfs/shared
umount -R /nfs/data

Exécutez la commande suivante pour monter tous les systèmes de fichiers disponibles sur le fichier de configuration '/etc/fstab'.

mount -a

Assurez-vous de ne pas avoir d'erreurs.

Exécutez maintenant la commande suivante pour afficher tous les systèmes de fichiers montés.

df -h

Si votre configuration est correcte, vous verrez que le serveur NFS est monté sur le répertoire cible comme décrit dans la configuration '/etc/fstab'.

3. Vous pouvez redémarrer la machine cliente et vous reconnecter, puis vérifier à nouveau à l'aide de la commande ci-dessous.

df -h

Et vous verrez que le serveur NFS est automatiquement munté au démarrage du système sur la machine cliente via le fichier '/etc/fstab'.

Conclusion

Toutes nos félicitations! Vous avez installé avec succès le serveur NFS sur la dernière Debian 11 Bullseye. De plus, vous avez réussi à sécuriser le déploiement du serveur NFS à l'aide du pare-feu ufw, à configurer les machines clientes NFS et à configurer le montage automatique à l'aide de la configuration '/etc/fstab'. Pour la prochaine étape, vous pourriez également être intéressé par le protocole NFSv4, qui fournit des mécanismes de sécurité tels que le chiffrement et l'authentification via le serveur Kerberos.


Debian
  1. Comment installer et configurer le serveur VNC sur Debian 10

  2. Comment installer et configurer docker sur Debian 11

  3. Comment installer et configurer Mariadb 10 dans Debian 11

  4. Comment installer et configurer MongoDB 5 sur Debian 11

  5. Comment installer et configurer Redis 6 sur Debian 11

Comment installer et configurer Monit sur Debian 9

Comment installer et configurer le serveur Web OpenLiteSpeed ​​sur Debian 10

Comment installer et configurer le serveur VNC sur Debian 9 Stretch

Comment installer et configurer le serveur Web Apache sur Debian 11

Comment installer et configurer Git dans Debian 11

Comment installer et configurer Apache sur Debian 11 ?