NFS ( Network File System ) est un protocol de partage de fichier qui permet de monter les systèmes de fichiers distants comme s’ils étaient montés sur leur propore ordinateur. Il a été dévloppé par Sun Microsystems dans les année 80 et maintenant largement utilisé sur les Systèmes Linux/Unix, ainsi que Windows et Mac OS.
Contrairement au SMB qui est un protocole propriétaire Microsoft, le protocole NFS est libre.
Dans cet article nous allons voir comment installer et utiliser NFS sur CentOS / RedHat.
Avanatges de NFS
– Partage centralisé : Il permet de centraliser les fichiers sur un serveur unique, ce qui facilite leur gestion et leur sauvegarde. Les utilisateurs peuvent accéder aux fichiers partagés à partir de n’importe quelle machine connectée au réseau.
– Haute disponibilité : Il permet de configurer des serveurs de fichiers en cluster pour assurer la disponibilité des fichiers même en cas de panne d’un serveur.
– Accès en lecture/écriture : Les utilisateurs peuvent lire et écrire des fichiers sur un système de fichiers distant, comme s’ils étaient sur leur propre ordinateur.
– Transparent pour les utilisateurs : Les utilisateurs n’ont pas besoin de connaître les détails de la configuration du réseau pour accéder aux fichiers partagés.
– Interopérabilité : il est un protocole ouvert, donc il peut être utilisé avec différentes plateformes, y compris Windows, Linux, et UNIX.
– Sécurité : il prend en charge l’authentification des utilisateurs et peut utiliser des protocoles de sécurité tels que Kerberos pour protéger les données transmises sur le réseau.
Configuration coté serveur
D’abord installer le package nfs avec la commande ci-dessous :
yum install -y nfs-utils
Utilisez le gestionnaire de package dnf si vous utilisez CentOS 8.
dnf install -y nfs-utils
Une fois installé, démarrez le service :
# systemctl start nfs-server rpcbind # systemctl enable nfs-server rpcbind
rpcbind est utilisé pour traduire les noms de service en adresses IP et numéros de port utilisés par les programmes RPC. Il écoute sur le port 111 et est généralement démarré automatiquement avec le système. Il est requis pour que les services NFS fonctionnent correctement, car il permet aux clients de trouver les serveurs NFS disponibles sur le réseau.
Création du partage NFS
Une fois le package est installé, nous allons créer le répertoire auquel les clients vont accéder :
# mkdir /applis
Autorisez les clients à écrire et modifier sur le dossier partagé :
# chmod 777 /applis
Au niveau du fichier /etc/exports, indiquez le répertoire partagé avec les droits mentionné ci-dessous :
/applis 192.168.5.0/24(rw,sync,no_root_squash)
Voici l’explication de chaque paramétre :
– 192.168.5.0/24 : là j’ai indiqué les adresses réseau des clients NFS qui ont le droit d’accéder à mon partage. Vous pouvez aussi indiquer une adresse IP précise.
– rw : le droit de lecture et écriture.
– sync: Toutes les modifications apportées au système de fichiers correspondants sont immédiatement transférées sur le disque
– no_root_squash : Il est important de comprendre ce paramétre avant de suivre le tutoriel.
Il permet de contrôler comment les utilisateurs root sont traités lorsqu’ils accèdent à des fichiers partagés via NFS.
Par défaut, lorsqu’un utilisateur root accède à des fichiers partagés via NFS, il est « remappé » en utilisateur anonyme, ce qui signifie qu’il perd tous ses privilèges et ne peut pas accéder aux fichiers avec les permissions de root. Cette fonctionnalité est appelée « root squashing ».
L’option no_root_squash permet de désactiver cette fonctionnalité et de conserver les privilèges de root pour les utilisateurs qui accèdent aux fichiers partagés via NFS. Cela peut être nécessaire dans certaines situations, par exemple lorsque vous voulez que les utilisateurs root de différents systèmes puissent administrer les fichiers partagés.
Il est donc important de noter que l’utilisation de cette option peut poser des risques de sécurité si elle n’est pas utilisée de manière appropriée. Il est donc recommandé de ne l’utiliser qu’en cas de besoin absolu et de limiter les accès aux utilisateurs ayant besoin de ces privilèges.
Enfin nous allons exporter notre partage avec la commande ci-dessous :
# exportfs -r
Taper la commande suivante pour voir les dossiers exportés au niveau de votre server NFS
# exportfs -v
Configuration de pare-feu
Nous avons maintenant besoin de configurer le pare-feu pour permettre nos clients d’accèder au partage.
Pour cela taper les commandes suivant :
# firewall-cmd --permanent --add-service mountd # firewall-cmd --permanent --add-service rpc-bind # firewall-cmd --permanent --add-service nfs # firewall-cmd --reload
Maintenant que notre partage est bien exporté, nous allons configurer le montage au niveau du client NFS.
Configuration coté Client
Installation
Installez NFS client avec la commande suivante :
# yum install -y nfs-utils
Vérification du partage :
Vérifiez si le partage NFS est bien visible coté client :
# showmount -e 192.168.5.1 Export list for 192.168.5.1: /applis 192.168.1.3
Remplacer l’adresse ip par celle de votre serveur NFS.
Monter le partage
Maintenant que nous somme sûr que notre partage est bien accessible, nous allons faire un montage de celui-ci comme s’il est monté localement et pour qu’on puisse l’utiliser.
Pour cela, créez un dossier avec le nom de votre choix :
# mkdir /nfsAppli
Ensuite taper la commande suivante pour que le partage NFS soit monté :
# mount 192.168.5.1:/applis /nfsAppli
Vérifier par la suite que le monateg NFS est bien monté avec la commande df -hT
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 17G 5.6G 12G 33% / devtmpfs devtmpfs 485M 0 485M 0% /dev tmpfs tmpfs 496M 0 496M 0% /dev/shm tmpfs tmpfs 496M 6.7M 490M 2% /run tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup /dev/mapper/centos-home xfs 47G 33M 47G 1% /home /dev/sda1 xfs 1014M 195M 820M 20% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 192.168.5.1:/nfsApplis nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare
Montage automatique du NFS
Si votre ordinateur redémarre, le montage NFS sera supprimer. Pour éviter cela, éditer le fichier /etc/fstab et ajouter le montage NFS comme ci-dessous :
# # /etc/fstab # Created by anaconda on Thu Dec 29 13:55:17 2022 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=b324ce51-0c37-4ac6-820c-0c669ae53d59 /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 192.168.5.1:/applis /nfsAppli nfs nosuid,rw,sync,hard,intr 0 0
Enregistrer le fichier et taper la commande mount -a .
Enfin vérifiez le partage s’il est bien monté avec la commande df -hT .
Démonter le partage NFS:
Si vous souhaitez démonter le partage taper just la commande suivante :
# umount /nfsAppli
Résoudre l’erreur : WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Comment vérifier la version d’apache
nmap : les 12 commandes que vous devez connaître
DNS round robin
Fail2Ban : How to protect Linux services