В этой статье мы расскажем про настройку NFS на сервере с Ubuntu.
Что такое NFS
NFS (Network File System) — сетевая файловая система, которая обеспечивает хранение файлов в сети. NFS позволяет пользователям работать с удаленными файлами и каталогами так, как будто они находятся на локальном компьютере. Это удобно, когда нужно обеспечить общий доступ к файлам между несколькими системами, находящимися в одной сети.
Установка NFS на Ubuntu
В этом статье мы приведем самый простой пример: используем два сервера, с одного из них файловая система будет передаваться на другой. Инсталляция компонентов NFS будет производиться на серверы с ОС Ubuntu 22.04.
Чтобы установить NFS на Ubuntu:
-
1
На обоих серверах обновите список пакетов:
sudo apt update
-
2
На главном хосте (сервере, с которого будет передаваться файловая система) введите команду:
sudo apt install nfs-kernel-server
-
3
На клиентском сервере, на который будет передаваться файловая система, введите команду:
sudo apt install nfs-common
Готово, вы установили NFS на Ubuntu.
Настройка сервера NFS в Ubuntu
После установки NFS необходимо настроить директорию, которая будет доступна для монтирования с других машин. Вы можете открыть доступ к любой директории, но в качестве примера мы создадим новый каталог /srv/nfs/share:
sudo mkdir -p /srv/nfs/share
sudo chown nobody:nogroup /srv/nfs/share
Теперь необходимо указать в конфигурации NFS, что эта директория будет экспортироваться. Для этого откройте файл /etc/exports:
sudo nano /etc/exports
В этот файл необходимо добавить строку с указанием каталога и прав доступа. Она должна иметь следующий вид:
directory client(options)
Где:
- directory — папка, к которой нужно открыть доступ по сети,
- client — IP-адрес машины или подсети, которой будет доступна эта папка,
- options — опции, используемые в настройках.
Рассмотрим некоторые из опций:
- rw — разрешает чтение и запись в экспортируемый каталог;
- ro — разрешает только чтение, без возможности записи;
- sync — данные записываются на диск синхронно;
- async — данные сначала кэшируются в памяти и записываются на диск позже;
- no_root_squash — сохраняет права суперпользователя (root) на клиенте;
- root_squash — права root на клиенте преобразуются в права обычного пользователя на сервере;
- all_squash — права всех пользователей на клиенте преобразуются в права пользователя nobody на сервере;
- subtree_check — проверяет права доступа к подкаталогам экспортируемого каталога;
- no_subtree_check — отключает проверку прав доступа к подкаталогам;
- insecure — позволяет подключения с клиентских портов выше 1024;
- secure — разрешает подключения только с привилегированных клиентских портов;
- nohide — разрешает клиентам видеть подкаталоги, экспортируемые отдельными командами. Без этой опции подкаталоги не будут видны;
- fsid=uuid — задает уникальный идентификатор для экспортируемой файловой системы.
Например, чтобы разрешить подключаться к директории /srv/nfs/share из подсети 192.168.1.0/24, добавьте следующую запись:
/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check)
Затем сохраните изменения и закройте файл, нажав Ctrl+X, Y, Enter.
Для применения изменений выполните команду:
sudo exportfs -ra
Если на вашем сервере используется брандмауэр, откройте порты 111 и 2049:
sudo ufw allow 111
sudo ufw allow 2049
Перезапустите службу NFS:
sudo systemctl restart nfs-kernel-server
Готово, экспорт NFS на хосте завершен.
Монтируем удаленные каталоги NFS
После настройки сервера NFS нужно смонтировать каталоги NFS на клиенте. Для этого на клиентской машине выполните следующие шаги:
-
1
Создайте точку монтирования с помощью команды:
sudo mkdir -p /mnt/nfs/share
-
2
Выполните команду для монтирования удаленного каталога:
sudo mount 192.168.1.100:/srv/nfs/share /mnt/nfs/share
Где:
- 192.168.1.100 — IP-адрес вашего сервера NFS,
- /srv/nfs/share — экспортируемая директория,
- /mnt/nfs/share — точка монтирования.
-
3
Чтобы монтирование выполнялось автоматически при перезагрузке системы, на клиенте добавьте запись в файл /etc/fstab:
192.168.1.100:/srv/nfs/share /mnt/nfs/share nfs defaults 0 0
Где:
- 192.168.1.100 — IP-адрес вашего сервера NFS,
- /srv/nfs/share — экспортируемая директория,
- /mnt/nfs/share — точка монтирования.
Готово, вы смонтировали каталог. Чтобы убедиться, что при настройке NFS не возникло ошибок и директория смонтирована, введите команду:
df -h
Если каталог смонтирован правильно, вы увидите его в выводе команды:
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