NFS (Network File System) tvrtke Sun Microsystems je struktura distribuiranog datotečnog sustava temeljena na RPC-u koja omogućuje umreženim uređajima da koriste poslužitelje koji pokreću NFS preko mreže kao svoje lokalne diskove.

Ovdje je vodič korak po korak za postavljanje i konfiguriranje NFS poslužitelja na Linux stroju.

Što je mrežni datotečni sustav?

NFS datotečni sustav ima četiri protokola. Kada je poslužitelj spreman, obavještava portmap (poslužitelj koji pretvara protokol u brojeve priključaka) o priključku koji treba koristiti i daje broj kontroliranog RPC programa.

Kada koristite ugrađeni Linux sustav, vrlo je zgodno pokrenuti uređaj putem NFS dijeljenja datoteka preko mreže umjesto da ga pokrećete izravno s uređaja za pohranu (NAND flash, eMMC, MMC, itd.).

Iako rjeđe, možda ćete također htjeti montirati NFS udio i izvršiti dijeljenje datoteka pomoću njega nakon što se sustav podigne, čak i ako svoj sustav ne pokrenete izravno s NFS udjela. Da bi oba scenarija funkcionirala, prvo morate instalirati NFS poslužitelj na računalu na kojem razvijate.

instagram viewer

Kako instalirati NFS na Linux

Ako koristite a Sustav temeljen na Debianu kao što su Ubuntu ili Linux Mint, trebali biste instalirati nfs-kernel-poslužitelj paket na sljedeći način:

sudo apt instalirati nfs-kernel-poslužitelj

Na Arch Linuxu:

sudo pacman -S nfs-utils

Na sustavima Fedora, CentOS i RHEL:

sudo dnf -y instalirati nfs-utils

Na kraju procesa, vaš NFS poslužitelj će se pokrenuti automatski. Međutim, u ovom trenutku još ne zna koje direktorije na vašem računalu želite dijeliti preko mreže. Stoga prema zadanim postavkama ne omogućuje nikakvo dijeljenje.

Možete otvoriti više direktorija na istom poslužitelju kako biste omogućili dijeljenje mreže s različitim ovlaštenjima i ograničenjima.

Konfiguriranje NFS poslužitelja na Linuxu

Za dijeljenje bilo kojeg direktorija preko NFS poslužitelja, potrebno je konfigurirati postavku koja se odnosi na direktorij u /etc/exports datoteka. Otvorite datoteku bilo kojim uređivačem teksta po vašem izboru. Obavezno dodajte sudo prefiks naredbi.

sudo vim /etc/izvozi

Možda se pitate što znače opcije mapiranja koje vidite ovdje:

  • root_squash: Označava sudo ovlaštene klijentske korisnike kao ničijeg korisnika i grupu na NFS-u
  • no_root_squash: Onemogućuje gnječenje korijena
  • all_squash: Za razliku od root_squasha, omogućuje mapiranje svih korisnika kao korisnika i grupe nitko. Obično se koristi za javni pristup.
  • no_all_squash: Suprotno od all_squash; ova opcija je zadana

Kada sustav izvan IP raspona koje ste dopustili u datoteci /etc/exports na NFS poslužitelju pokuša pristupiti relevantnom resursu, NFS poslužitelj će odbiti zahtjev.

Tijekom postavljanja na ugrađeni sustav možete primiti poruku "poslužitelj odbija pristup". Poruke o pogrešci slične sljedećoj pojavit će se na kraju /var/log/syslog datoteka na računalu na kojem je pokrenut NFS poslužitelj:

rpc.mountd[1041]: odbijen zahtjev za montiranje iz192.168.2.2za /home/example/casper/target (/home/primjer/casper/target): host bez podudaranja

Kada vidite neusklađenu poruku dnevnika hosta kao što je ova iznad, trebali biste proširiti IP/Netmask odjeljak relevantnog pravila u datoteci /etc/exports ili koristiti zvjezdica (*) poseban znak ako želite dopustiti pristup svim IP adresama.

