Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 3 Следующий »


NFS (сокращение от Network File System, Сетевая Файловая Системa):
сервис, обеспечивающий общий доступ к файлам и каталогам систем *nix / Linux.

NFS позволяет монтировать удалённые разделяемые файлы подобно локальным.

Существует в двух вариантах:

  • nfs-server-kernel, работающий на уровне ядра (входит в Astra Linux)
  • и вариант работающий на уровне пользовательских программ (в Astra Linux не входит)
  • Установка

Пакеты nfs (сервер) и nfs-common (клиент) входят в стандартный дистрибутив ОССН Смоленск, и доступны в сетевом репозитории ОСОН Орёл.
Поддержка nfs интегрирована в ядро как ОССН, так и ОСОН.
По умолчанию пакет nfs не устанавливается.

Установить сервер nfs и клиент nfs-common можно из графического  менеджера пакетов, или из командной строки.

Сервер::

apt install nfs-server-kernel

Клиент:

apt install nfs-common

Дополнительно, можно установить пакет "монтирования ресурсов NFS по запросу", позволяющий монтировать ресурсы только при обращениях к ним:

apt install autofs

Настройка сервера

Подготовка

Для развёртывания сервера NFS, как и любого другого сервера, желательно назначить ему постоянный IP-адрес.
Далее в примерах считаем, что это адрес 192.168.1.10

Должно быть настроено разрешение имён клиентских компьютеров, или им должны быть назначены статические IP-адреса.

И нужно выделить ресурс, который в дальнейшем станет разделяемым.
Для примера  создадим каталог /nfsshare и выставим для него полный доступ на чтение и запись:

mkdir /nfsshare && chmod 777 /nfsshare

Конфигурация

Основная конфигурация сервиса nfs хранится в файле /etc/exports.

Кроме этого, сервис использует файлы 

etc/fstab - записи обо всех файловых системах, включая nfs, автоматически монтируемых при загрузке системы.

/etc/hosts.allow/etc/hosts.deny - используется, чтобы решить, принять или отклонить подключения, приходящие с внешних IP-адресов

Экспорт разделяемого ресурса

Для экспорта созданного ранее разделяемого ресурса (каталога) /nfsshare
просто добавим в конфигурационный файл /etc/exports строку 

/nfsshare 192.168.1.20/255.255.255.0(rw,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Где:

  • 192.168.1.20 - статический адрес компьтера-клиента (может быть использовано имя)
  • (rw,no_root_squash,sync) –набор опций, опции могут быть:
    • rw –чтение запись (может принимать значение ro – только чтение)
    • no_root_squash – по умолчанию в общих ресурсах NFS пользователь root становится обычным пользователем nfsnobody.
      Таким образом, владельцем всех файлов, созданных root, становится nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
      Если указан параметр no_root_squash, удалённые пользователи root могут изменить любой файл в разделяемой файловой системе, и оставить для других пользователей троянские приложения.
      В целях безопасности этот параметр лучше не использовать
    • nohide - NFS автоматически не показывает нелокальные ресурсы (например, примонтированые с помощью mount –bind), эта опция включает отображение таких ресурсов
    • sync – синхронный режим доступа (может принимать обратное значение- async).
      sync указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами.
      async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных
    • noaccess – запрещает доступ к указанной директории.
      Применяется, если доступ к определенной директории выдан всем пользователям сети , и необходимо ограничить доступ для некоторых пользователей.
    • all_squash– подразумевает, что все подключения будут выполнятся от анонимного пользователя
    • subtree_check (no_subtree_check)- в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть.
      При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах.
      Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы.
      Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию.
      Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;
    • anonuid=1000– привязывает анонимного пользователя к «местному» пользователю;
    • anongid=1000– привязывает анонимного пользователя к группе «местного» пользователя.

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

После внесения изменений, чтобы они вступили в силу, нужно выполнить команду 

exportfs -ra

(подробности по возможностям команды см. man exportfs)

Настройка клиента

После установки клиентского пакета nfs-common, на компьютере - клиенте следует примонтировать разделяемые ресурсы.

Список доступных ресурсов можно проверить, выполнив команду:

showmount -e 192.168.1.10

Export list for 192.168.1.10:
/nfsshare 192.168.1.20

Монтируем ресурс

Чтобы примонтировать разделяемый ресурс, создадим на клиентской машине каталог /share:

mkdir /mnt/share

И используем команду mount для монтирования разделяемого каталога /nfsshare с сервера NFS (192.168.1.10) в каталог /mnt/share на клиантском компьютере:

mount 192.168.1.10:/nfsshare /mnt/share

Для проверки монтирования можно использовать команду 

mount | grep nfs

которая выдаст строку (строки) с информацией о примонтированном ресурсе (ресурсах).

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

df

Автоматически монтируем ресурс

Чтобы ресурс NFS монтировался автоматически после каждой перезагрузки, его нужно зарегистрировать в файле /etc/fstab
добавив строчку вида

192.168.1.10:/nfsshare/    /mnt/share nfs rw,sync,hard,intr 0 0

Автоматически монтируем ресурс по запросу

Конфигурация автоматического монтирования хранится в файле /etc/auto.master

Монтируем с использованием autofs ресурс из предыдущего примера 192.168.1.10:/nfsshare/ в ранее созданную точку монтирования /mnt/share

Добавим в конец файла /etc/auto.master строку: 

/mnt /etc/auto.nfs --timeout=60

timeout указывать не обязательно, таймаут в autofs по умолчанию 300 секунд (5 минут), то есть ресурс будет автоматически отмонтирован после 5 минут бездействия.

Создадим файл /etc/auto.nfs.
Этоn файл должен содержать отдельную строку для каждого ресурса NFS
Формат строки:  {точка_монтирования} [{опции_монитирования}] {адрес_ресурса}.
Точки монтирования будут размещаться в катклоге, указанном в /etc/auto.master:


share -fstype=nfs4,rw,soft,intr 192.168.1.10:/srv/homes

Где

  • share – точка монтирования (/mnt/share)
  • -fstype=nfs4,rw,soft,intr – опции монтирования
  • 192.168.1.10:/nfsshare– адрес ресурса

Это создаст новую точку автоматического монтирования /mnt/share/  для ресурса /srv/homts/, экспортируемого “192.168.1.10”

После внесения изменений перезапустить сервис:

systemctl restart autofs

Для проверки можно перейти в точку монтирования, например, командой 

cd /mnt/share

При этом ресурс должен примонтироваться автоматически.

  • Нет меток