Windows

Windows : Installation, Configuration, Utilisation d'un client NFS

Table des matières

Introduction



La connexion à des serveurs de fichiers NFS n'est pas réservé aux systèmes d'exploitation Linux et à la famille des UNIX.
Il est tout à fait possible, depuis un serveur ou un client Windows de se connecter et d'utiliser un partage NFS.

J'utilise un serveur NFS pour centraliser les sauvegardes de mes machines à la maison, et seul mon PC portable DJ est sous Windows.
Cet article explique comment installer la fonctionalité de client NFS, la paramétrer et utiliser les outils pour se connecter.

Notez que NFS n'a pas les mêmes objectifs que les partages SMB (Samba). Il est plus performant, mais n'a pas les mêmes fonctionalités.

Prérequis



Il est nécessaire d'avoir une version "Pro" de Windows.
Il est conseillé d'avoir une réservation DHCP pour la machine hôte (ou à défaut une IP statique) pour que côté NFS, n'autoriser la connexion que du système concerné.

Installation de la fonctionalité



Pour installer le support NFS, on ira dans le Panneau de configuration.
Dans Programmes > Programmes et fonctionnalités > Activer ou désactiver des fonctionnalités Windows.
On cochera Services pour NFS et Client pour NFS.

win-nfs-fonctionalites



On valide et on attend que les services soient installés !

On peut aussi le faire en ligne de commande (PowerShell en Admin) :
Code TEXT :
Enable-WindowsOptionalFeature -FeatureName ServicesForNFS-ClientOnly, ClientForNFS-Infrastructure -Online -NoRestart


Configuration des droits NFS



Informations comportement par défaut



Par défaut, le montage depuis le Windows se fait en mode Anonyme.

Le client NFS de Windows ne gère pas les UID/GID de la même manière que les systèmes Unix. Les fichiers seront créés par le UID 4294967294 et le GID 4294967294.

Il y a 2 possibilités, à étudier en fonction du besoin.
J'ai personnellement opté pour la solution 2.

Solution 1 : Mettre les bonnes permissions sur le serveur NFS



La première solution consiste à laisser le UID et GID par défaut de Windows : 4294967294

Ainsi, paramétrez donc le dossier NFS avec les bons droits :
Code BASH :
chmod 700 /bkp/pcdj
chown -R 4294967294:4294967294 /bkp/pcdj


A partir de là, on peut pourra le partage sans soucis de droits.


Solution 2 : Changer le UID et GID sur le client Windows



La seconde solution consiste à changer le UID et GID sous lequel le client NFS Windows écrira les fichiers.

Pour cela, on se rend dans le registre et on navigue dans la clé :
Code BASH :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default


On crééera 2 valeurs DWORD (32 bits) avec en valeur décimale le UID/GID voulu :
AnonymousUid : Pour le UID à utiliser
AnonymousGid : Pour le GID à utiliser

Ici, je vais définir le UID et le GID à 2121 :

win-nfs-regedit-uid



Si besoin, vous pouvez copier/coller ceci dans un .reg et l'intégrer au registre en double cliquant dessus :
Code :
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default]
"AnonymousUid"=dword:00000849
"AnonymousGid"=dword:00000849

Note : 00000849 en HEXA c'est 2121 en DÉCIMAL

On redémarre le service via l'interface graphique services.msc ou en PowerShell :
Code :
Stop-Service -Name nfsclnt
Start-Service -Name nfsclnt

Note : Dans la pratique, le start du service marche jamais (testé Win10 et Win11) alors je reboot la machine...

Côté serveur NFS on définit les bons droits :
Code BASH :
chmod 700 /bkp/pcdj
chown -R 2121:2121 /bkp/pcdj


A partir de là, on pourra utiliser le partage sans soucis de droits.


Configuration serveur NFS



Sur le serveur NFS, on créera un espace pour stocker les documents :
Code BASH :
mkdir /bkp/pcdj


Dans le fichier /etc/exports, on paramètrera une entrée pour ce dossier :
Code :
/bkp/pcdj               192.168.21.129/32(rw,async,no_root_squash,no_subtree_check)


On republie les exports NFS :
Code BASH :
exportfs -av


Si besoin, se référer à l'article NFS : Paramétrer les partages avec le fichier exports


Gestion du montage sous Windows



Sous Windows, pour monter le partage NFS sous une lettre de lecteur, on utilisera la commande mount :
Code :
net use n: \\192.168.21.252\bkp\pcdj

ou via les outils NFS (en cmd, ne fonctionne pas dans PowerShell) :
Code :
mount \\192.168.21.252\bkp\pcdj


Pour un montage permanent :
Code BASH :
net use /persistent:yes n: \\192.168.21.252\bkp\pcdj


Ici, je monte le lecteur N: pour pointer sur le partage précédemment défini.

On peut évidemment monter en graphique le lecteur :

win-nfs-mount-gui



On a accès au partage :

win-nfs-explorer



Pour démonter, on utilisera :
Code BASH :
net use /del n:


Ou la commande proposée par le client NFS :
Code BASH :
umount n:


On peut le faire aussi via un clic droit :

win-nfs-umount-gui



Et voilà !
Cette page a été vue 278 fois