Morate ponovno pokrenuti NFS uslugu nakon što izvršite izmjene u /etc/exports datoteka:

sudo servis nfs-kernel-server restart

Ili, ako se vaša distribucija isporučuje sa systemctl, pokrenite sljedeću naredbu:

sudosystemctlponovno pokrenutinfs-poslužitelj.servis

Također možete dati -r parametar za exportfs naredba tako da ponovno dijeli direktorije koji su promijenili bilo koje postavke povezane s dijeljenjem:

sudo exportfs -r

Rješavanje problema kašnjenja montiranja

Kada koristite NFS protokol verzije 4 ili više na svom poslužitelju, može doći do kašnjenja do 15 sekundi tijekom proces montiranja na strani klijenta u tradicionalnim operativnim scenarijima sa zadanim konfiguracijama NFS-a poslužitelj. Ovaj se problem može pojaviti na nekim verzijama Debiana, Fedore i Ubuntua.

Ako imate slično kašnjenje u montiranju, možete provjerite log datoteke na strani poslužitelja (/var/log/syslog, /var/log/messages) za poruku dnevnika sličnu sljedećoj:

... RPC: AUTH_GSS up call istekao

Ova poruka označava da Kerberos provjera autentičnosti nije uspjela i da je vrijeme isteklo. Vjerojatno vam neće trebati protokol Kerberos za sigurnosnu provjeru autentičnosti na mreži u vašem okruženju. Čak i ako ste na ovako konfiguriranoj mreži, barem s vašim ugrađenim Linux sustavima, nećete morati omogućiti Kerberos provjeru autentičnosti.

Iako su ponuđene alternative pokretanju GSSD usluge s NFS-om za rješavanje problema, ovi pristupi nemaju isti učinak u svim distribucijama i verzijama paketa, te je stoga najracionalnije rješavati ovaj problem iz korijen.

Morate blokirati (ili staviti na crnu listu) rpcsec_gss_krb5 modul kernela od učitavanja na Linux sustavu na kojem se izvršava NFS poslužitelj.

Da bi ova opcija bila aktivna svaki put kada ponovno pokrenete računalo, stvoriti novu datoteku nazvao /etc/modprobe.d/nfs-gss-blacklist.conf i dodajte mu sljedeće retke:

crna lista rpcsec_gss_krb5

Nakon što spremite datoteku i ponovno pokrenete sustav, problem kašnjenja montiranja će nestati.

Zašto koristiti NFS poslužitelj?

NFS je jednostavan i pristupačan za postavljanje. Omogućuje centralizirano upravljanje, što smanjuje potrebu za dodatnim softverom i prostorom za pohranu na računalu pojedinog korisnika. Na jednom stroju više korisnika može dijeliti isti prostor na disku. Oni mogu staviti te diskove na vrh svog datotečnog sustava kako bi proširili prostor za pohranu.

NFS dijeljenje omogućuje grupiranje programa koji zahtijevaju puno prostora za pohranu na jednom poslužitelju. To može rezultirati velikom uštedom prostora na disku. Dok su prethodne verzije NFS-a ranjive, novije verzije su uvele dodatne razine zaštite, uključujući Kerberos autentifikaciju.

Međutim, postoje i neki nedostaci. Utvrđeno je da NFS usporava u nekim slučajevima tijekom velikog mrežnog prometa. Dijeljenje sa sustavom Windows je moguće, ali može zahtijevati neke aplikacije trećih strana. Ali to nije baš razumna praksa u smislu sigurnosti. Ako konfiguracija nije ispravna, može doći do neovlaštenog pristupa.

Dijeljenje datotečnog sustava postalo je jednostavno na Linuxu pomoću NFS-a

Poznavanje sigurnosnih problema i pronalaženje rješenja jedan je od najvažnijih zadataka administratora sustava. Potrebno je poznavati sigurnosne procedure za sve sustave za dijeljenje datoteka i alate za upravljanje, a ne samo za NFS.