0887 371 498 support@itservice-bg.net
07.09.2022 · Самуил Арсов · Debian, Hosting, Kali Linux, Linux commands, Ubuntu

Ubuntu 22.04 NFS сървър

NFS или мрежова файлова система е протокол, който позволява на локалните потребители да имат достъп до отдалечени данни от множество дискове и директории по същия начин като локалния достъп. Протоколът NFS първоначално е разработен от Sun Microsystem и се превръща в стандартен протокол за споделяне на файлове в мрежа. Той се използва широко в централизирана среда, където потребителите или клиентските компютри ще могат да съхраняват и имат достъп до данни към един централизиран отдалечен сървър.

В повечето Linux системи NFS може да се инсталира и конфигурира лесно както за NFS сървър, така и клиент. Почти всяка Linux дистрибуция предоставя NFS пакети по подразбиране в собственото си хранилище. Името на пакета е различно, но конфигурацията все още е същата за почти Linux дистрибуции.

В тази статия ще научите как да инсталирате NFS сървър и клиент на Ubuntu 22.04 сървър. Ще научите също как да монтирате NFS споделената директория автоматично при зареждане на системата на клиентската машина.

Инсталиране и конфигуриране на NFS сървър

sudo apt install nfs-kernel-server
sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server

Създаваме директорията която ще споделим със съответните права.

sudo mkdir /mnt/host
sudo chown -R nobody:nogroup /mnt/host
sudo chmod 777 /mnt/host

Конфигурираме споделените директории в /etc/exports. Форматът е: директория клиент(опции)

sudo vim /etc/exports
/mnt/host 192.168.100.2(rw,sync,no_subtree_check,no_root_squash)

Основни опции в /etc/exports: rw — четене и запис; sync — синхронен запис (по-безопасен); no_subtree_check — по-добра производителност; no_root_squash — root на клиента има root права и на сървъра (внимавайте с тази опция в публични мрежи).

След това изпълнете следната команда, за да приложите и експортирате всички директории. Ако не получите никакво съобщение, значи вашите настройки са правилни.

sudo exportfs -a

Рестартираме сървъра за да влязат правилата в сила.

sudo systemctl restart nfs-server
sudo systemctl status nfs-server

С тази команда проверяваме сървъра какво споделя.

sudo exportfs -v

Разрешаваме порта на NFS в защитната стена (ако е активирана):

sudo ufw allow from 192.168.100.2 to any port nfs
sudo ufw reload
sudo ufw status

Инсталиране и конфигуриране на NFS клиент

На клиентската машина инсталираме nfs-common и монтираме споделената директория. Заменете 192.168.200.2 с IP адреса на NFS сървъра:

sudo apt install nfs-common
sudo mount 192.168.200.2:/mnt/host /var/backup

Проверете дали монтирането е успешно:

df -h | grep nfs
mount | grep nfs

Автоматично монтиране на директория чрез /etc/fstab

За да се монтира NFS директорията автоматично при всяко стартиране на системата, добавяме запис в /etc/fstab:

sudo umount /mnt/nfs1
sudo vim /etc/fstab
192.168.200.2:/mnt/host /var/backup   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
sudo mount -a

Заключение

NFS е бърз и лесен начин за споделяне на файлове между Linux машини в локална мрежа. Конфигурацията е минимална — инсталация, един ред в /etc/exports и запис в /etc/fstab на клиента. За production среди препоръчително е да се ограничи достъпът само до конкретни IP адреси и да се избягва no_root_squash в публични мрежи.