Comment monter un partage NFS sur Windows ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment monter un partage NFS sur Windows en installant un client NFS via PowerShell ou l'interface graphique.
Nativement, il n'est pas possible d'accéder à un partage NFS depuis Windows, que ce soit les éditions Desktop (Windows 10 ou Windows 11), ou les éditions Server comme comme Windows Server 2019. Ce n'est pas surprenant, car ce type de partage réseau étant créé dans la plupart des cas sur un hôte Linux.
Heureusement, Microsoft a tout prévu pour permettre l'accès à un partage NFS depuis Windows Server. Il suffit de passer par l'installation de fonctionnalités facultatives.
Pour cela, j'utilise un serveur Windows Server 2019 en tant que client NFS, concernant le serveur NFS il s'agit d'un serveur Debian avec le partage /srv/partagenfs.
Si vous souhaitez découvrir le protocole NFS plus en détails, voici mon tutoriel d'introduction :
II. Installation du client NFS sous Windows
Deux méthodes d'installation seront détaillées : méthode graphique / méthode PowerShell (beaucoup plus rapide).
A. Installer le client NFS avec l'interface graphique
Ouvrez le Gestionnaire de serveur, cliquez sur "Gérer" et "Ajouter des rôles et fonctionnalités". Lorsque l'étape "Avant de commencer" apparaît, cliquez sur "Suivant".
Sélectionnez "Installation basée sur un rôle ou une fonctionnalité" et poursuivez.
Ensuite, sélectionnez le serveur sur lequel vous souhaitez installer la fonctionnalité, continuez. Concernant l'étape "Rôles de serveurs" vous pouvez la passer, car dans ce cas c'est l'installation de fonctionnalités qui nous intéressent.
Désormais, nous arrivons à l'étape la plus importante de l'installation : le choix des éléments à installer. Vous devez cocher deux fonctionnalités :
- Client pour NFS
- Outils d'administration de serveur distant > Outils d'administration de rôles > Outils de services de fichiers > Services des outils de gestion du système de gestion de fichiers en réseau (ceci étant un outil RSAT).
Une fois les deux choix effectués, cliquez sur "Suivant".
Enfin, cliquez sur "Installer" et patientez un instant.
B. Installer le client NFS avec PowerShell
Ouvrez une console PowerShell, et, saisissez la commande suivante sur votre serveur Windows :
Install-WindowsFeature NFS-Client,RSAT-NFS-Admin
Patientez pendant l'installation, vraiment très simple et efficace en PowerShell une fois le nom des fonctionnalités repéré.
Si vous souhaitez installer le client NFS sur une édition Desktop de Windows, comme Windows 10 ou Windows 11, la commande est différente :
Enable-WindowsOptionalFeature -FeatureName ServicesForNFS-ClientOnly, ClientForNFS-Infrastructure -Online
III. Monter un partage NFS sur Windows
L'installation étant effectuée, on peut désormais monter le partage NFS sur le serveur Windows. Ouvrez une Invite de commande, et, utilisez la commande mount comme ceci pour un montage anonyme :
mount -o anon <serveur>:<partage> <lettre-montage>:
N'utilisez pas une console PowerShell pour monter le partage NFS avec la syntaxe ci-dessus, car cela ne fonctionnera pas : il y a un alias entre "mount" et "New-PSDrive".
mount -o anon 192.168.100.121:/srv/partagenfs N:
Si vous utilisez une console PowerShell, vous pouvez utiliser ceci :
New-PSDrive -Name N -Root "\\192.168.100.121\srv\partagenfs" -PSProvider FileSystem
Néanmoins, je trouve que les résultats sont assez aléatoires pour monter un partage NFS avec New-PSDrive. Préférez plutôt la commande "mount" dans l'Invite de commande.
Le partage NFS se retrouve bien sous la lettre N sur le serveur :
Nous pourrions également monter ce partage NFS à partir de l'Explorateur de fichiers Windows, en précisant le chemin vers le partage au format UNC. Cela donnerait : \\192.168.100.121\srv\partagenfs
IV. Registre Windows : AnonymousGid et AnonymousUid
Lorsque le partage NFS est monté comme nous venons de le faire, il y a de fortes chances pour qu'il soit monté en lecture seule. Si vous avez besoin d'être en mode anonyme tout en ayant les droits de lecture et d'écriture, il va falloir modifier la base de Registre de Windows.
Ouvrez l'éditeur de Registre en tant qu'administrateur :
regedit.exe
Parcourez l'arborescence comme ceci :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
Ici, il va falloir créer deux valeurs "DWORD (32 bits)" nommées : AnonymousGid (ID du groupe) et AnonymousUid (ID de l'utilisateur).
Pour ces valeurs, la valeur décimale doit correspondre à l'ID déclaré dans la configuration du partage NFS, sur le serveur distant. Pour ma part, mon partage s'appuie sur l'utilisateur nobody et le groupe nogroup. Ces deux éléments ont le même ID : 65534.
Sur mon serveur Linux, dans le fichier "/etc/exports", j'ai la configuration suivante :
/srv/partagenfs 192.168.100.0/24(rw,sync,anonuid=65534,anongid=65534,no_subtree_check)
Ce qui me donne dans le Registre :
Suite à cette modification, il faut redémarrer le serveur. Ensuite, vous devriez pouvoir accéder au partage NFS en lecture et écriture !
V. Paramétrage du client NFS
En cas de nécessité, sachez qu'il est possible de paramétrer le client NFS que nous avons installé. Pour cela, accédez aux Outils d'administration et ouvrez "Services pour NFS". Lorsque la console est ouverte, effectuez un clic droit sur "Client pour NFS" et cliquez sur "Propriétés".
Divers paramètres sont accessibles, comme le(s) protocole(s) de transport à utiliser par le client NFS (UDP, TCP ou les deux) ou encore les autorisations UNIX à attribuer par défaut aux fichiers créés sur le partage.
Enfin, l'onglet "Sécurité" sert à spécifier les stratégies de sécurité autorisées. Tout ce qui concerne Kerberos, à savoir "krb5", "krb5i" et "krb5p" nécessite d'utiliser NFS v4 au minimum.
merci
Comme toujours tu es un roi. J’apprécie toutes les docs que tu fais qui me font avancer. Tu es clair et conscit.parfait merci beaucoup
Bonjour,
Merci pour le tutorial, sur le serveur Linux hébergeant le partage NFS y a t-il des options à indiquer pour que le client NFS Windows puisse y accéder ?
Merci pour votre réponse.
Hello,
Super demo comme toujours 😉
J’essaie d’installer le client nfs natif pour windows 7 pro. Pb : il n’est pas natif sous windows pro.
Existe-t-il un module client nsfs pour cette version de windows ?
Merci pour ta réponse
Cheers
Hello Abdel,
Sur Windows 7 Pro/Entreprise, il y aurait NFS dans la liste des fonctionnalités en passant par Panneau de configuration… D’après ce que j’ai vu sur Internet : Control Panel > Programs and Features > Turn Windows features on or off (upper left corner) > Check ‘Services for NFS’ in the listing > Ok each dialog
Tu n’as pas ça ?
Cordialement,
Florian
salut,
je voudrais essayer ton tuto en passant par windows 10 pro
pour partager en NFS vers 1 vieux lecteur multimédia dont la partage par SMB ne fonctionne car trop vieux (a cause de la version SMB v1).
mount \\192.168.1.10\home\florian T:
mais sur cette ligne de commande ,
a quoi correspond la lettre « T ». c’est la lettre ou se trouve le dossier a partager sous windows si on possède plusieurs disque dur sous windows ou la lettre pour moi de mon lecteur multimedia ??
Bonjour,
J’ai suivi ce tutoriel (merci 😉 et le drive N: est bien en place mais il disparait au reboot de la machine Windows. Y-a-t-il une possibilité de le rendre persistant ?
Merci d’avance