Windows 24 марта 2026 10 мин чтения
ЕС
Евгений Семёнов
Генеральный директор ООО АйТи Фреш · 15+ лет в IT

NFS клиент в Windows: подключение сетевых папок Linux и NAS

nfs-klient-windows-podklyuchenie

Протокол NFS (Network File System) давно стал стандартным способом совместного доступа к файлам в смешанных средах Linux/Windows. Многие NAS-устройства (Synology, QNAP, TrueNAS) поддерживают NFS наряду с SMB. Компании, где работают одновременно рабочие станции на Windows и серверы на Linux или FreeBSD, нередко нуждаются в прозрачном доступе к общим файлам. В этой статье разберём, как администратор может подключить NFS-сетевую папку на Windows 10/11 и Windows Server без стороннего софта.

Что такое NFS и зачем он нужен в Windows

NFS (Network File System) — сетевой протокол для разделенного доступа к файлам по сети, изначально разработанный в мире Unix/Linux. Тем не менее, Microsoft включила встроенный NFS-клиент в состав Windows начиная с Windows 7 Enterprise/Ultimate и Windows Server 2008 R2. Сегодня он доступен в Windows 10 Pro/Enterprise и Windows 11, а также во всех коммерческих версиях Windows Server.

Основные сценарии использования NFS в корпоративной среде:

Установка NFS-клиента на Windows 10/11

Перед подключением NFS-ресурса необходимо активировать соответствующий компонент Windows. Сделать это можно через графический интерфейс или PowerShell.

Через графический интерфейс

Откройте диалог Выполнить (Win+R) и введите optionalfeatures. В списке найдите «Службы NFS» (Services for NFS), раскройте ветку и поставьте галочку напротив «Клиент для NFS» (Client for NFS). Нажмите «ОК» и подождите завершения установки.

Через PowerShell (для Windows 10/11)

# Установка NFS-клиента на рабочую станцию (с правами администратора)
Enable-WindowsOptionalFeature -Online -FeatureName NFS-Administration
Enable-WindowsOptionalFeature -Online -FeatureName ClientForNFS-Infrastructure

Через PowerShell (для Windows Server)

# Установка NFS-клиента на Windows Server
Install-WindowsFeature NFS-Client

# Проверка установленных ролей NFS
Get-WindowsFeature | Where-Object { $_.Name -like '*NFS*' }
Совет: на Windows 10 Home встроенный NFS-клиент недоступен. Для домашней редакции потребуются сторонние решения, например WinNFSd. В корпоративной среде рекомендуем использовать Pro/Enterprise редакции.

Подключение NFS-папки через команду mount

После установки клиента в Windows появляется утилита mount.exe, аналогичная аналогичным тулам Linux. Синтаксис подключения:

# Подключение NFS-ресурса к букве диска
# mount.exe -o [опции] \\сервер\путь буква:
mount.exe -o anon \\192.168.1.50\exports\data K:

# Подключение с указанием версии NFS
mount.exe -o anon,vers=3 \\nas.company.local\backups L:

# Просмотр подключенных NFS-ресурсов
mount.exe

# Отключение NFS-диска
umount.exe K:
Внимание: при анонимном подключении (-o anon) Windows отправляет UID=-2 и GID=-2. На Linux-сервере в файле /etc/exports должна быть разрешена опция insecure или all_squash, иначе подключение будет отклонено с ошибкой прав доступа.

Подключение через PowerShell с New-PSDrive

PowerShell предлагает более гибкий способ монтирования NFS-ресурсов, особенно удобный при автоматизации:

# Подключение NFS-ресурса через New-PSDrive
New-PSDrive -Name "K" -PSProvider FileSystem `
  -Root "\\192.168.1.50\exports\data" `
  -Persist -Scope Global

# Просмотр подключённых дисков
Get-PSDrive -PSProvider FileSystem

