Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • OS
  • Usluga mrežnih datoteka. Kako je sve počelo

Usluga mrežnih datoteka. Kako je sve počelo

Protokol mrežnog poslužitelja datoteka (NFS) je otvoreni standard za pružanje korisnicima daljinskog pristupa datotečnim sustavima. Njegovi centralizirani datotečni sustavi olakšavaju obavljanje svakodnevnih zadataka kao što su sigurnosne kopije ili skeniranje virusa, a konsolidirane particije diska lakše je održavati od mnogih malih i distribuiranih.

Uz pružanje mogućnosti centralizirane pohrane, NFS se pokazao vrlo korisnim za druge aplikacije, uključujući klijente bez diska i tanke klijente, mrežno klasteriranje i međuspremnik za suradnju.

Bolje razumijevanje i samog protokola i detalja njegove implementacije olakšat će se nositi s praktičnim zadacima. Ovaj se članak fokusira na NFS i sastoji se od dva logična dijela: prvo opisuje sam protokol i ciljeve postavljene tijekom njegovog razvoja, a zatim implementaciju NFS-a na Solaris i UNIX.

GDJE JE SVE POČELO...

NFS je razvio Sun Microsystems i pojavio se na Internetu 1989. kao RFC 1094 pod naslovom Specifikacija protokola mrežnog datotečnog sustava (NFS). Zanimljivo je napomenuti da je Novellova strategija u to vrijeme bila daljnje poboljšanje datotečnih usluga. Sve donedavno, prije nego što je pokret otvorenog koda dobio zamah, Sun nije želio otkriti tajne svojih mrežnih rješenja, ali čak je i tada tvrtka shvatila važnost interoperabilnosti s drugim sustavima.

RFC 1094 sadržavao je dvije izvorne specifikacije. U vrijeme objave, Sun je već razvijao sljedeću, treću verziju specifikacije, koja je navedena u specifikaciji protokola RFC 1813 NFS verzije 3. Verzija 4 ovog protokola definirana je u protokolu RFC 3010 NFS verzije 4.

NFS se naširoko koristi na svim vrstama UNIX hostova, Microsoft i Novell mrežama te IBM rješenjima kao što su AS400 i OS/390. Nepoznat izvan mrežnog kraljevstva, NFS je možda najčešće korišteni mrežni datotečni sustav neovisni o platformi.

PROFESOR JE BIO UNIX

Iako je NFS sustav neovisan o platformi, UNIX je njegov predak. Drugim riječima, hijerarhija arhitekture i metode pristupa datotekama, uključujući strukturu datotečnog sustava, kako identificirati korisnike i grupe i kako raditi s datotekama, vrlo su slični UNIX datotečnom sustavu. Na primjer, NFS datotečni sustav, koji je po strukturi identičan UNIX datotečnom sustavu, montira se izravno na njega. Kada radite s NFS-om na drugim operativnim sustavima, preslikavaju se korisničke vjerodajnice i dopuštenja datoteka.

NFS

NFS je dizajniran za korištenje u arhitekturi klijent-poslužitelj. Klijent pristupa datotečnom sustavu koji izvozi NFS poslužitelj preko točke postavljanja na klijentu. Taj je pristup obično transparentan za klijentsku aplikaciju.

Za razliku od mnogih klijent/poslužitelj sustava, NFS koristi Remote Procedure Calls (RPC) za razmjenu informacija. Obično klijent uspostavlja vezu s unaprijed određenim portom, a zatim, u skladu sa specifičnostima protokola, šalje zahtjev za izvođenje određene radnje. U slučaju udaljenog poziva procedure, klijent kreira poziv procedure i zatim ga šalje poslužitelju na izvršenje. Detaljan opis NFS-a bit će predstavljen u nastavku.

Kao primjer, pretpostavimo da je klijent montirao usr2 direktorij na lokalni korijenski datotečni sustav:

/ root / usr2 / -> daljinski: / root / usr /

Ako klijentska aplikacija treba resurse ovog direktorija, jednostavno šalje zahtjev operativnom sustavu za nju i za naziv datoteke, a potonji odobrava pristup putem NFS klijenta. Kao primjer, razmotrite jednostavnu UNIX naredbu cd, koja "ne zna ništa" o mrežnim protokolima. Tim

CD / root / usr2 /

će radni direktorij smjestiti na udaljeni datotečni sustav, "a da ni ne zna" (korisniku ni to nije potrebno) da je datotečni sustav udaljen.

Nakon zaprimanja zahtjeva, NFS poslužitelj će provjeriti ima li zadani korisnik pravo izvršiti traženu radnju te će je, ako je odgovor pozitivan, izvršiti.

PRIBLIŽIMO SE

Iz perspektive klijenta, proces lokalnog montiranja udaljenog datotečnog sustava pomoću NFS-a uključuje nekoliko koraka. Kao što je spomenuto, NFS klijent će izdati poziv udaljene procedure za izvršenje na poslužitelju. Imajte na umu da je na UNIX-u klijent jedan program (naredba mount), dok je poslužitelj zapravo implementiran kao nekoliko programa sa sljedećim minimalnim skupom: port mapper, mount daemon i NFS poslužitelj...

U početku, naredba za montiranje klijenta stupa u interakciju s poslužiteljskom uslugom prevođenja portova, koja osluškuje zahtjeve na portu 111. Većina implementacija naredbe za montiranje klijenta podržava više verzija NFS-a, što povećava vjerojatnost pronalaženja zajedničke verzije protokola između klijenta i poslužitelja . Pretraživanje se provodi počevši od najstarije verzije, tako da kada se pronađe zajednička, ona će automatski postati najnovija verzija koju podržavaju klijent i poslužitelj.

(Predstavljeni materijal fokusiran je na treću verziju NFS-a, budući da je trenutno najraširenija. Četvrta verzija još nije podržana u većini implementacija.)

Usluga prevođenja portova poslužitelja odgovara na zahtjeve na temelju podržanog protokola i porta na kojem je pokrenut demon mount. Program mount klijenta najprije se povezuje s demonom mount poslužitelja, a zatim mu RPC šalje naredbu mount. Ako je ovaj postupak uspješan, tada se klijentska aplikacija povezuje s NFS poslužiteljem (port 2049) i, koristeći jednu od 20 udaljenih procedura definiranih u RFC 1813 i navedenih u Tablici 1, dobiva pristup udaljenom datotečnom sustavu.

Značenje većine naredbi je intuitivno i ne uzrokuje nikakve poteškoće administratorima sustava. Donji popis tcdump ilustrira naredbu čitanja koju generira UNIX cat naredba za čitanje datoteke pod nazivom test-file:

