Как настроить NFS-сервер на Debian 10

Материал из My WiKi
Перейти к навигации Перейти к поиску

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

Установите пакеты NFS

 sudo apt install nfs-kernel-server

Настройте свои общие ресурсы

Начните с создания каталога, которым вы хотите поделиться, или выбора существующего. Убедитесь, что выбранный вами каталог не имеет разрешений только для root.

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

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

 /media/nfs 192.168.1.0/24(rw,sync,no_subtree_check)

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

 /media/nfs 192.168.1.112 (rw, sync, no_subtree_check) 192.168.1.121 (ro, sync, no_subtree_check)

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

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

  • ro указывает, что каталог можно монтировать только как доступный только для чтения
  • rw предоставляет разрешения на чтение и запись в каталоге
  • no_root_squash это чрезвычайно опасный параметр, который позволяет удаленным «корневым» пользователям те же привилегии, что и «корневому» пользователю хост-компьютера
  • subtree_check указывает, что в случае экспорта каталога вместо всей файловой системы хост должен проверять расположение файлов и каталогов в файловой системе хоста
  • no_subtree_check указывает, что хост не должен проверять расположение файлов, к которым осуществляется доступ с помощью файловой системы хоста
  • sync это просто гарантирует, что хост сохраняет все изменения, загруженные в общий каталог, в синхронизации
  • async игнорирует проверки синхронизации в пользу увеличения скорости

Как только вы все настроите сохраните и выйдите из файла. Затем перезапустите сервер, чтобы загрузить новую exports-конфигурацию.

 sudo systemctl restart nfs-kernel-server

Подключение к общему ресурсу

Ваш общий ресурс теперь доступен с клиентских компьютеров, которые вы настроили на своем exports. Предполагая, что ваши клиенты работают на Ubuntu или Debian, вы можете установить необходимый пакет для соединения:

 sudo apt install nfs-common

Теперь вы сможете смонтировать общие ресурсы NFS. Итак, чтобы попробовать это, выберите каталог для монтирования и выполните команду mount от имени пользователя root для монтирования сетевого ресурса.

 sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share

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

Для постоянного решения вы можете добавить общий ресурс в файл /etc/fstab вашего клиента . Общий синтаксис очень похож на команду, которую вы только что использовали для монтирования вашего ресурса. Начните с расположения общего ресурса в вашей сети. Следуйте за тем, где должна быть установлена ​​доля. Тип файловой системы здесь nfs4. Опции на ваше усмотрение, но использование настроек по умолчанию и предоставление доступа пользователям довольно часто встречаются для нечувствительных общих ресурсов. Конечный результат должен выглядеть как в примере ниже.

 192.168.1.110:/media/nfs  /media/share  nfs4  defaults,user,exec  0  0

Если вы не уверены, что общий ресурс всегда будет доступен на клиенте, добавьте noauto его в список параметров, чтобы ваша система не пыталась подключить его автоматически.

 192.168.1.110:/media/nfs  /media/share  nfs4  defaults,user,exec,noauto  0  0

Попробуйте смонтировать его на клиенте, используя /etc/fstab.

 sudo mount -a

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

Заключение

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