Как подключить NFS каталог в Windows 10

Windows 10

В Unix-подобных операционных системах подключить каталога NFS (Network File System) довольно просто, однако если вам понадобится использовать NFS шару в Windows, придется выполнить ряд дополнительных действий. В этой статье мы покажем, как в Windows 10 подключить NFS каталог, который находинся на UNIX системе. Все описанные инструкции будут работать в Windows 10 Pro (версия 10.0.14393 и выше).

Содержание:Установка клиента NFS (службы для NFS)</li>Как разрешить запись в NFS каталог анонимному пользователю</li>Как подключить NFS каталог в Windows 10</li></ul>

Установка клиента NFS (службы для NFS)

В первую очередь в Windows 10 нужно установить клиент NFS. Для установки необходимо выполнить следующие шаги:

  1. Откройте раздел «Programs and Features».windows-10-programs-and-features.png
  2. Щелкните по пункту «Turn Windows features on or off».windows-10-turn-windows-features-on-or-off.png
  3. В появившемся списке в разделе Services for NFS включите NFS клиента (Client for NFS), а затем нажмите «ОК».
  4. После установки нажмите кнопку «Close» и вернитесь на рабочий стол.

Как разрешить запись в NFS каталог анонимному пользователю

По умолчанию при подключении NFS каталога с UNIX системы, анонимному пользователю (anonymous) предоставляются права только на чтение. Чтобы предоставить анонимным пользователям право записи, необходимо изменить значения UID и GID, которые используются для монтирования NFS каталога в Windows. Пример стандартных настроек представлен на рисунке ниже.

Чтобы изменить значение полей UID и GID, нам потребуется внести изменения в реестр Windows.

  1. Откройте редактор реестра regedit.
  2. Перейдите в ветку реестра — HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault.
  3. В каталоге «Default» создайте новый параметр типа DWORD (32бит) с именем AnonymousUid и назначьте UID, назначенный на каталог в UNIX, к которому открыт доступ через NFS.
  4. В ветке Default создайте ещё один параметр DWORD (32-бит) с именем AnonymousGid и назначьте GID, назначенный данному каталогу в UNIX.
  5. Для того, чтобы изменения вступили в силу вам необходимо перезапустить клиент NFS или перезагрузить компьютер.

Список подключенных NFS каталогов и параметры монтирования можно вывести с помощью команды Mount без параметров.

Результат работы команды mount теперь должен выглядеть следующим образом:

Local Remote Properties-------------------------------------------------------------------------------Z: \10.1.1.211mntvms UID=0, GID=0rsize=1078756, wsize=1078756mount=soft, timeout=1.6retry=1, locking=yesfileaccess=755, lang=ANSIcasesensitive=nosec=sys

Обратите внимание на значение полей UID и GID, которое равно 0. UID=0, GID=0 — означает, что общий ресурс монтируется под пользователем root.

Как подключить NFS каталог в Windows 10

Смонтировать NFS каталог в Windows 10 можно с помощью команды mount. Например, смонтируем NFS каталог и назначим ему букву диска Z:. Предположим, что ваше NAS устройство находится в той же сети, что и ваш компьютер с установленной операционной системы Windows, а IP-адрес устройства — 10.1.1.211. С помощью следующей команды можно смонтировать общий ресурс NFS в /mnt/vms.

Mount –o anon \10.1.1.211mntvms Z:

Z: is now successfully connected to \10.1.1.211mntvmsThe command completed successfully.

Теперь общий ресурс создан, и мы можем получить доступ к данным. В нашем примере сетевой ресурс (диск) обозначается буквой «Z».

На этом настройка NFS завершена и вы сможете сохранять данные на свое NAS устройство через смонтированный NFS каталог. Обратите внимание, что при в первый раз открытие этого каталога выполняется довольно долго.