10:30: 16.012010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 traženje fh 32.0 / 224145 "test-datoteka" 10: 30: 16.012010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 pretraživanja FH 32,0 / 224.145 "test-datoteku" 10: 30: 16.012729 eth0 192.168.1.254.3476097947: odgovarati ok 128 pregledna FH 32,0 / 224307 (DF) 10:30: 16.012729 eth0 192.168. 1.254.3476097947: odgovor ok 128 traži fh 32.0 / 224307 (DF) 10: 30: 16.013124 eth0> 192.168.1.254. 3492875163> 192.168.1.252.2049: 140 čitanje fh 32.0 / 224307 4096 bajtova @ 0 10: 30: 16.013124 eth0> 192.168.1.2. 3492875163> 192.168.1.252.2049: 140 čitanje FH 32,0 / 224.307 4096 bajta '0 10: 30: 16,013650 eth0 192.168.1.254.3492875163: odgovor ok 108 čitanja (DF), 10: 30: 16,013650 eth0 192.168.1.254.3492875163: odgovora ok 108 pročitaj (DF)

NFS se tradicionalno implementirao preko UDP-a. Međutim, neke verzije NFS-a podržavaju TCP (TCP podrška definirana je u specifikaciji protokola). Glavna prednost TCP-a je učinkovitiji mehanizam retransmisije u nepouzdanim mrežama. (U slučaju UDP-a, ako dođe do pogreške, tada se cijela RPC poruka, koja se sastoji od nekoliko UDP paketa, ponovno šalje. Ako postoji TCP, ponovno se šalje samo pokvareni dio.)

PRISTUP U NFS

NFS implementacije općenito podržavaju četiri načina dodjele prava pristupa: putem atributa korisnika/datoteke, na razini dijeljenog resursa, na razini glavnog čvora i kombinacijom drugih metoda pristupa.

Prva metoda se oslanja na UNIX-ov ugrađeni sustav dopuštenja datoteka za pojedinačnog korisnika ili grupu. Kako bi se pojednostavilo održavanje, korisnički i grupni identiteti trebali bi biti dosljedni na svim NFS klijentima i poslužiteljima. Sigurnost treba pažljivo razmotriti: NFS može nehotice odobriti pristup datotekama koji nisu bili namijenjeni kada su stvoreni.

Zajednički pristup resursima omogućuje vam da ograničite prava da dopustite samo određene radnje, bez obzira na vlasništvo datoteke ili UNIX privilegije. Na primjer, rad s NFS datotečnim sustavom može se ograničiti samo na čitanje. Većina implementacija NFS-a omogućuje vam daljnje ograničavanje pristupa zajedničkom resursu određenim korisnicima i/ili grupama. Na primjer, grupi "Ljudski resursi" dopušten je pregled informacija i ništa više.

Pristup glavnom čvoru dopušta samo da se datotečni sustav montira na određene čvorove, što je općenito dobra ideja budući da se datotečni sustavi lako mogu kreirati na bilo kojem čvoru sposobnom za NFS.

Kombinirani pristup jednostavno kombinira gore navedene vrste (na primjer, pristup na razini dijeljenih resursa s pristupom odobrenim određenom korisniku) ili omogućuje korisnicima rad s NFS-om samo s određenog čvora.

NFS U STILU PINGVINA

Predstavljeni materijal vezan za Linux temelji se na Red Hatu 6.2 s kernelom 2.4.9 koji se isporučuje s paketom 0.1.6 nfs-utils. Postoje novije verzije: u vrijeme pisanja ovog teksta, najnovije ažuriranje paketa nfs-utils je 0.3.1. Može se preuzeti na:.

Paket nfs-utils sadrži sljedeće binarne datoteke: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount i statd.

Nažalost, podrška za NFS ponekad je zbunjujuća za Linux administratore, budući da dostupnost ove ili one funkcionalnosti izravno ovisi o brojevima verzija i kernela i paketa nfs-utils. Srećom, situacija u ovom području trenutno se popravlja: najnoviji distribucijski kompleti uključuju najnovije verzije oba. Za prethodna izdanja, odjeljak 2.4 NFS-HOWTO-a pruža potpuni popis funkcionalnosti sustava dostupne za svaku kombinaciju kernela i paketa nfs-utils. Programeri održavaju kompatibilnost paketa unatrag s ranijim verzijama s jakim fokusom na sigurnost i ispravke grešaka.

NFS podršku treba pokrenuti u vrijeme kompilacije kernela. Ako je potrebno, mogućnost NFS verzije 3 također treba dodati kernelu.

Za distribucije koje podržavaju linuxconf, lako je konfigurirati NFS usluge i za klijente i za poslužitelje. Međutim, brz način instaliranja NFS-a pomoću linuxconf-a ne daje informacije o tome koje su datoteke stvorene ili uređene, što je vrlo važno da administrator zna kako bi razumio situaciju u slučaju kvara sustava. Linuxova NFS arhitektura je slabo povezana s BSD-om, tako da je administratorima s BSD-om, Sun OS 2.5 ili starijim verzijama NFS-a lako pronaći potrebne datoteke i programe podrške.

