Как установить сервер 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
Это устанавливает дополнительные пакеты, такие как 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 (чтение и запись)
- синхронизация (записывать изменения на диск перед их применением)
- 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 в своей сети.