Поиск

29 окт. 2020 г.

NFS как альтернатива Windows File Sharing или как поделиться файлами в среде Linux



Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. За основу взят протокол вызова удалённых процедур (ONC RPC[1]). Позволяет подключать (монтировать) удалённые файловые системы через сеть.

Настроим обмен файлами между двумя компьютерами

1 — 192.168.0.1 — он же шлюз, он же — NFS сервер. Хостнейм — Debian

2 — 192.168.0.2 — десктоп, NFS клиент. Хостнейм — Desktop.

Установим на сервере NFS-демон:

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

Расшарим каталог /media/hdd1 по NFS. Для этого в файл /etc/exports нужно добавить примерно следующую строку:

/media/hdd1 192.168.0.0/255.255.255.0(rw,no_root_squash,async,subtree_check,insecure)

Поясню, что именно мы сейчас написали:

/media/hdd1 — собственно каталог

192.168.0.0/255.255.255.0 — разрешили монтирование этого каталога для клиентов с IP адресами в диапазоне 192.168.0.1 — 192.168.0.255

rw — каталог у клиентов будет монтироваться с возможностью записи в него (ro — позволит монтировать только для чтения)

no_root_squash — разрешаем удалённым пользователям с именем root изменять что-либо в этом каталоге (дома оставляем, в продакшн — убираем её)

async — повышает отклик сервера при записи

subtree_check — указываем эту опцию для любых каталогов, кроме /home/$user. Для /home/$user — указываем no_subtree_check.

insecure — без этой опции с сервером не смогут соединиться MacOS клиенты.


Применим изменения из /etc/exports:

$ sudo exportfs -a


Теперь монтируем NFS каталог на клиенте:

Для начала установим необходимые пакеты:

$ sudo apt install portmap nfs-common

Ну и монтируем каталог в заранее подготовленную директорию /mnt/nfs1 на десктопе:

$ sudo mount 192.168.0.1:/mnt/hdd1 /mnt/nfs1

Для автоматического монтирования при загрузке добавьте следующую строку в /etc/fstab:

192.168.0.1:/mnt/hdd1 /mnt/nfs1 nfs hard,intr



Комментариев нет: