NFS start
Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть.
Настройка сервера
Примечание: В примере у нас адрес сервера 10.0.2.6, адрес сети 10.0.2.0
Установка сервера:
# apt-get install nfs-server
Запуск службы:
# systemctl enable --now nfs
Настройка подключаемых каталогов:
- Первым делом, нужно создать каталог, который мы хотим расшарить:
# mkdir /home/share
- После этого нужно отредактировать файл /etc/exports, в котором хранятся настройки каталогов NFS.
# mcedit /etc/exports
- В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ:
/home/share 10.0.2.0/24(rw,subtree_check)
Примечание: Между адресом и скобками с параметрами не должно быть пробела- - /home/share - каталог для общего доступа
- - 10.0.2.0/24 - адрес сети, для которой разрешен доступ
- - (rw) - параметры доступа
- - без subtree_check/no_subtree_check доступа не будет
- После внесения изменений в файл /etc/exports, для применения параметров, необходимо перезапустить сервер:
# systemctl restart nfs.service
- Проверить список экспортируемых файловых систем можно, выполнив команду:
# exportfs
- Вывод:
/home/share 10.0.2.0/24
Параметры доступа
В скобках можно указать следующие параметры:
- rw - разрешить чтение и запись в этой папке;
- ro - разрешить только чтение;
- sync - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию);
- async - не блокировать подключения пока данные записываются на диск;
- secure - использовать для соединения только порты ниже 1024;
- insecure - использовать любые порты;
- nohide - не скрывать поддиректории при открытии доступа к нескольким директориям;
- root_squash - подменять запросы от root на анонимные, используется по умолчанию;
- no_root_squash - не подменять запросы от root на анонимные;
- all_squash - превращать все запросы в анонимные;
- subtree_check - проверять не пытается ли пользователь выйти за пределы экспортированной папки;
- no_subtree_check - отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска;
Команды exportfs
# exportfs -u 10.0.2.0/24:/home/share - удаляет из файла конфигурации все или указанные каталоги # exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от указанных опций # exportfs -r - применение параметров после изменения файла конфигурации # exportfs -i - игнорирование /etc/exports и использование только опций командной строки # exportfs -o - отзыв из экспорта всех предоставленных в общий доступ каталогов # exportfs -v - детальный вывод информации
Подключение клиента
Консоль
Для того, чтобы смонтировать NFS-каталог в консоли, нужно создать каталог, куда будет монтироваться папка, и выполнить следующую команду:
$ su - # mkdir /mnt/share # mount 10.0.2.6:/home/share /mnt/share
Fstab
Для монтирования через Fstab нужно создать каталог, куда будет монтироваться папка, и отредактировать соответствующий файл:
$ su - # mkdir /mnt/Share # mcedit /etc/fstab
Вставляем следующую строчку:
10.0.2.6:/home/share /mnt/Share nfs rw 0 0
И сохраняем файл.