# Отключение диска
Remove-PSDrive -Name "K"
Совет: параметр -Persist сохраняет подключение как сетевой диск в системе (виден в Проводнике). Без него диск существует только в текущей PowerShell-сессии.

Настройка UID/GID для корректного маппинга прав

Одна из главных сложностей при работе Windows с NFS — сопоставление пользователей Windows (SID) с пользователями Unix (UID/GID). По умолчанию все запросы отправляются с UID/GID = -2, что соответствует анонимному пользователю.

Для указания конкретных UID/GID нужно отредактировать реестр:

# Открыть ветку реестра для NFS-клиента
$path = "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default"

# Установить UID и GID (например, UID=1000, GID=1000)
Set-ItemProperty -Path $path -Name "AnonymousUid" -Value 1000 -Type DWord
Set-ItemProperty -Path $path -Name "AnonymousGid" -Value 1000 -Type DWord

# Перезапустить NFS-клиент
nfsadmin client stop
nfsadmin client start

Автоматическое подключение NFS при загрузке Windows

Для серверов и рабочих станций, где NFS-диск должен быть доступен всегда, системный администратор должен настроить автоматическое монтирование. В Windows это можно сделать несколькими способами.

Через PowerShell-скрипт в автозагрузке

# Создать скрипт подключения C:\Scripts\mount-nfs.ps1:
# ---
# Start-Sleep -Seconds 10  # ждём полной загрузки сети
# mount.exe -o anon \\192.168.1.50\exports\data K:
# mount.exe -o anon \\192.168.1.50\exports\backup L:
# ---

# Добавить скрипт в автозагрузку через Task Scheduler
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
  -Argument "-NoProfile -WindowStyle Hidden -File C:\Scripts\mount-nfs.ps1"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet -RunOnlyIfNetworkAvailable
