Windows : Installation, Configuration, Utilisation d'un client NFS
Table des matières
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.
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é.
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.
On valide et on attend que les services soient installés !
On peut aussi le faire en ligne de commande (PowerShell en Admin) :
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.
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 :
A partir de là, on peut pourra le partage sans soucis de droits.
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é :
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 :
Si besoin, vous pouvez copier/coller ceci dans un .reg et l'intégrer au registre en double cliquant dessus :
Note : 00000849 en HEXA c'est 2121 en DÉCIMAL
On redémarre le service via l'interface graphique services.msc ou en PowerShell :
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 :
A partir de là, on pourra utiliser le partage sans soucis de droits.
Sur le serveur NFS, on créera un espace pour stocker les documents :
Dans le fichier /etc/exports, on paramètrera une entrée pour ce dossier :
On republie les exports NFS :
Si besoin, se référer à l'article NFS : Paramétrer les partages avec le fichier exports
Sous Windows, pour monter le partage NFS sous une lettre de lecteur, on utilisera la commande mount :
ou via les outils NFS (en cmd, ne fonctionne pas dans PowerShell) :
Pour un montage permanent :
Ici, je monte le lecteur N: pour pointer sur le partage précédemment défini.
On peut évidemment monter en graphique le lecteur :
On a accès au partage :
Pour démonter, on utilisera :
Ou la commande proposée par le client NFS :
On peut le faire aussi via un clic droit :
Et voilà !
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.
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 :
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 :
On a accès au partage :
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 :
Et voilà !