NFS permet à un serveur Linux de partager des répertoires avec d'autres clients UNIX sur le réseau. Serveur NFS exporte un répertoire et un client NFS monte ce répertoire. RHEL 7 prend en charge deux versions de NFS - NFSv3 et NFSv4.
Serveur NFS et processus RPC
démarrage du serveur nfs Le processus démarre le serveur NFS et les autres processus RPC. Les processus RPC incluent :
– rpc.statd :implémente le protocole de surveillance (NSM) entre le client NFS et le serveur NFS
– rpc.mountd :démon de montage NFS qui implémente le côté serveur des requêtes de montage des clients NFSv3.
– rpc.idmapd :Mappe les noms NFSv4 et les UID et GID locaux
– rpc.rquotad :fournit des informations sur les quotas d'utilisateurs pour les utilisateurs distants.
Configuration du serveur NFS
1. Installez les packages nfs requis s'ils ne sont pas déjà installés sur le serveur :
# rpm -qa | grep nfs-utils
# yum install nfs-utils rpcbind
2. Activez les services au démarrage :
# systemctl enable nfs-server # systemctl enable rpcbind
# systemctl enable nfs-lock
Dans RHEL7.1 (nfs-utils-1.3.0-8.el7), l'activation de nfs-lock ne fonctionne pas (aucun fichier ou répertoire de ce type). il n'a pas besoin d'être activé car rpc-statd.service est statique.
# systemctl enable nfs-idmap
Dans RHEL7.1 (nfs-utils-1.3.0-8.el7), cela ne fonctionne pas (aucun fichier ou répertoire de ce type). il n'a pas besoin d'être activé puisque nfs-idmapd.service est statique.
3. Démarrez les services NFS :
# systemctl start rpcbind # systemctl start nfs-server # systemctl start nfs-lock # systemctl start nfs-idmap
4. Vérifiez l'état du service NFS :
# systemctl status nfs
5. Créez un répertoire partagé :
# mkdir /test
6. Exportez le répertoire. Le format du fichier /etc/exports est :
dir client1 (options) [client2(options)...]
Les options client incluent (les valeurs par défaut sont répertoriées en premier) :
ro / rw :
a) ro :autorise les clients à accéder en lecture seule au partage.
b) rw :autorise les clients à accéder en lecture et en écriture au partage.
sync / async :
a) sync :le serveur NFS répond à la requête uniquement après que les modifications apportées par la requête précédente ont été écrites sur le disque.
b) async :spécifie que le serveur n'a pas à attendre.
>wdelay / no_wdelay
a) wdelay :le serveur NFS retarde la validation des requêtes d'écriture lorsqu'il soupçonne qu'une autre requête d'écriture est imminente.
b) no_wdelay :utilisez cette option pour désactiver le délai. L'option no_wdelay ne peut être activée que si la synchronisation par défaut l'option est activée.
no_all_squash / all_squash :
a) no_all_squash :ne modifie pas le mappage des utilisateurs distants.
b) all_squash :pour écraser tous les utilisateurs distants, y compris root.
root_squash / no_root_squash :
a) root_squash :empêche les utilisateurs root connectés à distance d'avoir un accès root. Écrase efficacement les privilèges root distants.
b) no_root_squash :désactive l'écrasement root.
Exemple :
# vi /etc/exports /test *(rw)
7. Exporter le partage :
# exportfs -r
-r réexporte les entrées dans /etc/exports et synchronise /var/lib/nfs/etab avec /etc/exports. Le /var/lib/nfs/etab est la table d'exportation principale. Les autres options pouvant être utilisées avec la commande exportfs sont :
-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab -i : ignore entries in /etc/exports and uses command line arguments. -u : un-export one or more directories -o : specify client options on command line
8. Redémarrez le service NFS :
# systemctl restart nfs-server
Configuration du client NFS
1. Installez les packages nfs requis s'ils ne sont pas déjà installés sur le serveur :
# rpm -qa | grep nfs-utils
# yum install nfs-utils
2. Utilisez la commande mount pour monter les systèmes de fichiers exportés. Syntaxe de la commande :
mount -t nfs -o options host:/remote/export /local/directory
Exemple :
# mount -t nfs -o ro,nosuid remote_host:/home /remote_home
Cet exemple effectue les opérations suivantes :
– Il monte /home à partir de l'hôte distant (remote_host) sur le point de montage local /remote_home.
– Le système de fichiers est monté en lecture seule et les utilisateurs ne peuvent pas exécuter un programme setuid ( -o ro,nosuid options).
3. Mettez à jour /etc/fstab pour monter les partages NFS au démarrage.
# vi /etc/fstab remote_host:/home /remote_home nfs ro,nosuid 0 0
Les services Firewalld doivent être actifs sur le serveur NFS
Pour que le serveur NFS fonctionne, activez les services nfs, mountd et rpc-bind dans la zone appropriée de l'application firewall-config ou en utilisant firewall-cmd :
# firewall-cmd --add-service=nfs --zone=internal --permanent # firewall-cmd --add-service=mountd --zone=internal --permanent # firewall-cmd --add-service=rpc-bind --zone=internal --permanent