Datoteka / etc / exports, kao iu ranijim verzijama BSD-a, definira datotečne sustave kojima je NFS klijentima dopušten pristup. Osim toga, sadrži niz dodatnih značajki koje se odnose na upravljanje i sigurnosna pitanja, dajući administratoru sredstvo za fino podešavanje. To je tekstualna datoteka koja se sastoji od unosa, praznih ili komentiranih redaka (komentari počinju s #).

Recimo da želimo klijentima dati pristup samo za čitanje / home direktoriju na Lefty čvoru. Sljedeći unos će odgovarati ovome u / etc / exports:

/ dom (ro)

Ovdje moramo reći sustavu koje direktorije ćemo učiniti dostupnima pomoću demona za montiranje rpc.mountd:

# exportfs -r exportfs: Ime hosta nije navedeno u / home (ro), upišite * (ro) da biste izbjegli upozorenje #

Kada se pokrene, naredba exportfs ispisuje upozorenje da / etc / exports ne ograničava pristup određenom čvoru i stvara odgovarajući unos u / var / lib / nfs / etab iz / etc / exports koji govori koji se resursi mogu pregledavati s cat :

# cat / var / lib / nfs / etab / home (ro, async, wdelay, hide, secure, root_ squash, no_all_squash, subtree_check, secure_locks, mapiranje = identitet, anonuid = -2, anongid = -2)

Ostale opcije, navedene u etab, uključuju zadane postavke koje koristi NFS. Pojedinosti će biti opisane u nastavku. Da biste odobrili pristup / home direktoriju, moraju se pokrenuti odgovarajuće NFS usluge:

# portmap # rpc.mountd # rpc.nfsd # rpc.statd # rpc.rquotad

U bilo kojem trenutku nakon pokretanja demona mount (rpc.mountd), možete saznati o pojedinačnim datotekama dostupnim za izlaz gledajući sadržaj datoteke /proc/fs/nfs/exports:

# cat / proc / fs / nfs / exports # Verzija 1.0 # Path Client (Flags) # IPs / home 192.168.1.252 (ro, root_squash, async, wdelay) # 192.168.1.252 #

Isto se može vidjeti pomoću naredbe showmount s parametrom -e:

# showmount -e Izvoz popisa za ljevaka: / home (svi) #

Trčeći malo ispred sebe, naredba showmount također se može koristiti za identifikaciju svih montiranih datotečnih sustava, ili, drugim riječima, za otkrivanje koji su čvorovi NFS klijenti za sustav koji izvodi naredbu showmount. Naredba showmount -a će prikazati sve točke postavljanja klijenta:

# showmount -a Sve točke montiranja na lijevoj strani: 192.168.1.252:/home #

Kao što je gore navedeno, većina NFS implementacija podržava različite verzije ovog protokola. Implementacija Linuxa vam omogućuje da ograničite popis verzija NFS-a za pokretanje navođenjem -N prekidača za demona mount. Na primjer, da biste pokrenuli NFS verziju 3 i samo verziju 3, unesite sljedeću naredbu:

# rpc.mountd -N 1 -N 2

Pronicljivim korisnicima može biti nezgodno što NFS demon (rpc.nfsd) na Linuxu čeka pakete verzije 1 i verzije 2, iako se time postiže željeni učinak nepodržavanja odgovarajućeg protokola. Nadajmo se da će programeri sljedećih verzija napraviti potrebne korekcije i uspjeti postići veću konzistentnost komponenti paketa u odnosu na različite verzije protokola.

"PLIVAJ S PINGVINIMA"

Pristup gore konfiguriranom Leftyju, NFS izvezenom datotečnom sustavu temeljenom na Linuxu, ovisi o operativnom sustavu klijenta. Instalacijski stil za većinu UNIX operativnih sustava je onaj originalnog Sun OS i BSD sustava ili novijeg Solarisa. Budući da se ovaj članak fokusira na Linux i Solaris sustave, pogledajmo konfiguraciju klijenta Solaris 2.6 u smislu uspostavljanja veze s Linux verzijom NFS-a koju smo opisali gore.

Značajke naslijeđene od Solarisa 2.6 olakšavaju njegovo konfiguriranje da djeluje kao NFS klijent. Ovo zahtijeva samo jednu naredbu:

# mount -F nfs 192.168.1.254:/home / tmp / tmp2

Pod pretpostavkom da je prethodna naredba mount bila uspješna, tada će naredba mount bez parametara dati sljedeće:

# mount / on / dev / dsk / c0t0d0s0 čitanje / pisanje / setuid / largefiles na pon 3. rujna 10:17:56 2001 ... ... / tmp / tmp2 na 192.168.1.254: / home read / write / daljinski uključen Pon, 3. rujna 23:19:25 2001

Analizirajmo tcpdump izlaz iz Lefty čvora nakon što je korisnik unio naredbu ls / tmp / tmp2 na Sunny čvoru:

# tcpdump host lefty i host sunny -s512 06: 07: 43.490583 sunny.2191983953> lefty.mcwrite.n.nfs: 128 getattr fh Nepoznato / 1 (DF) 06: 07: 47: 43.490583 sunny.nmc sunny. 2191983953: odgovor u redu 112 getattr DIR 40755 id 0/0 sz 0x000001000 (DF) 06: 07: 43.491397 sunny.2191983954> lefty.mcwrite.n.160. mcwrite.n.nfs> sunny.2191983954: odgovor u redu 120 pristup c0001 (DF) 06: 07: 43.492296 sunny.2191983955> lefty.mcwrite.n.nfs: 152 readdirplus 07 07 07 07 07 08 06: 07: 43.492417 lefty.mcwrite.n.nfs> sunny.2191983955: odgovor ok 1000 readdirplus (DF)

Vidimo da Sunny traži od ls deskriptor datoteke (fh), na što Lefty odgovara s OK i vraća strukturu direktorija. Sunny zatim provjerava dopuštenje za pravo na sadržaj direktorija (132 pristup fh) i prima odgovor na dopuštenje od Leftyja. Sunny zatim čita kompletan sadržaj direktorija koristeći readdirplus rutinu. Pozivi udaljenih procedura opisani su u RFC 1813 i referencirali smo ga na početku ovog članka.

Iako je redoslijed naredbi za pristup udaljenim datotečnim sustavima vrlo jednostavan, brojne okolnosti mogu dovesti do pogrešnog montiranja sustava. Točka montiranja mora već postojati prije nego što se direktorij može montirati, inače se mora kreirati pomoću naredbe mkdir. Obično je jedini uzrok grešaka na strani klijenta nedostatak lokalnog direktorija za montiranje. Većina problema s NFS-om nastaje zbog neusklađenosti između klijenta i poslužitelja ili neispravne konfiguracije poslužitelja.

Najlakši način za rješavanje problema s poslužiteljem je sa stranice na kojoj je poslužitelj pokrenut. Međutim, kada netko drugi administrira poslužitelj umjesto vas, to nije uvijek moguće. Brz način da osigurate da su odgovarajuće poslužiteljske usluge ispravno konfigurirane je korištenje naredbe rpcinfo s parametrom -p. Iz Solaris Sunny hosta možete odrediti koji su RPC procesi registrirani na Linux hostu:

# Rpcinfo -p 192.168.1.254 programa vers proto luke usluge 100.000 2. TCP 111 rpcbind 100000 2 UDP 111 rpcbind 100.024 1 UDP 692 Status 100.024 1 TCP 694 statusa 100.005 3 UDP 1024 mountd / 100005 3 tcp 1024 mountd 100.003 2 UDP 2049 NFS 100003 3 udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

Imajte na umu da su ovdje navedene i informacije o verzijama, što je vrlo korisno kada sustav zahtijeva podršku za različite NFS protokole. Ako bilo koja usluga ne radi na poslužitelju, onda ovu situaciju treba ispraviti. Ako montiranje ne uspije, sljedeća naredba rpcinfo -p pokazat će da je usluga mountd na poslužitelju isključena:

# rpcinfo -p 192.168.1.254 program vers proto port service 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

Naredba rpcinfo vrlo je korisna za otkrivanje je li određeni udaljeni proces aktivan. Opcija -p je najvažnija od opcija. Za potpuni pregled značajki rpcinfo pogledajte man stranicu.

Još jedan koristan alat je naredba nfsstat. Može se koristiti za otkrivanje pristupa li klijenti izvezenom datotečnom sustavu, kao i za prikaz statističkih podataka prema verziji protokola.

Konačno, tcpdump je još jedan koristan alat za određivanje uzroka rušenja sustava:

# tcpdump host lefty i host sunny -s512 tcpdump: slušanje na eth0 06: 29: 51.773646 sunny.2191984020> lefty.mcwrite.n.nfs: 140 lookup fh Nepoznato / 1 "test.7036" (12 "test.c". lefty.mcwrite.n.nfs> sunny.2191984020: odgovor ok 116 traženje POGREŠKA: nema takve datoteke ili direktorija (DF) 06: 29: 51.774593 sunny.2191984021> lefty.mcwrite.n.nfs getat: fh12 (nepoznato: fh12) DF) 06: 29: 51.774670 lefty.mcwrite.n.nfs> sunny.2191984021: odgovor ok 112 getattr DIR 40755 id 0/0 sz 0x000001000 (DF) 06.19cwrite. : 140 traženje fh Nepoznato / 1 "test.c" (DF) 06: 29: 51.775357 lefty.mcwrite.n.nfs> sunny.2191984022: odgovor ok 116 GREŠKA pretraživanja: nema takve datoteke ili direktorija (DF) 06:29: 51.776029 sunny.2191984023> lefty.mcwrite.n.nfs: 184 kreiraj fh Nepoznato / 1 "test.c" (DF) 06: 29: 51.776169 lefty.mcwrite.n.nfs> kreiraj sunny.20190:9 rep 8 ok. Dopuštenje odbijeno (DF)

Gornji popis, dobiven nakon izvršavanja naredbe touch test.c, odražava sljedeći slijed radnji: prvo naredba touch pokušava pristupiti datoteci pod nazivom test.c, zatim traži direktorij s istim imenom, a nakon neuspješnog pokušava stvoriti datoteku test.c , što također ne dovodi do uspjeha.

Kada je datotečni sustav montiran, najčešće se pogreške odnose na normalne UNIX dozvole. Sunčeva upotreba uid-a ili NIS + izbjegava globalno postavljanje dopuštenja za sve datotečne sustave. Neki administratori prakticiraju "otvorene" imenike, gdje se dopuštenja za čitanje daju "cijelom svijetu". Međutim, to treba izbjegavati iz sigurnosnih razloga. Bez obzira na sigurnosne probleme, ipak morate priznati da je to loša praksa jer korisnici rijetko stvaraju podatke s namjerom da ih bilo tko može pročitati.

Pristup super korisnika (root) montiranim NFS datotečnim sustavima tretira se drugačije. Kako bi se izbjeglo dodjeljivanje neograničenog pristupa privilegiranom korisniku, zahtjevi korijenskog korisnika tretiraju se kao da su od nikog korisnika. Ovaj moćni mehanizam ograničava pristup privilegiranih korisnika globalno čitljivim i pisanim datotekama.

VERZIJA NFS SERVER SOLARIS

Konfiguriranje Solarisa da djeluje kao NFS poslužitelj jednostavno je kao i Linux. Međutim, naredbe i mjesta datoteka malo se razlikuju. Kada se Solaris pokrene, kada dosegne razinu pokretanja 3, NFS usluge se automatski pokreću i svi datotečni sustavi se izvoze. Za ručno pokretanje ovih procesa unesite naredbu:

# / usr / lib / nfs / mountd

Za pokretanje demona mount i NFS poslužitelja, unesite:

# / usr / lib / nfs / nfsd

Počevši od 2.6, Solaris više ne koristi datoteku za izvoz za određivanje izvezenih datotečnih sustava. Datoteke se sada izvoze pomoću naredbe share. Recimo da želimo dopustiti udaljenim hostovima da se montiraju/izvoze/doma. Za to unesite sljedeću naredbu:

Dijeli -F nfs / izvoz / dom

Sigurnosne mjere

SIGURNOST U LINUX-u

Neke usluge NFS sustava temeljene na Linuxu imaju dodatni mehanizam za ograničavanje pristupa putem kontrolnih popisa ili tablica. Interno, ovaj mehanizam implementiran je pomoću biblioteke tcp_wrapper, koja koristi dvije datoteke za generiranje popisa kontrole pristupa: /etc/hosts.allow i / etc / hosts / deny. Sveobuhvatan pregled pravila za rad s tcp_wrapperom je izvan dosega ovog članka, ali osnovno načelo je sljedeće: mapiranje se prvo radi s etc / hosts.allow, a zatim s / etc / hosts. poricati. Ako pravilo nije pronađeno, tražena usluga sustava nije prikazana. Da biste zaobišli posljednji zahtjev i pružili vrlo visoku razinu sigurnosti, možete dodati sljedeći unos na kraj /etc/hosts.deny:

SVI: Svi

Nakon toga možete koristiti / etc / hosts.allow za postavljanje ovog ili onog načina rada. Na primjer, datoteka / etc / hosts. Dozvola koju sam koristio prilikom pisanja ovog članka sadržavala je sljedeće retke:

Lockd: 192.168.1.0/255.255.255.0 mountd: 192.168.1.0/255.255.255.0 Portmap: 192.168.1.0/255.255.255.0 rquotad: 192.168.1.0/255.255.255.0 statd: 192.168.1.0/255.255.255.0

To omogućuje određenu vrstu pristupa čvorovima prije nego što se odobri pristup na razini aplikacije. Na Linuxu, pristup na razini aplikacije kontrolira /etc / datoteka za izvoz. Sastoji se od zapisa u sljedećem formatu:

Izvezeni čvor imenika (prostor) | mreža (opcije)

"Izvezeni imenik" je direktorij za koji je nfsd demonu dopušteno obraditi zahtjeve. "Host | mreža" je čvor ili mreža koja ima pristup izvezenom datotečnom sustavu, a "opcije" definiraju ograničenja koja nfsd demon postavlja na korištenje ovog zajedničkog resursa - pristup samo za čitanje ili mapiranje korisničkog id-a...

U sljedećem primjeru, cijeloj domeni mcwrite.net dat je pristup samo za čitanje na /home/mcwrite.net:

/home/mcwrite.net * .mcwrite.net (ro)

Više primjera možete pronaći na stranici priručnika za izvoz.

NFS SIGURNOST U SOLARISU

Na Solarisu, mogućnost pružanja NFS pristupa slična je Linuxu, ali u ovom slučaju ograničenja se postavljaju pomoću specifičnih parametara u naredbi za dijeljenje s prekidačem -o. Sljedeći primjer pokazuje kako omogućiti montiranje /export/mcwrite.net samo za čitanje na bilo kojem hostu u domeni mcwrite.net:

#share -F nfs -o ro = .mcwrite.net / export / mcwrite.net

Man stranica za share_nfs detaljno opisuje kako dodijeliti pristup korištenjem kontrolnih lista na Solarisu.

Internet resursi

NFS i RPC nisu bez rupa. Općenito, NFS se ne smije koristiti na Internetu. Vatrozidovi ne bi trebali biti "rupe" pružanjem bilo kakvog NFS pristupa. Pripazite na sve RPC i NFS zakrpe koje se pojavljuju, a brojni izvori sigurnosnih informacija mogu vam pomoći. Dva najpopularnija izvora su Bugtraq i CERT:

Prvi možete redovito pregledavati u potrazi za potrebnim informacijama ili se pretplatiti na periodični newsletter. Drugi pruža, možda, ne tako brze, u usporedbi s drugima, informacije, ali u prilično cjelovitom obimu i bez trunke senzacionalizma svojstvenog nekim stranicama posvećenim informacijskoj sigurnosti.

Evo, što je sljedeće? Kako mogu gledati filmove i slušati preuzete glazbene datoteke? Trebate li ih stvarno snimiti na diskove i na taj način prenijeti na računalo s GUI-jem? Ili ih morate kopirati preko sporog SFTP-a? Ne! NFS dolazi u pomoć! Ne, ovo nije serija trkaćih igara, već mrežni datotečni sustav.
Mrežni datotečni sustav (NFS) je mrežni datotečni sustav koji korisnicima omogućuje pristup datotekama i direktorijima koji se nalaze na udaljenim računalima kao da su datoteke i direktoriji lokalni. Glavna prednost ovakvog sustava je što pojedine radne stanice mogu koristiti manje vlastitog prostora na disku, budući da se zajednički podaci pohranjuju na zasebnom stroju i dostupni su drugim strojevima na mreži. NFS je klijent/poslužiteljska aplikacija. Odnosno, NFS klijent mora biti instaliran na sustavu korisnika, a NFS poslužitelj na računalima koja im osiguravaju prostor na disku.

Instalacija i konfiguracija NFS poslužitelja (192.168.1.2)

1. Instalirajte. Nakon povezivanja putem SSH-a na računalo od strane poslužitelja, ili jednostavno u njegovoj konzoli, unesite:

Sudo apt-get install nfs-kernel-server nfs-common portmap

Time će se instalirati NFS poslužitelj kao i potrebni paket mape portova.

2. Konfiguriranje. Za konfiguriranje popisa direktorija koje želimo otvoriti i popisa kojima ih želimo otvoriti, uredite datoteku / etc / izvozi :

Sudo nano / etc / izvozi / podaci 192.168.1.1/24 (rw, no_root_squash, async)

U gornjem primjeru otvorili smo direktorij na poslužitelju / podaci i njegove poddirektorije za zajedničko korištenje od strane svih računala s IP-om: 192.168.1.1 - 192.168.1.255 s pravima čitanja i pisanja.

Još jedan primjer:

/ home / serg / 192.168.1.34 (ro, async)

Ovaj primjer čini početni direktorij korisničkog serga dostupnim u načinu samo za čitanje za računalo s IP 192.168.1.34. Sva ostala računala na mreži neće imati pristup ovom direktoriju.

Dostupne opcije:

  • ro - dopuštenje samo za čitanje. Ne morate ga navesti, budući da je instaliran prema zadanim postavkama;
  • rw - daje klijentima pristup za pisanje;
  • no_root_squash - prema zadanim postavkama, root korisnik na klijentskom stroju neće imati pristup otvorenim direktorijima na poslužitelju. Ovom opcijom uklanjamo ovo ograničenje. Iz sigurnosnih razloga, najbolje je to ne činiti;
  • noaccess - odbija pristup navedenom direktoriju. Može biti korisno ako ste prethodno za sve korisnike mreže postavili pristup određenom direktoriju, a sada želite ograničiti pristup u poddirektoriju samo na neke korisnike.

Sada morate ponovo pokrenuti nfs-kernel-server:

Sudo /etc/init.d/nfs-kernel-server restart

Ako nakon toga želite nešto promijeniti u datoteci / etc / izvozi , zatim kako bi promjene stupile na snagu, samo pokrenite sljedeću naredbu:

Sudo exportfs -a

Sve. NFS poslužitelj je instaliran i konfiguriran. Možete otići na NFS klijent.

Instalacija i konfiguracija NFS klijenta

1. Instalacija. U terminalu računala koje će se spojiti provodimo sljedeće:

Sudo apt-get install portmap nfs-common

2. Postavljanje. Prvo, napravimo direktorij u koji će se montirati udaljena mapa:

Cd ~ mkdir podaci

Možete montirati na dva načina - svaki put ručno ili pisanjem opcija montiranja u datoteku / etc / fstab.

Metoda 1. Montaža ručno
Napravite tekstualnu datoteku na radnoj površini ili u nekoj drugoj mapi:

Nano ~ / desktop \ desktop / nfs-server-connect

Pišemo mu:

#! / bin / bash sudo mount -t nfs -o ro, soft, intr 192.168.1.2:/data ~ / data

Činimo ga izvršnim:

Chmod + x ~ / desktop \ desktop / nfs-server-connect

Sada kada se trebam spojiti na poslužitelj, pokrećem ovu skriptu u terminalu kako bih mogao unijeti lozinku za sudo.

Metoda 2. Dodavanje u / etc / fstab
Otvori / etc / fstab:

Sudo nano / etc / fstab

I dodajte redak na kraj datoteke:

192.168.1.2:/data ~ / data nfs rw, hard, intr 0 0

Pažnja! Zamijenite 192.168.1.2:/data s IP-om ili imenom poslužitelja i stazom do dijeljenog direktorija. Mogućnosti postavljanja se mogu mijenjati.

Opcija teškočvrsto veže direktorij na klijentu za poslužitelj, a ako poslužitelj otpadne, može se i vaše računalo zamrznuti. Opcija mekana, kao što mu naziv govori, nije tako kategoričan.

Nakon spremanja datoteke, možete montirati udaljenu mapu.

N FS ( Mrežni datotečni sustav) uglavnom je dizajniran za dijeljenje datoteke i mape između / Unix sustavi iz tvrtke Sun Microsystems v 1980 godina... Omogućuje vam da montirate lokalne datotečne sustave preko mreže i udaljene hostove za interakciju s njima kao da su instalirani lokalno na istom sustavu. Preko NFS, možemo postaviti dijeljenje datoteka između Unix v Linux sustav i Linux za sustav Unix.

Prednosti NFS-a

  1. NFS stvara lokalni pristup udaljenim datotekama.
  2. Koristi standardnu ​​arhitekturu kupac/poslužitelju za razmjenu datoteka između svih strojeva na temelju * NIX.
  3. Preko NFS nije nužno da oba stroja rade na istom OS.
  4. Preko NFS možemo prilagoditi rješenje centralizirano skladište.
  5. Korisnici dobivaju svoje podaci bez obzira na njihov fizički položaj.
  6. Automatski ažuriranje za nove datoteke.
  7. Novija verzija NFS podržava montažu acl, pseudo kao korijen.
  8. Može se zaštititi vatrozidi i Kerberos.

NFS usluge

Servis Sustav V-lansiran... Paket poslužitelja NFS uključuje tri alata uključena u pakete mapa portova i nfs-utils.

  1. mapa portova: prikazuje pozive upućene s drugih strojeva odgovarajućoj službi RPC(nije potrebno uz NFSv4).
  2. nfs: pretvara udaljene zahtjeve dijeljenje datoteka u upite na lokalnom datotečnom sustavu.
  3. rpc.mountd: odgovorna je ova usluga montaža i demontaža datotečni sustavi.

Osnovne konfiguracijske datoteke za NFS

  1. / etc / izvozi: njegova glavna konfiguracijska datoteka NFS, sve izvezeno datoteke i katalozi koji su definirani u ovoj datoteci i dalje odredišni NFS poslužitelj.
  2. / etc / fstab: Za montiranje NFS imenik na vašem sustavu bez ponovno podizanje sustava, moramo snimiti / etc / fstab.
  3. / etc / sysconfig / nfs: Konfiguracijska datoteka NFS kontrolirati koji port RPC i druge usluge slušanje.

Konfiguriranje i postavljanje NFS-a na Linux poslužitelj

Za prilagodbu nosača NFS trebat će nam barem dva auta Linux/Unix... U ovom vodiču koristit ćemo dva poslužitelja.

  1. NFS poslužitelj: nfsserver.example.ru s IP-om - 192.168.0.55
  2. NFS klijent: nfsclient.example.ru s IP-om - 192.168.0.60

Instalacija NFS poslužitelja i NFS klijenta

Moramo instalirati pakete NFS na naš NFS poslužitelj kao i automobilom NFS klijent... Možemo ga instalirati sa "" ( crveni šešir Linux) i instalacijski paket “ apt-dobiti” (Debian i Ubuntu).

# yum install nfs-utils nfs-utils-lib # yum install portmap (nije potrebno uz NFSv4) # apt-get install nfs-utils nfs-utils-lib

Sad trči servis na oba stroja.

# /etc/init.d/portmap start # /etc/init.d/nfs start # chkconfig --level 35 portmap on # chkconfig --level 35 nfs on

Nakon instaliranja paketa i pokretanja usluga na oba računala, moramo konfigurirati oba stroja za dijeljenje datoteka.

Postavljanje NFS poslužitelja

Prvo, postavimo poslužitelj NFS.

Postavljanje direktorija za izvoz

# mkdir / nfsshare

Sada moramo pisati na “ / etc / izvozi" i ponovno pokrenuti usluge kako bi naš imenik bio dijeljen na webu.

# vi / etc / exports / nfsshare 192.168.0.60 (rw, sync, no_root_squash)

U gornjem primjeru nalazi se imenik ispod / pod naslovom " nfsshare", Trenutno dijeli s IP klijentom" 192.168.0.60 „S privilegijama čitanje i zapisima (RW), također možete koristiti ime domaćina klijent umjesto IP u gornjem primjeru.

NFS opcije

Možemo koristiti neke druge opcije u datotekama " / etc / izvozi”Za dijeljenje datoteka izgleda ovako.

  1. ro: S ovom opcijom možemo pružiti pristup samo za čitanje na zajedničke datoteke, tj. kupac moći će samo čitati.
  2. rw: Ova opcija dopušta klijent na poslužitelj pristup za oboje za čitanje i zapisima unutar zajedničkog imenika.
  3. sinkronizirati: Sinkronizacija potvrđuje zahtjeve dijeljenog imenika tek nakon promjene bili su počinili.
  4. no_subtree_check: Ova opcija sprječava provjeru podstablo... Kada je zajednički direktorij poddirektorij većeg datotečnog sustava, NFS skenira svaki direktorij iznad njega kako bi provjerio njegova dopuštenja i pojedinosti. Onemogući provjeru podstablo može poboljšati pouzdanost NFS ali smanjiti sigurnost.
  5. no_root_squash: Ovaj izraz dopušta korijen, Spojiti u određenu mapu.

Za više opcija sa “ / etc / izvozi“, Preporuča se pročitati stranicama smjernice za izvoz.

Konfiguriranje NFS klijenta

Nakon postavljanja NFS-poslužitelj, trebamo montirati na ovom zajedničkom direktoriju ili particiji klijent poslužitelju.

Montiranje dijeljenih direktorija na NFS klijentu

Sada dalje NFS klijent, trebamo montirati ovom imeniku treba pristupiti lokalno. Da bismo to učinili, prvo moramo saznati koji su resursi dostupni na udaljenom ili NFS poslužitelju.

# showmount -e 192.168.0.55 Popis izvoza za 192.168.0.55: / nfsshare 192.168.0.60

Montiranje dostupnog direktorija u NFS

Da bi montirati Općenito NFS direktoriju, možemo koristiti sljedeću naredbu mount.

# mount -t nfs 192.168.0.55:/nfsshare / mnt / nfsshare

Gornja naredba će postaviti zajednički direktorij na " / mnt / nfsshare»Na poslužitelju klijenta. To možete provjeriti sljedećom naredbom.

# montirati | grep nfs sunrpc on / var / lib / nfs / rpc_pipefs tip rpc_pipefs (rw) nfsd on / proc / fs / nfsd tip nfsd (rw) 192.168.0.55:/nfsshare on / mnt.1r.

Naredba iznad mount se montira NFS zajednički direktorij na NFS klijent privremeno za montiranje NFS direktorija konstantno na vašem sustavu bez obzira na ponovno podizanje sustava, moramo unijeti unos u " / etc / fstab“.

# vi / etc / fstab

Dodajte sljedeći novi redak kao što je prikazano u nastavku.

192.168.0.55:/nfsshare / mnt nfs zadano 0 0

Testiranje ponašanja instalacije NFS-a

Možemo testirati naše instaliranje NFS poslužitelja stvaranjem test datoteku na strani poslužitelja i provjerite njegovu prisutnost na NFS klijent stranu ili obrnuto.

nfsserver na strani poslužitelja

Stvorili smo novu tekstualnu datoteku pod nazivom “ nfstest.txt„U ovom općem imeniku.

# cat> /nfsshare/nfstest.txt Ovo je testna datoteka za testiranje rada postavljanja NFS poslužitelja.

Klijentska strana nfsclient

Promijenite u zajednički imenik klijent poslužitelj i pronaći ćete dijeljenu datoteku bez ikakvog ručnog ažuriranja ili usluge ponovnog pokretanja.

# ll / mnt / nfsshare ukupno 4 -rw-r - r-- 1 root root 61 21. rujna 21:44 nfstest.txt [e-mail zaštićen]~] # cat /mnt/nfsshare/nfstest.txt Ovo je testna datoteka za testiranje rada postavljanja NFS poslužitelja.

Uklanjanje NFS nosača

Ako želiš odmontirati ovaj zajednički direktorij s poslužitelja nakon što završite s dijeljenjem datoteka možete jednostavno odmontirati ovaj određeni direktorij pomoću naredbe " razmontirati“. Pogledajte ovaj primjer u nastavku.

[e-mail zaštićen]~] # umount / mnt / nfsshare

