Как установить сервер NFS на Ubuntu 20.04 (Focal Fossa)

infoitcomua

Как установить сервер NFS на Ubuntu 20.04 (Focal Fossa)

 

Первоначально разработанный Sun’s Microsystems, NFS является аббревиатурой от Network File System. Это распределенный протокол, который позволяет пользователю на клиентском ПК получать доступ к общим файлам с удаленного сервера почти так же, как если бы они обращались к файлам, находящимся локально на своем ПК. Протокол NFS обеспечивает удобный способ обмена файлами через локальную сеть (LAN). В этом руководстве мы проведем вас через установку сервера NFS в Ubuntu 20.04 LTS (Focal Fossa). Затем мы продемонстрируем, как вы можете получить доступ к файлам на сервере из клиентской системы.

Настройка лаборатории

NFS Server          IP:  192.168.2.103       Ubuntu 20.04
Client System       IP:  192.168.2.105       Ubuntu 20.04

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

Для начала мы собираемся установить пакет сервера ядра NFS в Ubuntu, который, по сути, превратит его в сервер NFS. Но сначала давайте обновим список пакетов, как показано.

$ sudo apt update

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

$ sudo apt install nfs-kernel-server
$ sudo apt install nfs-kernel-server

При этом будут установлены дополнительные пакеты, такие как keyutils , nfs-common , rpcbind и другие зависимости, необходимые для нормальной работы сервера NFS.

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

$ sudo systemctl status nfs-server

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

Следующим шагом будет создание общего каталога NFS. Это каталог, в который мы будем помещать файлы для совместного использования в локальной сети. Мы создадим его в каталоге / mnt /, как показано ниже. Здесь наш общий каталог NFS называется / my_shares. Не стесняйтесь присваивать своему каталогу любое имя.

$ sudo mkdir /mnt/my_shares

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

$ sudo chown nobody:nogroup /mnt/my_shares
$ sudo chmod -R 777 /mnt/my_shares

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

Шаг 3) Предоставьте NFS-серверу доступ клиентам

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

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

$ sudo vi /etc/exports

Чтобы разрешить доступ одному клиенту, добавьте строку ниже и замените параметр client-IP на фактический IP-адрес клиента.

/mnt/my_shares client-IP(rw,sync,no_subtree_check)

Чтобы добавить больше клиентов в список, просто укажите больше строк, как показано:

/mnt/my_shares client-IP-1(rw,sync,no_subtree_check)
/mnt/my_shares client-IP-2(rw,sync,no_subtree_check)
/mnt/my_shares client-IP-3(rw,sync,no_subtree_check)

Кроме того, вы можете указать всю подсеть, как показано.

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

Это позволяет всем клиентам в подсети 192.168.0.0 получить доступ к серверу. В нашем случае мы предоставим всем клиентам доступ к серверу NFS, как показано

/mnt/my_shares 192.168.2.0/24(rw,sync,no_subtree_check)

Давайте кратко рассмотрим разрешения и их значение.

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

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

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

$ sudo exportfs -a

Шаг 5) Настройте правило брандмауэра для NFS-сервера

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

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

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

$ sudo ufw allow from 192.168.2.0/24 to any port nfs

Теперь у нас все хорошо с настройкой сервера NFS. Следующим шагом является настройка клиента и проверка работоспособности вашей конфигурации. Итак, приступим к настройке клиента.

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

Теперь войдите в клиентскую систему и обновите индекс пакета, как показано.

$ sudo apt update

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

$ sudo apt install nfs-common

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

$ sudo mkdir -p /mnt/client_shared_folder

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

$ sudo mount 192.168.2.103:/mnt/my_shares /mnt/client_shared_folder

Шаг 7) Тестирование настройки общего ресурса NFS

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

$ cd /mnt/my_shares
$ touch nfs_share.txt

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

$ ls /mnt/client_shared_folder/

И вуаля! Вот и наш файл, как показано во фрагменте ниже. Это подтверждение того, что наша установка прошла успешно.

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

Author: forgero