Администрируя серверы на базе ОС Linux в среде, где в качестве основной клиентской ОС используется Windows, время от времени приходится сталкиваться с необходимостью что-либо скопировать с клиентской Windows на Linux-систему или наоборот, с Linux-системы на Windows. Чаще всего для этого используются возможности протоколов SSH/SCP с помощью таких инструментов, как например, утилита pscp.exe. Но когда приходится сталкиваться с файловыми Linux-серверами, позволяющими использовать возможности протокола NFS, мы можем задаться вопросами типа “может ли клиентская ОС Windows выступать в качестве NFS-клиента?”, “есть ли в клиентской ОС Windows какая-то встроенная реализация клиента NFS?”. Именно такие вопросы у меня возникли в период времени, который совпал с периодом, когда мы перебирались с Windows 8.1 на первый релиз Windows 10. Информация, которую в тот момент удалось найти по этому вопросу, заключалась в том, что функциональность NFS-клиента имеют только “старшие” редакции клиентских ОС Windows, такие как Windows 7 Ultimate/Enterprise, Windows 8/8.1 Enterprise и Windows 10 Enterprise. Однако в нашем случае использовалась ОС Windows 10 редакции Professional, поэтому пришлось отбросить эти мысли.

Недавно, читая обсуждения на форумах TechNet, я столкнулся с информацией о том, что с какого-то момента времени в ОС Windows 10 редакции Professional появилась возможность использовать функционал NFS-клиента. По информации из некоторых источников такая возможность появилась в Windows 10 версии 1607 (10.0.14393 / Anniversary Update).

Решив проверить эту информацию на имеющейся у меня под руками Windows 10 1803 (10.0.17134 / April 2018 Update) редакции Professional, я обнаружил, что теперь у нас действительно имеется возможность использования этого функционала.

Чтобы включить NFS-клиента, можем воспользоваться оснасткой управления программами и компонентами appwiz.cpl. Здесь в перечне “компонентов Windows” можно найти доступные к включению “Службы для NFS“.

После завершения установки компонент в Панели управления в разделе “Администрирование” появится оснастка “Службыдля NFS” (nfsmgmt.msc), в которой мы сможем управлять некоторым параметрами работы NFS-клиента.

Предполагаем, что на стороне NFS сервера уже настроены разрешения для доступа с клиентской системы, например, явно разрешён доступ по IP адресу клиента. Простейший пример установки и настройки NFS-сервера на стороне CentOS Linux можно найти в статье Вики “Установка и настройка сервера и клиента NFS в CentOS Linux 7.2”.

После настройки прав доступа на стороне NFS-сервера переходим на Windows 10 и выполняем подключение сетевого каталога с помощью утилиты “mount“. Простейший пример анонимного подключения к сетевому каталогу выглядит так:

mount -o anon\KOM-FS01mntvdo-vd1ovirt-iso-domain I:

где:

  • “-o anon” – подключаться с правами анонимного пользователя;
  • “KOM-FS01” – имя NFS-сервера;
  • “mntvdo-vd1ovirt-iso-domain” – локальный путь к каталогу на NFS-сервере;
  • “I” – буква диска Windows

Другие доступные параметры и ключи утилиты, можно посмотреть командой “mount /?“. Например, при подключении мы явно можем указать имя пользователь и пароль на NFS-сервере.

При открытии свойств каталогов и файлов в подключённом NFS-каталоге мы увидим специальную вкладку “Атрибуты NFS” с соответствующими атрибутами, в том числе и информацию о текущих разрешениях на каталог/файл, которыми, в случае достаточных прав, мы можем управлять.

При повторном выполнении команды mount без указания параметров, мы получим сведения о текущий подключениях NFS-клиента и свойствах этих подключений:

Здесь мы сможем увидеть то, с какими UID и GUID, выполнено подключение. Для анонимных подключений это по умолчанию -2/-2. Если по какой-то причине у нас возникнет необходимость изменить эти идентификаторы для всех анонимных клиентских подключений, то мы можем добавить пару отсутствующих по умолчанию параметров реестра типа DWORD (32-бита):

  • AnonymousUid
  • AnonymousGid

в ключ реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault

В значениях созданных параметров можно записать нужные UID и GUID, которые будут использоваться при всех анонимных подключениях. На скриншоте ниже используется пример со значениями 1000:1000 (десятичное).

