NFS (сетевая файловая система) Sun Microsystems — это структура распределенной файловой системы на основе RPC, которая позволяет сетевым устройствам использовать серверы, работающие по NFS, в качестве своих локальных дисков.

Вот пошаговое руководство по установке и настройке сервера NFS на компьютере с Linux.

Что такое сетевая файловая система?

Файловая система NFS имеет четыре протокола. Когда сервер готов, он уведомляет карту портов (сервер, который преобразует протокол в номера портов) об используемом порте и предоставляет номер контролируемой программы RPC.

При использовании встроенной системы Linux очень удобно загружать ваше устройство через общий файловый ресурс NFS. по сети, а не запускать его напрямую с накопителя (флеш-память NAND, eMMC, MMC, так далее.).

Хотя это случается реже, вы также можете смонтировать общий ресурс NFS и выполнять общие файловые ресурсы, используя его после загрузки системы, даже если вы не загружаете свою систему непосредственно из общего ресурса NFS. Чтобы оба сценария работали, вы должны сначала установить сервер NFS на компьютер, на котором вы разрабатываете.

instagram viewer

Как установить NFS в Linux

Если вы используете Система на основе Debian таких как Ubuntu или Linux Mint, вам следует установить nfs-kernel-сервер пакет следующим образом:

Судо подходит установить NFS-ядро-сервер

В Arch Linux:

sudo pacman -S nfs-utils

В Fedora, CentOS и RHEL:

судо днф -у установить nfs-утилиты

В конце процесса ваш сервер NFS запустится автоматически. Однако на данный момент он еще не знает, какие каталоги на вашем компьютере вы хотите открыть для общего доступа по сети. Поэтому по умолчанию он не предоставляет никакого общего доступа.

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

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

Чтобы открыть общий доступ к любому каталогу на сервере NFS, необходимо настроить параметр, связанный с каталогом, в /etc/exports файл. Откройте файл в любом текстовом редакторе по вашему выбору. Обязательно добавьте к команде префикс sudo.

судо вим /и т.д./экспорт

Вам может быть интересно, что означают параметры сопоставления, которые вы видите здесь:

  • root_squash: Помечает авторизованных sudo пользователей-клиентов как пользователя и группу «Никто» в NFS
  • no_root_squash: Отключает раздавливание корней
  • all_squash: В отличие от root_squash, он позволяет отображать всех пользователей как пользователя и группу Nobody. Обычно используется для общего доступа.
  • no_all_squash: Противоположность all_squash; этот вариант по умолчанию

Когда система за пределами диапазонов IP-адресов, разрешенных вами в файле /etc/exports на сервере NFS, пытается получить доступ к соответствующему ресурсу, сервер NFS отклонит запрос.

Вы можете получать сообщения «доступ запрещен сервером» при монтировании встроенной системы. Сообщения об ошибках, подобные приведенным ниже, появятся в конце /var/log/syslog файл на компьютере, на котором работает NFS-сервер:

rpc.mountd[1041]: отклонен запрос на монтирование из192.168.2.2за /дома/пример/каспер/цель (/home/пример/каспер/цель): непревзойденный хост

Когда вы видите сообщение журнала несоответствующего хоста, подобное приведенному выше, вам следует развернуть раздел IP/Netmask соответствующего правила в файле /etc/exports или использовать звездочка (*) специальный символ, если вы хотите предоставить доступ ко всем IP-адресам.

Вы должны перезапустить службу NFS после внесения изменений в /etc/exports файл:

sudo service nfs-kernel-server перезапуск

Или, если ваш дистрибутив поставляется с systemctl, выполните следующую команду:

судоsystemctlзапустить сноваnfs-сервер.оказание услуг

Вы также можете дать параметр к экспортфс команда, чтобы она повторно предоставила общий доступ к каталогам, в которых были изменены какие-либо настройки, связанные с общим ресурсом:

судо экспортфс -р

Устранение проблемы с задержкой монтирования

При использовании на вашем сервере протокола NFS версии 4 и выше возможны задержки до 15 секунд во время процесс монтирования на стороне клиента в традиционных операционных сценариях с конфигурациями NFS по умолчанию сервер. Эта проблема может возникать в некоторых версиях Debian, Fedora и Ubuntu.

Если вы испытываете подобную задержку монтирования, вы можете проверьте файлы журнала на стороне сервера (/var/log/syslog, /var/log/messages) для сообщения журнала, подобного следующему:

... RPC: время ожидания вызова AUTH_GSS истекло

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

Хотя предлагались альтернативы запуску службы GSSD с помощью NFS для решения проблемы, эти подходы не имеют практического применения. одинаковое влияние во всех дистрибутивах и версиях пакетов, а потому решать эту проблему рациональнее всего с корень.

Вы должны заблокировать (или добавить в черный список) rpcsec_gss_krb5 модуль ядра от загрузки в системе Linux, где работает сервер NFS.

Чтобы этот параметр срабатывал каждый раз при перезагрузке компьютера, создать новый файл называется /etc/modprobe.d/nfs-gss-blacklist.conf и добавьте в него следующие строки:

черный список rpcsec_gss_krb5

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

Зачем использовать сервер NFS?

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

Совместное использование NFS позволяет группировать программы, которым требуется много места для хранения, на одном сервере. Это может привести к значительной экономии места на диске. В то время как предыдущие версии NFS уязвимы, в новых версиях представлены дополнительные уровни защиты, включая аутентификацию Kerberos.

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

Совместное использование файловой системы в Linux стало проще благодаря NFS

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