Register-ScheduledTask -TaskName "Mount-NFS" -Action $action `
  -Trigger $trigger -Settings $settings -RunLevel Highest

Настройка NFS на стороне Linux-сервера

Чтобы Windows-клиент мог подключиться к Linux NFS-серверу, необходимо правильно настроить файл /etc/exports:

# /etc/exports на Linux-сервере:

# Доступ для одного хоста (только чтение)
/srv/nfsshare   192.168.1.100(ro,sync,no_subtree_check)

# Доступ для подсети (чтение/запись), все UID сбрасываются в nobody
/srv/nfsshare   192.168.1.0/24(rw,sync,all_squash,no_subtree_check)

# Доступ с указанным UID (напр., uid=1000)
/srv/nfsshare   192.168.1.0/24(rw,sync,anonuid=1000,anongid=1000,all_squash,no_subtree_check)

# Применить изменения
exportfs -ra
systemctl restart nfs-kernel-server
Важно: опция no_root_squash позволяет Windows-клиентам с UID=0 (root) работать как root на сервере. Используйте ее только в закрытых сетях и только если это действительно необходимо.

Проблемы с кодировкой файлов UTF-8

Одна из вечных проблем при работе NFS в смешанных средах — кириллица в именах файлов. Windows NFS-клиент по умолчанию использует ANSI, а Linux — UTF-8.

# Включение поддержки UTF-8 в NFS-клиенте Windows (через реестр)
$path = "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default"
Set-ItemProperty -Path $path -Name "Utf8EncodedFileNames" -Value 1 -Type DWord

# Перезапустить службу
nfsadmin client stop
nfsadmin client start
Совет: на стороне Linux-сервера убедитесь, что локаль установлена UTF-8: locale | grep LANG. Для Debian/Ubuntu выполните dpkg-reconfigure locales и выберите ru_RU.UTF-8.

Диагностика и устранение неполадок

Администратору важно знать подходы к устранению типичных проблем NFS на Windows:

# Проверить статус службы NFS-клиента
Get-Service nfsclnt | Select-Object Status, StartType

# Просмотр текущих параметров NFS-клиента
nfsadmin client

# Проверить доступность NFS-сервера по порту 2049
Test-NetConnection -ComputerName 192.168.1.50 -Port 2049

# Просмотр доступных NFS-разделов на сервере
showmount -e 192.168.1.50

# Просмотр событий NFS в журнале Windows
Get-EventLog -LogName System -Source "NFS Client" -Newest 20

Наиболее частые проблемы и их причины:

NFS через групповые политики (GPO)

Для массового развертывания NFS-подключений на многих станциях администраторы прибегают к GPO с логон-скриптами:

# Логон-скрипт GPO: монтирование NFS с проверкой
$nfsServer = "192.168.1.50"
$nfsPath   = "\exports\data"
$driveLetter = "K"

# Отключить старый диск, если есть
if (Test-Path "${driveLetter}:") { umount.exe "${driveLetter}:" }

# Подключить NFS-ресурс
$result = mount.exe -o anon "\\${nfsServer}${nfsPath}" "${driveLetter}:"
if ($LASTEXITCODE -eq 0) {
    Write-EventLog -LogName Application -Source "Logon Script" `
      -EventId 1001 -EntryType Information `
      -Message "NFS ${driveLetter}: успешно подключён"
}

Настройка NFS на NAS Synology для Windows

Synology NAS — популярное решение в сетях МСБ. Чтобы настроить NFS-доступ на Synology:

  1. Откройте DSM — Панель управления — Службы файлов — NFS — включите NFS
  2. В разделе «Общая папка» — правая кнопка — «Редактировать» — вкладка NFS
  3. Добавьте правило с IP вашей сети, выберите права «Чтение/запись» и Squash «All squash»
  4. Отметьте «Allow connections from non-privileged ports»
# После настройки Synology, монтируем из Windows:
mount.exe -o anon \\synology.company.local\data K:

# или через IP:
mount.exe -o anon \\192.168.1.200\volume1\data K:

Рекомендации по безопасности NFS

NFS изначально проектировался для доверенных сетей. При использовании в корпоративной среде системный администратор должен соблюдать ряд правил:

Итоги

Встроенный NFS-клиент Windows — удобный инструмент для подключения к сетевым папкам NAS и Linux-серверов без приобретения стороннего СO. Он подходит для сценариев, где требуется единое хранилище данных для рабочих станций на Windows и серверов на Linux. Правильная настройка маппинга UID/GID и кодировки UTF-8 позволяет избежать большинства типичных проблем при работе в смешанных средах. Для промышленного уровня рекомендуется NFS v4 с аутентификацией Kerberos через Active Directory.

Официальная документация: Microsoft Learn — Windows Server, Microsoft Learn — PowerShell

Часто задаваемые вопросы

Что такое NFS клиент в Windows: подключение сетевых папок Linux и NAS?

NFS клиент в Windows: подключение сетевых папок Linux и NAS — это важный аспект системного администрирования, который позволяет настроить и оптимизировать работу IT-инфраструктуры. В данной статье подробно рассматриваются все ключевые моменты.

Как правильно настроить NFS клиент в Windows: подключение сетевых папок Linux и NAS?

Для корректной настройки NFS клиент в Windows: подключение сетевых папок Linux и NAS необходимо следовать пошаговой инструкции, представленной в статье выше. Важно учитывать особенности вашей инфраструктуры и требования безопасности.

Какие типичные ошибки возникают при работе с NFS клиент в Windows: подключение сетевых папок Linux и NAS?

Наиболее частые ошибки при работе с NFS клиент в Windows: подключение сетевых папок Linux и NAS: некорректная конфигурация, недостаточные права доступа и несовместимость версий. Рекомендуем обратиться к специалистам ITFresh для профессиональной настройки.

ООО АйТи Фреш

Возьмем это на себя

Настройка, администрирование и поддержка Windows Server — это наша ежедневная работа. 15+ лет опыта, собственная инфраструктура, команда сертифицированных инженеров.

15+лет опыта
25+клиентов
8серверов Dell