Если мы хотим, чтобы все анонимные подключения использовали root-овые идентификаторы, то в соответствующих параметрах реестра нужно указать AnonymousUid = и AnonymousGid = . Указание root-овых идентификаторов может быть полезно в случае, если, например, нам требуется не только чтение, но запись в подключенном NFS-каталоге, а удалённый NFS-сервер разрешает запись только root-пользователю и/или членам группы root.

Для вступления изменений в силу потребуется выполнить остановку и повторный запуск службы клиента NFS из ранее упомянутой оснастки “Службы для NFS” (nfsmgmt.msc).

Либо, если перезапуск компьютера не составляет проблемы, то для вступления изменений в силу можно выполнить и перезагрузку клиентского компьютера.

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

Мои попытки перезапускать системную службу “Клиент для NFS” (NfsClnt) через стандартные механизмы, такие как оснастку управления службами services.msc или утилиту “net“, показали, что это по какой-то причине приводит к невозможности запуска службы после её остановки. Поэтому для перезапуска NFS-клиента лучше использовать именно “родную” оснастку. Хотя, опять же, замечено, что многократные остановки/запуски службы в оснастке “Службы для NFS” также могут привести к неадекватной работе NFS-клиента. В результате чего, например, утилита “mount” может перестать подключать NFS-каталоги, выдавая ошибку сети:

В таких случаях помогает только перезагрузка клиентского компьютера, после которой всё снова начинает работать.

После того, как нужные нам изменения внесены в реестр и служба клиента NFS успешно перезапущена, снова попытаемся подключить NFS-каталог и посмотрим командой “mount” сведения о подключениях.

Как видим, теперь в качестве идентификаторов безопасности выступают именно те, что были ранее нами указаны в реестре.

Отключение подключенных по протоколу NFS сетевых ресурсов выполняется также просто, как и подключение, только с помощью другой утилиты – “umount

В общем это хорошо, что теперь у пользователей ОС Windows 10 редакции Professional есть штатная возможность работать с сетевыми файловыми ресурсами по протоколу NFS. Будем использовать это в работе.

Недавно задался вопросом: «А возможно ли примонтировать удаленную файловую систему Linux сервера по протоколу NFS к Windows 10?». Оказывается можно, даже более того… для этого есть стандартные средства.

Первым делом пойдем в Панель управления -> Приложения -> (справа выбираем ссылку) Программы и компоненты -> (в открывшемся окне слева) Включение или отключение компонентов Windows -> (в списке находим) Службы для NFS. Выделяем все компоненты и нажимает кнопку ОК.

Далее открываем меню «Пуск» и начинаем вводить «NFS». Выбираем пункт «Службы для NFS».

Либо идем в «Администрирование» и там выбираем «Службы для NFS».

В открывшимся окне выбираем «Клиент для NFS» -> Свойства. Выставляем разрешения для файлов которые будут по умолчанию.

По стандарту подключение к NFS в Windows происходит под анонимным пользователем UID и GID которого -2:-2

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

(по стандарту первый пользователь во многих системах на базе linux).

Идем в «Пуск» и вводим «regedit». Переходим по адресу:

Создаем два DWORD ключа:

  • AnonymousUid
  • AnonymousGid

C десятичным значением: 1000 (у обоих)

Собственно, с настройкой все. Переходим в файловый медеждер (эксплорер/»этот компьютер») и в строку браузера вводим следующее:

«-o anon» — подключаемся как аноним

«\192.168.1.171homealexfolder» — директория на сервере

«I:» — диск для монтирования в windows

Так же, через командную строку доступна информация по примонтированным фс: mount

Отключение примонтированной фс: umount I:

