NFS (Network File System) al Sun Microsystems este o structură de sistem de fișiere distribuită bazată pe RPC, care permite dispozitivelor din rețea să utilizeze servere care rulează NFS într-o rețea ca unități locale.

Iată un ghid pas cu pas pentru configurarea și configurarea unui server NFS pe o mașină Linux.

Ce este sistemul de fișiere de rețea?

Sistemul de fișiere NFS are patru protocoale. Când serverul este gata, notifică portmap (serverul care convertește protocolul în numere de port) despre portul de utilizat și furnizează numărul de program RPC controlat.

Când utilizați un sistem Linux încorporat, este foarte convenabil să porniți dispozitivul printr-o partajare de fișiere NFS prin rețea în loc să o porniți direct de pe dispozitivul de stocare (NAND flash, eMMC, MMC, etc.).

Deși mai rar, este posibil să doriți să montați o partajare NFS și să efectuați partajări de fișiere folosind-o după ce sistemul pornește, chiar dacă nu vă porniți sistemul direct din partajarea NFS. Pentru ca ambele scenarii să funcționeze, mai întâi trebuie să instalați un server NFS pe computerul pe care dezvoltați.

instagram viewer

Cum se instalează NFS pe Linux

Dacă utilizați un Sistem bazat pe Debian cum ar fi Ubuntu sau Linux Mint, ar trebui să instalați nfs-kernel-server pachet după cum urmează:

sudo apt instalare nfs-kernel-Server

Pe Arch Linux:

sudo pacman -S nfs-utils

Pe Fedora, CentOS și RHEL:

sudo dnf -y instalare nfs-utils

La sfârșitul procesului, serverul dvs. NFS va rula automat. Cu toate acestea, în acest moment, nu știe încă ce directoare de pe computer doriți să partajați prin rețea. Prin urmare, nu oferă nicio partajare în mod implicit.

Puteți deschide mai multe directoare pe același server pentru a permite partajarea în rețea cu diferite autorizații și restricții.

Configurarea serverului NFS pe Linux

Pentru a partaja orice director pe serverul NFS, este necesar să configurați o setare legată de director în /etc/exports fişier. Deschideți fișierul cu orice editor de text dorit. Asigurați-vă că adăugați prefixul sudo la comandă.

sudo vim /etc/exporturi

S-ar putea să vă întrebați ce înseamnă opțiunile de cartografiere pe care le vedeți aici:

  • root_squash: Marchează utilizatorii client autorizați sudo ca utilizator și grup nimeni pe NFS
  • no_root_squash: Dezactivează strivirea rădăcinilor
  • all_squash: Spre deosebire de root_squash, permite tuturor utilizatorilor să fie mapați ca utilizator și grup nimeni. Este folosit în general pentru accesul publicului.
  • no_all_squash: Opusul all_squash; această opțiune este implicită

Când un sistem din afara intervalelor IP pe care le permiteți în fișierul /etc/exports de pe serverul NFS încearcă să acceseze resursa relevantă, serverul NFS va respinge cererea.

Este posibil să primiți mesaje „acces refuzat de către server” în timp ce montați pe sistemul dumneavoastră încorporat. Mesaje de eroare similare cu cele de mai jos vor apărea la sfârșitul textului /var/log/syslog fișier pe computerul pe care rulează serverul NFS:

rpc.mountd[1041]: a refuzat cererea de montare din192.168.2.2pentru /home/example/casper/target (/home/exemplu/casper/țintă): gazdă de neegalat

Când vedeți un mesaj de jurnal de gazdă nepotrivit ca cel de mai sus, ar trebui să extindeți secțiunea IP/Mască de rețea a regulii relevante din fișierul /etc/exports sau să utilizați asterisc (*) caracter special dacă doriți să acordați acces la toate adresele IP.

Trebuie să reporniți serviciul NFS după ce faceți modificări la /etc/exports fişier:

sudo service nfs-kernel-server restart

Sau, dacă distro-ul este livrat cu systemctl, rulați următoarea comandă:

sudosystemctlrepornirenfs-server.serviciu

De asemenea, puteți da -r parametru la exportfs comandă astfel încât să redistribuie directoarele care au modificat orice setări legate de partajare:

sudo exportfs -r

Remedierea problemei de latență a montului

Când utilizați protocolul NFS versiunea 4 și o versiune ulterioară pe server, pot exista întârzieri de până la 15 secunde în timpul procesul de montare pe partea clientului în scenariile de operare tradiționale cu configurațiile implicite ale NFS Server. Această problemă poate apărea pe unele versiuni de Debian, Fedora și Ubuntu.

Dacă întâmpinați un decalaj similar la montare, puteți verificați fișierele jurnal de pe server (/var/log/syslog, /var/log/messages) pentru un mesaj de jurnal similar cu următorul:

... RPC: apelul upload AUTH_GSS a expirat

Acest mesaj indică faptul că autentificarea Kerberos a eșuat și a expirat. Probabil că nu veți avea nevoie de protocolul Kerberos pentru autentificarea de securitate în rețeaua din mediul dumneavoastră. Chiar dacă vă aflați într-o rețea configurată în acest fel, cel puțin cu sistemele dvs. Linux încorporate, nu va trebui să activați autentificarea Kerberos.

Deși au fost oferite alternative la rularea serviciului GSSD cu NFS pentru a remedia problema, aceste abordări nu au același impact în toate distribuțiile și versiunile de pachet și, prin urmare, este cel mai rațional să abordăm această problemă din rădăcină.

Trebuie să blocați (sau să puneți pe lista neagră). rpcsec_gss_krb5 modulul kernel de la încărcarea pe sistemul Linux unde se execută serverul NFS.

Pentru ca această opțiune să intre în vigoare de fiecare dată când reporniți computerul, creați un fișier nou numit /etc/modprobe.d/nfs-gss-blacklist.conf și adăugați următoarele rânduri la el:

lista neagră rpcsec_gss_krb5

Odată ce salvați fișierul și reporniți sistemul, problema latenței de montare va dispărea.

De ce să folosiți un server NFS?

NFS este simplu și accesibil de configurat. Permite gestionarea centralizată, ceea ce reduce necesarul de software suplimentar și spațiu de stocare pe computerul unui utilizator individual. Pe o singură mașină, mai mulți utilizatori pot partaja același spațiu pe disc. Ei pot pune aceste discuri deasupra sistemului lor de fișiere pentru a extinde spațiul de stocare.

Partajarea NFS permite ca programele care necesită mult spațiu de stocare să fie grupate pe un singur server. Acest lucru poate duce la economii uriașe de spațiu pe disc. În timp ce versiunile anterioare NFS sunt vulnerabile, versiunile mai noi au introdus niveluri suplimentare de protecție, inclusiv autentificarea Kerberos.

Cu toate acestea, există și unele dezavantaje. S-a constatat că NFS încetinește în unele cazuri în timpul traficului intens de rețea. Partajarea cu Windows este posibilă, dar poate necesita unele aplicații terță parte. Dar aceasta nu este o practică foarte sensibilă în ceea ce privește securitatea. Dacă configurația nu este corectă, poate apărea acces neautorizat.

Partajarea sistemului de fișiere este ușoară pe Linux folosind NFS

Cunoașterea problemelor de securitate și găsirea soluțiilor este una dintre sarcinile cele mai critice ale unui administrator de sistem. Este necesar să cunoașteți procedurile de securitate pentru toate sistemele de partajare a fișierelor și instrumentele de management și nu doar NFS.