Mise en oeuvre de NFS sur Centos / Red Hat 7

NFS – Network File SystemMise en oeuvre de NFS sur Centos / Red Hat 7 – est un protocole réseau, initialement créé par SUN en 1984 sur Unix, pour le partage de fichiers entre machines appartenant à un même réseau. Il fonctionne aussi bien sur Linux que sur Windows.

Installation d’un serveur NFS sur CentOS 7

Par défaut, le serveur NFS est installé sur CentOS 7, avec le package nfs-utils. Vous pouvez d’ailleurs le vérifier à l’aide de la commande :

rpm -q nfs-utils

Configuration des ports UDP/TCP utilisés

Les ports UDP/TCP associés au service de partage de fichiers NFS sont déterminés automatiquement dans le fichier de configuration /etc/nfs.conf. Je vous recommande d’ailleurs de modifier ceux de status et de nlockmgr, vous pouvez les visualiser à l’aide de la commande rpcinfo -p.

Ouverture des ports avec firewalld

Afin que vous puissiez parvenir accéder aux partages NFS, vous devrez ouvrir les ports TCP/111, UDP/111, TCP/2049, UDP/2049, TCP/20048, UDP/20048.

firewall-cmd --permanent --zone=public --add-port=111/tcp
firewall-cmd --permanent --zone=public --add-port=111/udp
firewall-cmd --permanent --zone=public --add-port=2049/tcp
firewall-cmd --permanent --zone=public --add-port=2049/udp
firewall-cmd --permanent --zone=public --add-port=20048/tcp
firewall-cmd --permanent --zone=public --add-port=20048/udp
firewall-cmd --reload

 Lancement du service NFS

A partir de CentOS / Red Hat 7, le lancement du service NFS s’effectue avec systemd :

systemctl start nfs
systemctl enable nfs

Créer un partage NFS

La gestion des droits au niveau d’un partage NFS repose sur l’UID et le GID de l’utilisateur. Un utilisateur issu d’une autre machine  peut accéder au partage NFS, même s’il ne dispose pas du même nom. Le mot de passe de l’utilisateur n’entre pas en ligne de compte au niveau du NFS. Pour connaître l’UID et le GID d’un utilisateur sur un système Linux, tapez la commande id, suivi du login de l’utilisateur :

root@vmcentos7 06:45:33 ~ > id denis
uid=1000(denis) gid=1000(denis) groupes=1000(denis)

Je crée un répertoire sur le serveur Linux CentOS 7 à partir duquel sera effectué le partage NFS :

mkdir -p /home/partage

Je donne les droits à l’utilisateur denis sur ce répértoire :

chown denis:denis /home/partage -R
chmod 660 /home/partage -R

 

Efin, j’édite le fichier /etc/exports, dans lequel j’ajoute :

/home/partage           192.168.1.0/24(rw,sync)

Pour mettre à disposition à chaud le partage NFS, je tape alors la commande :

exportfs -a

Accéder à un partage NFS sur Linux

Vous devez disposer d’un utilisateur disposant du même UID sur votre distribution Linux cliente. Je vais alors réaliser un point de montage :

mkdir -p /mnt/partage
mount 192.168.1.21:/home/partage /mnt/partage

Je peux aussi monter de façon permanente en modifiant le fichier /etc/fstab , afin de disposer de ce partage après un reboot de la machine Linux cliente :

192.168.1.21:/home/partage    /mnt/partage    nfs    rw,sync    0    0

Pour actualiser le système de fichiers à chaud modifié dans le fichier /etc/fstab, je tape :

mount -a

Le client NFS sur Windows

Sur Windows Server 2016, vous disposez d’un client NFS :

Installer le client NFS sur Windows Server 2016

Une fois installé, vous devez aller ajouter deux valeurs de registre DWORD32 AnonymousUID et AnonymousGID reprenant le numéro de l’UID et du GID associé à l’utilisateur Linux, dans la ruche HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default. :

Configurer les client NFS sur Windows Server 2016

Curieusement, le changement de cette clé de registre exige que vous rebootiez le serveur Windows !!!

Vous pouvez enfin monter le partage NFS partir de la ligne de commande Windows :

C:\>mount -o anon \\192.168.1.21\home\partage P:
P: est désormais connecté à \\192.168.1.21\home\partage

La commande s'est terminée correctement.

C:\>umount P:

Déconnexion P: \\192.168.1.21\home\partage
La commande s'est terminée correctement.

Documentation sur NFS

CentOS  / Centos Formateur Centos Formateur Linux Formateur Red Hat Linux NFS Red Hat 

Commentaires

Merci pour le tutoriel sur NFS …

pour ma part si je devais le faire je prendrais un peut de précautions ….

voici le lien qui est intéressant :

http://dag.wieers.com/blog/tunneling-nfs4-over-ssh

autrement pour coupler Ldap avec NFS :

http://articles.mongueurs.net/magazines/linuxmag67.html

et pour la partie win32 :

http://aput.net/~jheiss/krbldap/howto.html

et pour un autre sujet annexe: snip snip ; très gros soupir …

Il s’agissait de la mise en œuvre de NFS dans le cadre de la virtualisation de serveurs. La sécurité peut très bien s’organiser par iptables en indiquant les ip des machines virtuelles.

Juste un petit typo, c’est /etc/fstab et pas /etc/inittab.

Laisser un commentaire

(requis)

(requis)