Суть проблемы: в свое время компания Samsung стала выпускать телевизоры, поддерживающие разработанную ведущими производителями бытовой техники технологию DLNA, основанную на принципе “цифровой дом”. Эта технология позволила интегрировать телевизоры в локальную домашнюю сеть, что дало возможность обмениваться медиа-контентом между телевизором и компьютером, и в частности, просматривать на ТВ фильмы, хранящиеся на компьютере по локальной сети или через WiFi. Однако мультимедийное решение, предложенное Самсунгом для реализации этой технологии, мягко говоря, оставляет желать лучшего. Так, фильмы просматриваемые по сети во встроенном в телевизор медиа-плеере, в большинстве случаев не перематываются. Кроме того во время просмотра фильмов по сети, в отличие от просмотра фильмов с флешки или переносного жесткого диска, подключенного к ТВ по USB-порту, не поддерживается функция беспрерывного воспроизведения (синяя кнопка на пульте). Наконец, сама необходимость каждый раз запускать на компьютере Samsung PC Share Manger и производить коррекцию после каждого удаления или добавления виде-файлов на диск, немного напрягает. Не только устранить существующие проблемы с просмотром фильмов на ТВ по локальной сети, но и увеличить скорость передачи данных (что может послужить немаловажным фактором во время просмотра больших фильмов в формате HD) поможет нам включение сетевого протокола NFS (Network File System). После того, как мы произведем необходимую установку и настройку NFS-сервера, наш компьютер будет восприниматься телевизором так, как если бы мы подключили переносной жесткий диск к ТВ через USB-порт (единственное отличие будет только в скорости обмена данными, которая определяется максимальной пропускной способностью вашей локальной сети или WiFi-соединения). NFS – это сетевой протокол, организованный по принципу “сервер – клиент”. В роли сервера у нас будет компьютер, в роли клиента – телевизор. Включение поддержки NFS в телевизоре мы уже рассмотрели в предыдущем разделе во время настройки и установки в ТВ приложения SamyGO Auto. Если вы помните, то в настройках конфигуратора SamyGO Auto мы установили флажок напротив секции NFS и также прописали IP-адрес NFS-сервера (192.168.xxx.xxx), то есть адрес нашего компьютера: В этом разделе мы рассмотрим установку и настройку NFS-сервера на наш компьютер. В Интернете есть множество различных программ по установке и настройке NFS-сервера. Мы же воспользуемся приложением haneWIN NFS Server (оно является условно-бесплатным, и по истечении определенного срока требует регистрации серийного номера, но, как вы понимаете, в интернете всегда находятся умельцы, способные решить эту проблему). Итак, приступим:

  • скачиваем программу haneWIN NFS Server (генератор серийных номеров уже в архиве). Что бы скачать архив просто нажмите кнопку Download;
  • открываем скачанный архив, и запустив setup, производим установку (как для любой другой программы);
  • после установки программы на рабочем столе появится ярлык NFS Server, запустив который мы произведем необходимую настройку, но сперва не забудьте зарегистрировать серийный номер (кнопка Register);
  • далее выполняем основную настройку. Сначала на вкладке NFS убираем флажок напротив Version 2, затем меняем значение Number of UDP NFS Server Threads на 32, а Maximum NFS transfer size на 32768 (после внесения изменений не забудьте нажать кнопку Применить;
  • далее переходим на вкладку Server и устанавливаем кодировку UTF-8, также устанавливаем флажок напротив Reset inode-table…;
  • переходим на вкладку Exports и нажимаем кнопку Edit exports file;
  • затем нужно отредактировать файл exports, с помощью которого мы откроем доступ телевизору к нужной папке с фильмами на компьютере (в нашем примере мы указываем, что папка на компьютере С:films будет открыта для доступа телевизору, 192.168.xxx.xxx – это IP адрес вашего телевизора в локальной сети, причем в медиа-плеере телевизора папка с фильмами будет отображаться под именем video); Примечание: вы также можете открыть доступ телевизору к другим папкам и дискам компьютера, добавив соответствующую строку в файл exports (например, что бы открыть доступ ко всему диску D нужно добавить строку D: -name:D 192.168.xxx.xxx).
  • после редактирования, предварительно сохранив изменения, можете закрыть файл exports затем нажмите на кнопку Restart Server;
  • теперь можете закрыть приложение (нажав OK). На этом настройка NFS-сервера завершена. На всякий случай перезагрузите компьютер. После перезагрузки компьютера никаких действий больше производить не нужно – по идее, NFS-сервер должен стартовать автоматически в фоновом режиме каждый раз вместе с загрузкой Windows.

Примечание: иногда брандмауэр Windows или встроенный в антивирус файрвол могут блокировать работу NFS-сервера. Что бы этого не происходило, в брандмауэре Windows (или если у вас стоит другой файрвол, то в нем) необходимо разрешить доступ в сеть двум приложениям: nfsd.exe и pmapd.exe (они находятся в папке установки сервера C:Program Filesnfsd). Наконец, включим телевизор и убедимся в том, что наш NFS-сервер работает. В предыдущем разделе, когда мы устанавливали программу SamyGO Auto в телевизор, мы указали в нем параметр для автозапуска. Следовательно, при включении ТВ, он должен автоматически обнаружить наш NFS (это происходит не сразу, а приблизительно через 20 секунд после включения ТВ). Итак, включаем ТВ, затем переходим в медиа-плеер и видим там новое устройство – NFS Server. Если вы обратите внимание, то напротив NFS стоит значок USB-соединения. Это то, о чем мы ранее говорили, теперь ваш ТВ будет воспринимать компьютер как жесткий диск или флешку, подключенную по USB. Можете переходить в раздел Movie и наслаждаться просмотром фильмов по сети. Запускать Samsung PC Share Manger на компьютере вам больше не понадобиться. Просто добавьте фильм в папку с фильмами на компьютере, и он автоматически “подгрузится” в меди-плеер ТВ. В следующем разделе мы расскажем о том, как записывать передачи с ТВ на флешку или, раз уж теперь у нас есть NFS – то в папку с фильмами на компьютере. на главную || к следующему разделу >>

NFS (Network File System) — сетевой протокол доступа к доступ к файлам и файловой системе NFS-сервера, популярный в семейства ОС Linux/ UNIX, а также различных системах хранения.  Microsoft также, не желая отставать от конкурентов, внедрила базовый функционал NFS сервера еще в Windows Server 2003 R2. В последующих версиях  серверных платформ Microsoft возможности встроенного NFS Windows сервера расширялись, появлялся новый функционал и средства управления. NFS сервер в Windows Server 2012 – очередная веха в развитии данной технологии.

Что же нового предлагают нам разработчики Microsoft в данном продукте? Новые возможности NFS сервера в Windows Server 2012:

  1. Поддержка стандарта NFS v4.1. Поддержка последней версии NFS 4.1 – одно из основных новшеств Windows Server 2012. По сравнению с NFS v3 этот протокол обеспечивает повышенную безопасность, производительность и совместимость, полностью  реализуя все аспекты RFC 5661.
  2. Производительность «из коробки». Благодаря использованию новой транспортной инфраструктуры RPC-XDR, оптимальная производительность NFS сервера может быть достигнута сразу «из коробки» без необходимости тонкой настройки параметров системы. Оптимальная производительность достигается  за счет автоматически настраивающегося кэша, разделения рабочих процессов на пулы и динамическое управление пулами, основанное на их нагрузке.
  3. Упрощенное развертывание и управление. Данный факт достигнут за счет:
    • — более 40 командлетов PowerShell для  настройки сервера NFS и управления общими папками
    • — простого графического интерфейса управления, позволяющего одновременно управлять как SMB, так и NFS шарами, а также настройками скрининга файлов и файловой классификации.
    • — фиксации RPC порта (порт 2049) для простоты настройки файерволов
    • — нового провайдера WMI v2
    • — упрощенной идентификации за счет плоского файла мапинга
  4. Улучшения в NFSv3. За счет быстрой отправки клиентам уведомлений о сбоях монитором NSM (Network Status Monitor), старые NFS клиенты лучше и быстрее обрабатывают процедуру failover, что означает меньшее время простоя.

Итак, NFS сервер в Windows Server 2012 значительно улучшен с точки зрения простоты развертывания, масштабируемость, стабильность, доступность, надежность, безопасности и совместимости. Общие папки могут быть одновременно доступны по протоколам SMB и NFS, что означает возможность использования Windows Server 2012 в качестве хранилища в гетерогенных сетях.

Далее мы разберем сценарий развертывания и управления сервером NFS в Windows Server 2012.

Установка NFS сервера в Windows Server 2012

NFS сервер в Windows Server 2012 можно установить с помощью GUI и Powershell. Чтобы установить NFS сервер с помощью графического интерфейса, откройте консоль Server Manager и внутри роли файлового сервера (File and Storage Services) отметьте компонент Server for NFS.

1_install_nfs_server_windows_2012.jpg

После окончания установки компонента NFS, сервер необходимо перезагрузить.

Установка этой же роли с помощью Powershell также не вызывает затруднений, просто выполните команду:

Add-WindowsFeature "FS-NFS-Service"

2_install_nfs_server_powershell.jpg

Настройка общей папки NFS в Windows Server 2012

Далее мы покажем, как с помощью установленной нами роли создать NFS шару (общую папку) на сервере Windows. Создать NFS шару можно опять несколькими способами: с помощью графического интерфейса или Powershell.

Создание общего каталога NFS с помощью консоли Server Manager

Откройте консоль Server Manager, перейдите в раздел Share management (находится внутри роли File and Storage Services).В контекстном меню запустите мастер создания нового общего каталога- New Share…

3_win2012_create_share.jpg

Выберите тип шары NFS Share — Quick

4_win2012_quick_create_nfs_share.jpg

Далее нужно указать местоположение каталога на диске и путь, по которому должны подключатся удаленные NFS клиенты.

5_win2012_path_to_nfs_folder.jpg

Затем необходимо задать тип аутентификации NFS клиентов: возможно, задействовать как Kerberos- аутентификацию, так и анонимную.

Предположим, в качестве потребителя создаваемого NFS ресурса будет выступать сервер виртуализации ESXi, в котором возможность аутентифицировать NFS соединения отсутствует (ESXi не поддерживает NFSv4). Поэтому тип аутентификации будет No Server Authentication, отметим также опции Enable unmapped user access и Allow unmapped user access by UID/GID.

6_win2012_nfs_authentification_option.jpg

Чтобы немного обезопасить создаваемую NFS шару от доступа сторонних лиц, ограничим доступ к NFS ресурсу по IP адресу клиента.

Host: 192.168.1.100Language Encoding : BIG5Share Permissions : Read/WriteAllow root access : Yes

7_win2012_nfs_filter_by_ip_adress.jpg

Далее осталось проверить, что на уровне NTFS пользователь, в которого мапится подключающийся юзер, имеет доступ на чтение/запись (если решено задействовать анонимный доступ, придется для пользователя Everyone дать полные r/w права на уровне NTFS).

Как создать NFS шару с помощью Powershell

Создадим новую NFS шару:

New-NfsShare -Name "NFS " -Path "d:sharesnfr" -AllowRootAccess $true -Permission Readwrite -Authentication sys

Разрешим доступ к шаре для IP адреса 192.168.1.100 и зададим кодировку BIG5 (возможность просмотра содержимого NFS шары для клиента ESXi).

Grant-NfsSharePermission -Name “NFS” -ClientName 192.168.1.100  -ClientType host  -LanguageEncoding BIG5

Созданную NFS шару можно использовать, например, как NFS-datastore в среде виртуализации VMWare vSphere, или для доступа к данным с других Unix-like клиентов. Как смонтировать NFS шару в Windows — клиентах описано в этой статье.

Используемые источники:

  • https://vmblog.ru/kak-podklyuchit-nfs-katalog-v-windows-10/
  • https://blog.it-kb.ru/2018/10/16/using-the-nfs-client-in-windows-10-professional-edition/
  • https://webnoob.ru/linux/klient-nfs-dlya-windows-10-professional-enterprise/
  • http://samsungtvupgrade.blogspot.com/2010/07/nfs.html
  • https://winitpro.ru/index.php/2013/04/22/nfs-server-na-windows-server-2012/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий