Как установить сервер NFS на Ubuntu?

Опубликовано: 24 Января, 2023

NFS, что означает Network File System, была создана в 1984 году компанией Sun Microsystems. Файловая система, называемая сетевой файловой системой (NFS), обеспечивает локальный доступ к удаленным файлам из разных мест в сети.
NFS имеет типичную клиент-серверную архитектуру для этого доступа, облегчающую совместное использование между рабочими станциями Linux любого дистрибутива. Мы покажем, как настроить сервер NFS в Ubuntu 22.04 LTS.

Шаги для выполнения

Шаг 1: Установите пакет для сервера ядра NFS.

Для начала установим Пакет сервера ядра NFS в Ubuntu, эффективно превращающий его в сервер NFS. Однако давайте сначала обновим список пакетов, как показано.

$ sudo apt update

Затем можно установить пакет сервера ядра NFS, выполнив следующую команду.

$ sudo apt install nfs-kernel-server

Шаг 2 : Вы можете проверить, активна ли служба nfs-server, как указано

$ sudo systemctl status nfs-server

Шаг 3. Создайте общий каталог NFS

Затем будет создан общий каталог NFS. Файлы, которые будут использоваться совместно в локальной сети, будут помещены в этот каталог.
Как показано ниже, мы создадим его в каталоге /mnt/. Наш общий каталог NFS находится здесь и называется /beluga_jr _shares. Вы можете дать своему каталогу любое имя.

$ sudo mkdir /mnt/beluga_jr_shares

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

$ sudo chown nobody:nogroup /mnt/beluga_jr_shares

$ sudo chmod -R 777 /mnt/beluga_jr_shares

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

Шаг 4 : Доступ клиентов к серверу NFS

$ sudo nano /etc/exports

После создания общего каталога NFS и указания требуемого владельца и разрешений мы должны предоставить клиентским системам доступ к серверу NFS. Мы можем сделать это, изменив файл /etc/exports, созданный во время установки пакета nfs-kernel-server.

Итак, откройте файл /etc/exports.

/mnt/beluga_jr_shares client-IP(rw,sync,no_subtree_check)//formate

/mnt/beluga_jr_shares 192.168.0.0/24 (rw,sync,no_subtree_check)

Это делает сервер доступным для каждого клиента в подсети 192.168.0.0. В этом случае мы предоставим всем клиентам доступ к серверу NFS, как показано.
/mnt/beluga_jr_shares 192.168.2.0/24(rw,sync,no_subtree_check)

Давайте быстро рассмотрим разрешения и то, что они представляют.

  • rw (чтение и запись)
  • sync (Запись изменений на диск перед их применением)
  • no_subtree_check (избегайте проверки поддерева)

Шаг 5: Экспортируйте общий каталог

Используйте следующую команду, чтобы экспортировать каталог и сделать его доступным:

$ sudo exportfs -a

Перезапустите NFS-сервер

Чтобы перезапустить сервер NFS на вашем компьютере с Ubuntu 22.04, введите следующую команду:

$ sudo systemctl restart nfs-kernel-server

Шаг 6: Настройте правило брандмауэра сервера NFS.

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

$ sudo ufw allow from [client-IP] to any port nfs

$ suso ufw allow from 10.0.2.15/24 to any port nfs 

В нашем случае команда будет выглядеть так:

Шаг 7 : Включите брандмауэр

$ sudo ufw reload 

с 192.168.2.0/24 на любой порт nfs

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

$ sudo ufw status

Шаг 8: Настройте клиентскую систему

После входа в систему обновите индекс пакета в соответствии с инструкциями в клиентской системе.

$ sudo apt update

Затем установите пакет nfs-common, как показано ниже.

$ sudo apt install nfs-common

После этого создайте каталог в папке /mnt, куда вы будете монтировать общий ресурс NFS сервера.

$ sudo mkdir -p /mnt/client_shared

Наконец, подключите клиентский каталог к удаленному общему каталогу NFS, как показано.

$ sudo mount 192.168.2.103:/mnt/beluga_jr_shares /mnt/client_shared

Шаг 9. Проверка настройки общего ресурса NFS

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

$ cd /mnt/beluga_jr_shares
$ touch demoshare_file.txt
Test-NFS-Server-Ubuntu-22-04

Вернувшись к нашему клиенту, давайте проверим, видим ли мы файл в нашем смонтированном каталоге.

$ ls /mnt/client_shared_folder/

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