NFS (мрежова файлова система) на Sun Microsystems е RPC-базирана структура на разпределена файлова система, която позволява на мрежови устройства да използват сървъри, работещи с NFS в мрежа, като свои локални устройства.
Ето ръководство стъпка по стъпка за настройка и конфигуриране на NFS сървър на Linux машина.
Какво представлява мрежовата файлова система?
Файловата система NFS има четири протокола. Когато сървърът е готов, той уведомява portmap (сървърът, който преобразува протокола в номера на портове) за порта, който да се използва, и предоставя номера на контролираната RPC програма.
Когато използвате вградена Linux система, е много удобно да стартирате вашето устройство чрез споделяне на NFS файлове по мрежата, вместо да го стартирате директно от устройството за съхранение (NAND флаш, eMMC, MMC, и т.н.).
Макар и по-рядко, може също да искате да монтирате NFS споделяне и да извършвате споделяне на файлове, като го използвате, след като системата се зареди, дори ако не стартирате системата си директно от NFS споделянето. За да работят и двата сценария, първо трябва да инсталирате NFS сървър на компютъра, на който разработвате.
Как да инсталирате NFS на Linux
Ако използвате a Система, базирана на Debian като Ubuntu или Linux Mint, трябва да инсталирате nfs-ядро-сървър опаковка, както следва:
sudo apt Инсталирай nfs-ядро-сървър
В Arch Linux:
sudo pacman -S nfs-utils
Във Fedora, CentOS и RHEL:
sudo dnf -y Инсталирай nfs-utils
В края на процеса вашият NFS сървър ще стартира автоматично. В този момент обаче той все още не знае кои директории на вашия компютър искате да споделите в мрежата. Следователно, той не предоставя никакво споделяне по подразбиране.
Можете да отворите множество директории на един и същи сървър, за да позволите мрежово споделяне с различни разрешения и ограничения.
Конфигуриране на NFS сървър на Linux
За да споделите която и да е директория през NFS сървъра, е необходимо да конфигурирате настройка, свързана с директория в /etc/exports файл. Отворете файла с произволен текстов редактор по ваш избор. Уверете се, че сте добавили префикса sudo към командата.
sudo vim /и т.н./износ
Може би се чудите какво означават опциите за картографиране, които виждате тук:
- root_squash: Маркира sudo упълномощени клиентски потребители като никой потребител и група в NFS
- no_root_squash: Деактивира смачкването на корените
- all_squash: За разлика от root_squash, той позволява всички потребители да бъдат картографирани като никой потребител и група. Обикновено се използва за публичен достъп.
- no_all_squash: Обратното на all_squash; тази опция е по подразбиране
Когато система извън IP обхватите, които разрешавате във файла /etc/exports на NFS сървъра, се опита да получи достъп до съответния ресурс, NFS сървърът ще отхвърли заявката.
Може да получите съобщения „достъпът е отказан от сървъра“, докато монтирате на вашата вградена система. Съобщения за грешка, подобни на следните, ще се появят в края на /var/log/syslog файл на компютъра, на който работи NFS сървърът:
rpc.mountd[1041]: отказана заявка за монтиране от192.168.2.2за /home/example/casper/target (/home/пример/casper/target): несравним хост
Когато видите несъответстващо съобщение за регистрационен файл на хост като това по-горе, трябва да разширите секцията IP/Netmask на съответното правило във файла /etc/exports или да използвате звездичка (*) специален знак, ако искате да предоставите достъп до всички IP адреси.
Трябва да рестартирате NFS услугата, след като направите промени в /etc/exports файл:
sudo service nfs-kernel-server рестартиране
Или, ако вашата дистрибуция се доставя със systemctl, изпълнете следната команда:
sudosystemctlрестартирамnfs-сървър.обслужване
Можете също да дадете на -р параметър към exportfs команда, така че да споделя отново директории, които са променили настройките, свързани със споделянето:
sudo exportfs -r
Коригиране на проблема с латентността на монтиране
Когато използвате NFS протокол версия 4 и по-висока на вашия сървър, може да има закъснения до 15 секунди по време на процеса на монтиране от страна на клиента в традиционни сценарии на работа с конфигурациите по подразбиране на NFS сървър. Този проблем може да се появи в някои версии на Debian, Fedora и Ubuntu.
Ако изпитвате подобно забавяне при монтиране, можете проверете регистрационните файлове от страна на сървъра (/var/log/syslog, /var/log/messages) за лог съобщение, подобно на следното:
... RPC: Времето за изчакване на повикването на AUTH_GSS изтече
Това съобщение показва, че Kerberos удостоверяването е неуспешно и времето за изчакване е изтекло. Вероятно няма да имате нужда от протокол Kerberos за удостоверяване на сигурността в мрежата във вашата среда. Дори ако сте в мрежа, конфигурирана по този начин, поне с вашите вградени Linux системи, няма да е необходимо да активирате Kerberos удостоверяване.
Въпреки че са предложени алтернативи за стартиране на услугата GSSD с NFS за отстраняване на проблема, тези подходи нямат едно и също въздействие във всички дистрибуции и версии на пакети и следователно е най-рационално да се справим с този проблем от корен.
Трябва да блокирате (или да поставите в черния списък) на rpcsec_gss_krb5 модул на ядрото от зареждане на системата Linux, където се изпълнява NFS сървърът.
За да има тази опция в сила всеки път, когато рестартирате компютъра си, създайте нов файл Наречен /etc/modprobe.d/nfs-gss-blacklist.conf и добавете към него следните редове:
черен списък rpcsec_gss_krb5
След като запишете файла и рестартирате системата, проблемът със закъснението при монтиране ще изчезне.
Защо да използвате NFS сървър?
NFS е проста и достъпна за настройка. Той позволява централизирано управление, което намалява изискването за допълнителен софтуер и място за съхранение на компютъра на отделния потребител. На една машина множество потребители могат да споделят едно и също дисково пространство. Те могат да поставят тези дискове върху своята файлова система, за да разширят пространството за съхранение.
Споделянето на NFS позволява програми, които изискват много място за съхранение, да бъдат групирани на един сървър. Това може да доведе до огромни спестявания на дисково пространство. Докато предишните версии на NFS са уязвими, по-новите версии са въвели допълнителни нива на защита, включително Kerberos удостоверяване.
Има обаче и някои недостатъци. Установено е, че NFS се забавя в някои случаи при тежък мрежов трафик. Споделянето с Windows е възможно, но може да изисква някои приложения на трети страни. Но това не е много разумна практика от гледна точка на сигурността. Ако конфигурацията не е правилна, може да възникне неоторизиран достъп.
Споделянето на файлова система става лесно в Linux чрез NFS
Познаването на проблемите със сигурността и намирането на решения е една от най-важните задачи на системния администратор. Необходимо е да се познават процедурите за сигурност за всички системи за споделяне на файлове и инструменти за управление, а не само за NFS.