====== Монтируем NFS шару в Windows через PowerShell ======
Далеко не все админы знают, что смонтировать NFS-ресурс в Windows так же просто как и в Linux. В этой заметке разберём пошагово, как включить поддержку NFS в Windows и как примонтировать такой ресурс с помощью PowerShell.
=== Что потребуется ===
Перед тем как начать, убедитесь, что всё из списка ниже у вас есть:
* У вас есть доступ к NFS-серверу (например, это может быть Linux-машина или NAS), и на нём уже расшарена каталог.
* Вы знаете IP-адрес или DNS-имя этого NFS-сервера.
* У вас есть права локального администратора на клиентской машине с Windows.
=== Устанавливаем NFS-клиент в Windows ===
**Через графический интерфейс**
Если хотите поставить NFS-клиент через GUI, делайте следующее:
- Нажмите ''Win + R'', введите ''optionalfeatures'' и нажмите Enter.
- В открывшемся окне с компонентами Windows найдите пункт **Services for NFS** (если у вас Windows Server - будет называться **Client for NFS**).
- Отметьте галочкой этот пункт и нажмите OK.
- После установки, возможно, потребуется перезагрузка.
{{https://fatalex.cifro.net/lib/plugins/ckgedit/fckeditor/userfiles/image/windows/Installing-the-NFS-Client-on-Windows-11.png?nolink&}}
=== Через PowerShell ===
Установить NFS-клиент можно и через PowerShell - это особенно удобно, если не хочется кликать мышкой. Главное - запускать консоль от имени администратора.
Для **Windows Server**:
Install-WindowsFeature -Name NFS-Client
Для **Windows 10/11**:
Enable-WindowsOptionalFeature -Online -FeatureName ServicesForNFS-ClientOnly
=== Монтируем NFS-ресурс в Windows ===
Когда NFS-клиент установлен, откройте PowerShell с правами администратора.
Вот так можно примонтировать расшаренную папку:
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\192.168.178.25\NFS-Share2" -Persist
А можно и короче - через псевдоним ''mount'':
mount \\192.168.178.25\NFS-Share2 Z:
{{https://fatalex.cifro.net/lib/plugins/ckgedit/fckeditor/userfiles/image/windows/Mount-an-NFS-share-with-PowerShell.png?nolink&}}
=== Делаем монтирование постоянным ===
По умолчанию монтирование временное - после перезагрузки подключение пропадает. Чтобы это исправить, можно автоматизировать процесс через планировщик заданий.
Вот как это делается:
1.Создайте PowerShell-скрипт с таким содержимым:
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\192.168.178.25\NFS-Share2" -Persist:
2.Откройте Планировщик заданий и создайте новое задание.
3.Триггер — при запуске системы (At system startup).
4.Действие — запуск PowerShell-скрипта.
5.Обязательно выберите опцию "Выполнять с наивысшими правами"
Имейте в виду: в контексте планировщика ''New-PSDrive -Persist'' выполняется от имени пользователя, под которым настроено задание.
=== Настройка прав доступа и версии NFS ===
В Linux и Unix правая доступа к файлам чаще всего завязаны на UID и GID. В Windows всё иначе - по умолчанию она использует свои учетные данные при подключении к NFS.
Если на сервере жёстко настроены права на основе UID/GID, то просто так подключиться может не получиться. Придётся либо настраивать user mapping, либо подключать машину к Active Directory, чтобы обеспечить нужный доступ.
Альтернативный вариант - подключаться как анонимный пользователь. Но для этого придётся вручную прописать соответствующие параметры в реестре - ''AnonymousUid'' и ''AnonymousGid''. Без этого сервер не будет знать, под каким ID пускать клиента.
=== Отмонтировать NFS-ресурс ===
Чтобы отключить расшаренную папку, используйте командлет ''Remove-PSDrive''. Достаточно указать букву диска, которую вы использовали при монтировании:
Remove-PSDrive -Name Z
=== Полезные советы ===
Пара моментов, на которые стоит обратить внимание при работе с NFS в Windows:
* Многие NFS-серверы требуют права доступа на основе UID/GID.
* Windows по умолчанию использует свои учётные данные. Если сервер не принимает такой подход - придётся либо настраивать user mapping, либо использовать интеграцию с Active Directory.
* Для продакшн-сценариев лучше сразу настраивать user mapping через AD.
* Не забывайте про настройки файрвола - NFS обычно работает через порт 2049/TCP.
* Если вам нужно расшарить каталог с Windows через NFS, а не наоборот - посмотрите на утилиту WinNFSd.