Možete vidjeti da je mount uklonjen na datotečnom sustavu.

# df -h -F nfs

Vidjet ćete da ti zajednički imenici više nisu dostupni.

Važne naredbe za NFS

Neke od važnijih naredbi za NFS .

  1. showmount -e: Dostupne emisije zajedničkih objekata na lokalnom računalu
  2. showmount -e : Popis dostupnih zajedničkih objekata na daljinski poslužitelju
  3. showmount -d: Popis svih poddirektorij
  4. exportfs -v: Prikazuje popis dijeljenih datoteke i opcije na serveru
  5. exportfs -a: Izvezite sve dostupne objekte navedene u / etc / izvozi, ili ime
  6. exportfs -u: Ponovni izvoz svih dostupnih objekata navedenih u / etc / izvozi, ili ime
  7. exportfs -r: Osvježite popis poslužitelja nakon promjene / etc / izvozi

Sve je o montirati nfs trenutno, ako ste zainteresirani, možete pročitati vodič o tome. Ostavite svoje

Bit problema: Samsung je svojedobno počeo proizvoditi televizore koji podržavaju DLNA tehnologiju koju su razvili vodeći proizvođači kućanskih aparata po principu "digitalnog doma". Ova tehnologija omogućila je integraciju televizora u lokalnu kućnu mrežu, što je omogućilo razmjenu medijskih sadržaja između TV-a i računala, a posebno gledanje filmova na TV-u pohranjenih na računalu putem lokalne mreže ili WiFi-a. Međutim, multimedijsko rješenje koje je Samsung predložio za implementaciju ove tehnologije, blago rečeno, ostavlja mnogo željenog. Dakle, filmovi koji se gledaju putem mreže u ugrađenom TV media playeru, u većini slučajeva, ne premotavaju se. Osim toga, kod gledanja filmova putem mreže, za razliku od gledanja filmova s ​​USB flash pogona ili prijenosnog tvrdog diska spojenog na TV putem USB priključka, funkcija kontinuirane reprodukcije (plava tipka na daljinskom upravljaču) nije podržana. Konačno, sama potreba za pokretanjem Samsung PC Share Manger svaki put na računalu i ispravkama nakon svakog brisanja ili dodavanja video datoteka na disk pomalo je neugodna.

Omogućavanje mrežnog protokola NFS (Network File System) pomoći će nam ne samo da otklonimo postojeće probleme s gledanjem filmova na TV-u na lokalnoj mreži, već i da povećamo brzinu prijenosa podataka (što može biti važan faktor pri gledanju velikih HD filmova ). Nakon što izvršimo potrebnu instalaciju i konfiguraciju NFS poslužitelja, naše računalo će TV percipirati kao da smo na TV spojili prijenosni tvrdi disk preko USB priključka (jedina razlika će biti u brzini razmjene podataka, tj. određena maksimalnom propusnošću vaše lokalne mreže ili WiFi veze).

NFS je mrežni protokol poslužitelj-klijent. Imat ćemo računalo kao server, televizor kao klijenta. Već smo raspravljali o uključivanju NFS podrške na TV-u u prethodnom odjeljku tijekom postavljanja i instalacije aplikacije SamyGO Auto na TV-u. Ako se sjećate, u postavkama SamyGO Auto konfiguratora označili smo okvir nasuprot odjeljka NFS i također registrirali IP adresu NFS poslužitelja (192.168.xxx.xxx), odnosno adresu našeg računala:
U ovom ćemo odjeljku pogledati instalaciju i konfiguraciju NFS poslužitelja na našem računalu. Na Internetu postoji mnogo različitih programa za instalaciju i konfiguraciju NFS poslužitelja. Koristit ćemo aplikaciju haneWIN NFS poslužitelj(to je shareware i nakon određenog vremenskog razdoblja zahtijeva registraciju serijskog broja, ali, kao što razumijete, na Internetu uvijek postoje obrtnici koji mogu riješiti ovaj problem). Pa da počnemo:

Napomena: Ponekad vatrozid sustava Windows ili ugrađeni antivirusni vatrozid mogu blokirati rad NFS poslužitelja. Što god se to dogodilo, u Windows vatrozidu (ili ako imate drugi vatrozid, onda u njemu) trebate dopustiti pristup mreži za dvije aplikacije: nfsd.exe i pmapd.exe (nalaze se u instalacijskoj mapi poslužitelja C: \ Programske datoteke \ nfsd).


Konačno, uključite TV i provjerite je li naš NFS poslužitelj pokrenut i radi. U prethodnom odjeljku, kada smo instalirali program SamyGO Auto na TV, u njemu smo naznačili parametar za automatsko pokretanje. Stoga, kada uključite TV, on bi automatski trebao detektirati naš NFS (to se ne događa odmah, već otprilike 20 sekundi nakon uključivanja TV-a). Dakle, uključite TV, zatim idite na media player i tamo vidite novi uređaj - NFS Server.

Ako primijetite, pored NFS-a nalazi se ikona USB veze. To je ono o čemu smo ranije govorili, sada će vaš TV percipirati računalo kao tvrdi disk ili USB flash pogon. Možete otići u odjeljak Film i uživati ​​u gledanju filmova putem mreže. Više ne morate pokretati Samsung PC Share Manger na svom računalu. Samo dodajte film u mapu filmova na vašem računalu i on će se automatski "učitati" u media player vašeg TV-a.

U sljedećem odjeljku ćemo govoriti o tome kako snimiti programe s TV-a na USB flash pogon, ili, budući da sada imamo NFS, u mapu s filmovima na računalu.


Mrežni datotečni sustav (NFS)- protokol mrežnog pristupa datotečnim sustavima, omogućuje povezivanje udaljenih datotečnih sustava.
Izvorno razvijen od strane Sun Microsystemsa 1984. godine, temelji se na Sun RPC: Remote Procedure Call. NFS je neovisan o tipovima datotečnog sustava poslužitelja i klijenta. Postoji mnogo implementacija NFS poslužitelja i klijenata za različite operacijske sustave. Trenutno se koristi NFS v.4, koji podržava različite načine provjere autentičnosti (posebno Kerberos i LIPKEY koji koriste RPCSEC GSS protokol) i liste kontrole pristupa (i tipovi POSIX i Windows).
NFS klijentima pruža transparentan pristup datotekama i datotečnom sustavu poslužitelja. Za razliku od FTP-a, NFS pristupa samo dijelovima datoteke kojima je proces pristupio, a njegova glavna prednost je što taj pristup čini transparentnim. Zahvaljujući tome, svaka klijentska aplikacija koja može raditi s lokalnom datotekom može jednako dobro raditi i s NFS datotekom, bez promjene samog programa.
NFS klijenti pristupaju datotekama na NFS poslužitelju slanjem RPC zahtjeva poslužitelju. To se može implementirati korištenjem normalnih korisničkih procesa – naime, NFS klijent može biti korisnički proces koji upućuje specifične RPC pozive poslužitelju, što također može biti korisnički proces.

Verzije
NFSv1 je bio za internu upotrebu samo u eksperimentalne svrhe. Detalji implementacije definirani su u RFC 1094.
NFSv2 (RFC 1094, ožujak 1989.) izvorno je u potpunosti radio preko UDP-a.
NFSv3 (RFC 1813, lipanj 1995.). Deskriptori datoteka u verziji 2 su niz fiksne veličine od 32 bajta. U verziji 3, to je niz varijabilne veličine do 64 bajta. Niz promjenjive duljine u XDR-u definiran je 4-bajtnim brojačem nakon kojeg slijede stvarni bajtovi. To smanjuje veličinu deskriptora datoteke na implementacijama kao što je UNIX, koji zahtijevaju samo oko 12 bajtova, ali omogućuje implementacijama koje nisu Unix da razmjenjuju dodatne informacije.
Verzija 2 ograničava broj bajtova po RPC-u za READ ili WRITE na 8192 bajta. Ovo ograničenje ne vrijedi u verziji 3, što zauzvrat znači da će korištenjem UDP-a ograničenje biti samo u veličini IP datagrama (65535 bajtova). To omogućuje korištenje velikih paketa prilikom čitanja i pisanja na brzim mrežama.
Veličine datoteka i početni pomak bajta za procedure READ i WRITE počele su koristiti 64-bitno adresiranje umjesto 32-bitnog, što omogućuje rad s većim datotekama.
Atributi datoteke vraćaju se u svakom pozivu koji može utjecati na atribute.
Upisi (WRITE) mogu biti asinkroni, dok su u verziji 2 trebali biti sinkroni.
Jedna procedura je uklonjena (STATFS) i dodano sedam: ACCESS (provjera dopuštenja datoteka), MKNOD (kreiranje posebne Unix datoteke), READDIRPLUS (vraća nazive datoteka u direktoriju zajedno s njihovim atributima), FSINFO (vraća statističke podatke o datotečni sustav ), FSSTAT (vraća podatke o dinamičkom datotečnom sustavu), PATHCONF (vraća informacije o datoteci POSIX.1) i COMMIT (prenosi prethodno napravljeno asinkrono upisivanje u trajnu pohranu).
U vrijeme uvođenja verzije 3, programeri su počeli više koristiti TCP kao transportni protokol. Iako su neki programeri već koristili TCP za NFSv2, Sun Microsystems je dodao TCP podršku za NFS verziju 3. To je učinilo korištenje NFS-a putem Interneta izvedivnijim.
NFSv4 (RFC 3010, prosinac 2000., RFC 3530, revidiran u travnju 2003.), pod utjecajem AFS-a i CIFS-a, uključio je poboljšanja performansi, visoku sigurnost i pojavio se kao potpuni protokol. Verzija 4 bila je prva verzija razvijena u suradnji s Internet Engineering Task Force (IETF) nakon što je Sun Microsystems prenio razvoj NFS protokola. NFS v4.1 je odobrio IESG u siječnju 2010. i dobio je RFC 5661. Važna inovacija u verziji 4.1 je pNFS specifikacija – Parallel NFS, mehanizam za paralelni NFS klijentski pristup podacima s više distribuiranih NFS poslužitelja. Prisutnost takvog mehanizma u standardu mrežnog datotečnog sustava pomoći će u izgradnji distribuiranih "oblačnih" skladišta i informacijskih sustava.

NFS struktura
NFS struktura ima tri komponente na različitim razinama:
Aplikacijski sloj (sam NFS) su pozivi udaljenih procedura (rpc) koji izvode potrebne operacije nad datotekama i direktorijima na strani poslužitelja.
Funkcije sloja prezentacije obavlja XDR (eXternal Data Representation) protokol, koji je standard za apstrakciju podataka na više platformi. Protokol XDR opisuje unificirani, kanonski oblik prikaza podataka koji ne ovisi o arhitekturi računalnog sustava. Prilikom prijenosa paketa, RPC klijent pretvara lokalne podatke u kanonski oblik, a poslužitelj radi suprotno.
Usluga Remote Procedure Call (RPC) koja omogućuje klijentu da zatraži udaljene procedure i izvrši ih na poslužitelju, funkcija je na razini sesije. Povezivanje mrežnih resursa
Postupak povezivanja mrežnog resursa pomoću NFS-a naziva se "izvoz". Klijent može zatražiti od poslužitelja popis izvezenih resursa koje predstavlja. Sam NFS poslužitelj ne emitira popis svojih izvezenih resursa.
Ovisno o navedenim opcijama, izvezeni resurs može se montirati (priložiti) "samo za čitanje", možete definirati popis hostova koji se smiju montirati, specificirati korištenje sigurnog RPC-a (secureRPC) itd. Jedna od opcija određuje način montiranja: "tvrdo" (tvrdo) ili "meko" (meko).
S "tvrdim" montiranjem, klijent će pokušati montirati datotečni sustav pod svaku cijenu. Ako poslužitelj ne radi, to će dovesti do činjenice da se cijela NFS usluga zamrzava: procesi koji pristupaju datotečnom sustavu preći će u stanje čekanja na dovršetak RPC zahtjeva. Sa stajališta korisničkih procesa, datotečni sustav će se pojaviti kao vrlo spor lokalni disk. Kada se poslužitelj vrati na mrežu, NFS usluga će nastaviti funkcionirati.
Kod mekog montiranja, NFS klijent će se nekoliko puta pokušati povezati s poslužiteljem. Ako poslužitelj ne odgovori, sustav izdaje poruku o pogrešci i prestaje pokušavati montirati. Sa stajališta logike operacija s datotekama, kada poslužitelj ne uspije, meki mount emulira kvar lokalnog diska.
Izbor načina rada ovisi o situaciji. Ako se podaci na klijentu i poslužitelju moraju sinkronizirati u slučaju privremenog prekida usluge, tada je poželjniji "tvrdi" mount. Ovaj način rada je također nezamjenjiv u slučajevima kada montirani datotečni sustavi sadrže programe i datoteke koji su od vitalnog značaja za rad klijenta, posebno za strojeve bez diska. U drugim slučajevima, posebno kada su u pitanju sustavi samo za čitanje, prikladniji je način mekog montiranja.

Dijeljenje mješovite mreže
NFS je idealan za mreže temeljene na UNIX-u jer se isporučuje s većinom verzija operativnog sustava. Štoviše, podrška za NFS implementirana je na razini UNIX kernela. Korištenje NFS-a na Windows klijentskim računalima stvara određene probleme povezane s potrebom instaliranja specijaliziranog i prilično skupog klijentskog softvera. Čini se da je u takvim mrežama poželjna upotreba alata za dijeljenje resursa temeljenih na SMB / CIFS, posebice softvera Samba.

Standardi
RFC 1094 NFS: Specifikacija protokola mrežnog datotečnog sustava] (ožujak 1989.)
Specifikacija protokola RFC 1813 NFS verzije 3] (lipanj 1995.)
RFC 2224 NFS URL shema
RFC 2339 Ugovor između Internet društva, IETF-a i Sun Microsystems, Inc. u pitanju NFS V.4 protokola
RFC 2623 NFS verzija 2 i verzija 3 Sigurnosni problemi i upotreba RPCSEC_GSS i Kerberos V5 NFS protokolom
RFC 2624 NFS verzija 4 Razmatranja o dizajnu
Protokol RFC 3010 NFS verzija 4
RFC 3530 Protokol mrežnog datotečnog sustava (NFS) verzija 4
RFC 5661 Mrežni datotečni sustav (NFS) Verzija 4 Minor Verzija 1 Protokol

Korišteni izvori
1.ru.wikipedia.org
2.ru.science.wikia.com
3. phone16.ru
4.4stud.info
5.yandex.ru
6.gogle.com

Vrhunski povezani članci