NFS start: различия между версиями
(не показано 18 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{merge|NFS}} | |||
{{Note|Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}} | |||
'''Network File System''' (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть. | '''Network File System''' (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть. | ||
==Настройка сервера== | ==Настройка сервера== | ||
{{Note|В примере у нас адрес сервера 10.0.2.6, адрес сети 10.0.2.0}} | |||
Установка сервера: | Установка сервера: | ||
# apt-get install nfs-server | # apt-get install nfs-server | ||
Строка 9: | Строка 12: | ||
Настройка подключаемых каталогов: | Настройка подключаемых каталогов: | ||
# | #Первым делом, нужно создать каталог, который мы хотим расшарить: | ||
#:<pre># mkdir /home/share</pre> | #:<pre># mkdir /home/share</pre> | ||
# | #После этого нужно отредактировать файл /etc/exports, в котором хранятся настройки каталогов NFS. | ||
#:<pre># mcedit /etc/exports</pre> | #:<pre># mcedit /etc/exports</pre> | ||
#В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ: | #В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ: | ||
#:<pre>/home/share | #:<pre>/home/share 10.0.2.0/24(rw,subtree_check)</pre>{{Note|Между адресом и скобками с параметрами не должно быть пробела}}#: - '''/home/share''' - каталог для общего доступа | ||
#: - | #: - '''10.0.2.0/24''' - адрес сети, для которой разрешен доступ | ||
#: - (rw) - параметры доступа | #: - '''(rw)''' - параметры доступа | ||
#После внесения изменений в файл /etc/exports необходимо | #: - без '''subtree_check'''/'''no_subtree_check''' доступа не будет | ||
#:<pre># | #После внесения изменений в файл /etc/exports, для применения параметров, необходимо перезапустить сервер: | ||
#:<pre># systemctl restart nfs.service</pre> | |||
#Проверить список экспортируемых файловых систем можно, выполнив команду: | #Проверить список экспортируемых файловых систем можно, выполнив команду: | ||
#:<pre># exportfs</pre> | #:<pre># exportfs</pre> | ||
#:Вывод: | #:Вывод: | ||
#:<pre>/home/share | #:<pre>/home/share 10.0.2.0/24</pre> | ||
===Параметры доступа=== | |||
В скобках можно указать следующие параметры: | |||
*'''rw''' - разрешить чтение и запись в этой папке; | |||
**'''ro''' - разрешить только чтение; | |||
*'''sync''' - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию); | |||
**'''async''' - не блокировать подключения пока данные записываются на диск; | |||
*'''secure''' - использовать для соединения только порты ниже 1024; | |||
**'''insecure''' - использовать любые порты; | |||
*'''nohide''' - не скрывать поддиректории при открытии доступа к нескольким директориям; | |||
*'''root_squash''' - подменять запросы от root на анонимные, используется по умолчанию; | |||
**'''no_root_squash''' - не подменять запросы от root на анонимные; | |||
**'''all_squash''' - превращать все запросы в анонимные; | |||
*'''subtree_check''' - проверять не пытается ли пользователь выйти за пределы экспортированной папки; | |||
**'''no_subtree_check''' - отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска; | |||
===Команды exportfs=== | ===Команды exportfs=== | ||
# exportfs -u | # exportfs -u 10.0.2.0/24:/home/share - удаляет из файла конфигурации все или указанные каталоги | ||
# exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от | # exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от указанных опций | ||
# exportfs -r - | # exportfs -r - применение параметров после изменения файла конфигурации | ||
# exportfs -i - | # exportfs -i - игнорирование /etc/exports и использование только опций командной строки | ||
# exportfs -o - | # exportfs -o - отзыв из экспорта всех предоставленных в общий доступ каталогов | ||
# exportfs -v - детальный вывод информации | # exportfs -v - детальный вывод информации | ||
==Подключение клиента== | ==Подключение клиента== | ||
Для того, чтобы смонтировать NFS-каталог, | ===Консоль=== | ||
# mount 10.0.2.6/home/share /mnt | Для того, чтобы смонтировать NFS-каталог в консоли, нужно создать каталог, куда будет монтироваться папка, и выполнить следующую команду: | ||
$ su - | |||
# mkdir /mnt/share | |||
# mount 10.0.2.6:/home/share /mnt/share | |||
===Fstab=== | ===Fstab=== | ||
Для монтирования через Fstab нужно создать каталог, куда будет монтироваться папка, и отредактировать соответствующий файл: | Для монтирования через Fstab нужно создать каталог, куда будет монтироваться папка, и отредактировать соответствующий файл: | ||
$ su - | |||
# mkdir /mnt/Share | # mkdir /mnt/Share | ||
# mcedit /etc/fstab | # mcedit /etc/fstab | ||
Вставляем следующую строчку: | Вставляем следующую строчку: | ||
10.0.2.6:/home/share /mnt/Share nfs rw 0 0 | 10.0.2.6:/home/share /mnt/Share nfs rw 0 0 | ||
И сохраняем файл. | |||
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 19:11, 18 мая 2024
Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
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
И сохраняем файл.