GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le serveur NFS sur CentOS 8 / RHEL 8

Acronyme de Network File Share, NFS est un protocole client/serveur multiplateforme qui permet aux machines clientes d'accéder aux fichiers partagés par le serveur NFS sur un réseau. Les systèmes clients peuvent monter localement les systèmes de fichiers à partir du serveur NFS et accéder aux fichiers et répertoires comme s'ils étaient montés localement. Dans ce guide, nous vous guiderons tout au long de l'installation et de la configuration du serveur NFS sur CentOS 8 / RHEL 8 .

Remarque : Dans CentOS 8 ou RHEL 8 NFSv3 &v4 les deux sont pris en charge. NFSv3 permet une écriture asynchrone sécurisée et prend en charge les tailles et décalages de fichiers 64 bits. Alors que NFSv4 fonctionne via le pare-feu du système d'exploitation et prend en charge ACL (Access Control List) et ne nécessite pas de service rpcbind

Configuration du serveur/client NFS

Avant de commencer, nous allons utiliser la configuration ci-dessous pour simuler le fonctionnement du protocole NFS dans une configuration client/serveur.

  • IP de la machine serveur :adresse :   192.168.2.102         CentOS 8
  • IP de l'ordinateur client :adresse :   192.168.2.103         CentOS 8

Avec notre configuration à portée de main, commençons l'installation de NFS sur la machine serveur.

Étape 1) Installer et configurer NFS sur le serveur CentOS 8 / RHEL 8

Pour commencer, nous allons installer le package de serveur NFS appelé nfs-utils qui agit comme le démon NFS. Pour installer le package nfs-utils, lancez le terminal et exécutez la commande :

$ sudo dnf install nfs-utils -y

Dans l'exemple ci-dessous, nfs-utils est déjà installé.

Une fois l'installation terminée, démarrez et activez le service nfs-server afin qu'il soit automatiquement lors des redémarrages. Exécutez les commandes suivantes,

$ sudo systemctl start nfs-server.service
$ sudo systemctl enable nfs-server.service

Pour confirmer que le service NFS est en cours d'exécution, exécutez :

$ sudo systemctl status nfs-server.service

Vous pouvez vérifier la version du protocole nfs que vous utilisez en exécutant la commande :

$ rpcinfo -p | grep nfs

La version est indiquée par la deuxième colonne dans la sortie présentée ci-dessous.

Pour une configuration supplémentaire du serveur NFS, vous pouvez trouver les fichiers de configuration sur /etc/nfs.conf qui est le fichier de configuration du démon NFS et le fichier /etc/nfsmount.conf qui est le fichier de configuration pour le montage NFS.

Étape 2) Créer et exporter un partage NFS

Dans cette étape, nous allons créer un système de fichiers qui sera partagé du serveur aux systèmes clients. Dans ce guide, nous allons créer un répertoire sur /mnt/nfs_share/docs comme indiqué ci-dessous

$ sudo mkdir -p /mnt/nfs_shares/docs

Pour éviter les restrictions de fichiers sur le répertoire de partage NFS, il est conseillé de configurer la propriété du répertoire comme indiqué. Cela permet la création de fichiers à partir des systèmes clients sans rencontrer de problèmes d'autorisation.

$ sudo chown -R nobody: /mnt/nfs_shares/docs

En outre, vous pouvez décider d'ajuster les autorisations du répertoire en fonction de vos préférences. Par exemple, dans ce guide, nous attribuerons toutes les autorisations (lecture, écriture et exécution) au dossier de partage NFS

$ sudo chmod -R 777 /mnt/nfs_shares/docs

Pour que les modifications prennent effet, redémarrez le démon NFS :

$ sudo systemctl restart nfs-utils.service

Pour exporter le partage NFS afin que les systèmes clients puissent y accéder, nous devons modifier le fichier /etc/exports dossier. Vous pouvez autoriser plusieurs clients à accéder au partage en spécifiant un sous-réseau comme indiqué

/mnt/nfs_shares/docs   192.168.2.0/24(rw,sync,no_all_squash,root_squash

De plus, vous pouvez spécifier chaque client sur une ligne distincte :

/mnt/nfs_shares/docs client-IP(rw,sync,no_all_squash,root_squash)

/mnt/nfs_shares/docs client-IP(rw,sync,no_all_squash,root_squash)

En utilisant notre configuration, nous accorderons l'accès à notre machine cliente avec une adresse IP 192.168.2.103. Ajoutez la ligne suivante dans le fichier ‘/etc/exports ' :

$ sudo vi /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)

Enregistrez et quittez le fichier. Utilisez la commande cat pour confirmer l'entrée comme indiqué

[[email protected]] cat /etc/exports
/mnt/nfs_shares/docs    192.168.2.103(rw,sync,no_all_squash,root_squash)
[[email protected]]

Regardons la signification des paramètres utilisés :

  • rw – Cela signifie lecture/écriture. Il accorde des autorisations de lecture et d'écriture au partage NFS.
  • synchroniser – Le paramètre nécessite d'abord l'écriture des modifications sur le disque avant de pouvoir effectuer toute autre opération.
  • no_all_squash – Cela mappera tous les UID et GID des requêtes client vers des UIDS et GID identiques résidant sur le serveur NFS.
  • root_squash – L'attribut mappe les requêtes de l'utilisateur root côté client vers un UID/GID anonyme.

Pour exporter le dossier créé ci-dessus, utilisez la commande exportfs comme indiqué :

$ sudo exportfs -arv

Le -a l'option implique que tous les répertoires seront exportés, -r signifie réexporter tous les répertoires et enfin -v flag affiche une sortie détaillée.

Juste pour être sûr de la liste d'exportation, vous pouvez afficher la liste d'exportation en utilisant la commande :

$ sudo exportfs -s

Parfait! Notre liste d'exportation existe. Jusqu'ici tout va bien. La seule configuration restante sur le serveur NFS autorise les services NFS sur le pare-feu.

Étape 3) Configuration des règles de pare-feu pour le serveur NFS

La dernière étape de la configuration du serveur consiste à autoriser les services NFS via le pare-feu sur la machine serveur CentOS 8. Ces services sont nfs, rpc-bind , et mountd . Alors, exécutez les commandes ci-dessous.

$ sudo firewall-cmd --permanent --add-service=nfs
$ sudo firewall-cmd --permanent --add-service=rpc-bind
$ sudo firewall-cmd --permanent --add-service=mountd

Rechargez ensuite le pare-feu pour que les modifications prennent effet

$ sudo firewall-cmd --reload

Passons maintenant au système client et configurons-le pour accéder aux partages NFS.

Configuration du système client NFS

Pour configurer le système client pour accéder aux partages de fichiers NFS, suivez la procédure ci-dessous

Étape 1) Installez les packages NFS requis

Sur le système client CentOS 8, installez les packages requis pour accéder au partage NFS résidant sur le serveur NFS

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

Pour le système Debian ou Ubuntu :

$ sudo apt install nfs-common nfs4-acl-tools -y

Pour afficher les partages NFS montés sur le serveur, utilisez le showmount commande :

$ showmount -e 192.168.2.102

Étape 2) Monter le partage NFS distant situé sur le serveur

Ensuite, nous devons monter le répertoire de partage NFS distant sur le système client local. Mais d'abord, créons un répertoire pour monter le partage NFS.

$ sudo mkdir p /mnt/client_share

Pour monter le partage NFS, exécutez la commande ci-dessous. Rappelez-vous que 192.168.2.102 est l'adresse IP du serveur NFS.

$ sudo mount -t nfs 192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share

Vous pouvez vérifier que le partage NFS distant a été monté en exécutant :

$ sudo mount | grep -i nfs

Pour rendre le partage de montage persistant lors d'un redémarrage, vous devez modifier le fichier /etc/fstab fichier et ajoutez l'entrée ci-dessous.

192.168.2.102:/mnt/nfs_shares/docs  /mnt/client_share  nfs  defaults  0  0

Enregistrez et fermez le fichier.

Tester la configuration du serveur et du client NFS

À ce stade, nous en avons terminé avec toutes les configurations. Cependant, nous devons tester notre configuration et nous assurer que tout fonctionne. Donc, d'abord, nous allons créer un fichier de test dans le répertoire de partage du serveur NFS et vérifier s'il est présent dans le répertoire monté NFS du client.

$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.txt

Maintenant, dirigez-vous vers le système client et vérifiez si le fichier existe du côté client.

$ ls -l /mnt/client_share/

Génial! À partir de la sortie, nous pouvons clairement voir que le fichier existe. Faisons maintenant le contraire. Nous allons créer un fichier sur le système client NFS et vérifier s'il est accessible depuis le serveur NFS.

Sur le client, créez le fichier comme indiqué :

$ sudo touch /mnt/client_share/client_nfs_file.txt

Maintenant, retournez sur le serveur et vérifiez si le fichier est présent dans le répertoire de partage NFS

$ ls -l /mnt/nfs_shares/docs

Génial! Nous pouvons voir et accéder au fichier.

Comme vous pouvez le constater, vous pouvez facilement créer des fichiers sur le serveur et le client NFS et les partager de manière transparente entre les deux systèmes ainsi qu'avec d'autres systèmes clients qui ont été configurés pour accéder aux partages. Et cela nous amène à la fin de notre tutoriel d'aujourd'hui. Dans ce guide, nous vous avons montré comment installer et configurer le serveur NFS et la configuration du système client sur CentOS 8 et RHEL 8.


Cent OS
  1. Comment configurer un serveur SFTP sur CentOS

  2. Comment installer Puppet sur CentOS 8 / RHEL 8

  3. Configurer le serveur SysLog sur CentOS 6 / RHEL 6

  4. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  5. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

Comment configurer Jenkins sur CentOS 8 / RHEL 8

Comment configurer un serveur SVN sur CentOS

Comment configurer Icinga Web 2 sur CentOS 8 / RHEL 8

Comment installer Zabbix Server 4.x sur CentOS 6 / RHEL 6

Comment configurer le serveur SysLog centralisé sur CentOS 8 / RHEL 8

Comment configurer HAProxy sur CentOS 8