Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • OS
  • Serviciu de fișiere de rețea. Cum a început totul

Serviciu de fișiere de rețea. Cum a început totul

Protocolul Network File Server (NFS) este un standard deschis pentru a oferi utilizatorilor acces de la distanță la sistemele de fișiere. Sistemele sale de fișiere centralizate facilitează efectuarea sarcinilor de zi cu zi, cum ar fi backup-urile sau scanarea virușilor, iar partițiile consolidate ale discurilor sunt mai ușor de întreținut decât multe dintre cele mici și distribuite.

Pe lângă faptul că oferă capabilități de stocare centralizată, NFS s-a dovedit a fi foarte util pentru alte aplicații, inclusiv pentru clienți fără disc și thin, clustering de rețea și middleware colaborativ.

O mai bună înțelegere atât a protocolului în sine, cât și a detaliilor implementării acestuia va face mai ușor să faceți față sarcinilor practice. Acest articol se concentrează pe NFS și constă din două părți logice: mai întâi, descrie protocolul în sine și obiectivele stabilite în timpul dezvoltării sale, iar apoi implementarea NFS pe Solaris și UNIX.

UNDE A ÎNCEPUT TOTUL CU...

NFS a fost dezvoltat de Sun Microsystems și a apărut pe Internet în 1989 ca RFC 1094 sub titlul Network File System Protocol Specification (NFS). Este interesant de observat că strategia Novell la acea vreme era de a îmbunătăți și mai mult serviciile de fișiere. Până de curând, înainte ca mișcarea open source să capete amploare, Sun nu a fost dornic să dezvăluie secretele soluțiilor sale de rețea, dar chiar și atunci, compania a înțeles importanța interoperabilității cu alte sisteme.

RFC 1094 conținea două specificații originale. La momentul publicării sale, Sun dezvolta deja următoarea, a treia versiune a specificației, care este stabilită în specificația protocolului RFC 1813 NFS Version 3. Versiunea 4 a acestui protocol este definită în Protocolul RFC 3010 NFS Version 4.

NFS este utilizat pe scară largă pe toate tipurile de gazde UNIX, rețele Microsoft și Novell și soluții IBM, cum ar fi AS400 și OS / 390. Necunoscut în afara regnului rețelelor, NFS este probabil cel mai utilizat sistem de fișiere de rețea independent de platformă.

PROFESORUL ERA UNIX

Deși NFS este un sistem independent de platformă, UNIX este strămoșul său. Cu alte cuvinte, ierarhia arhitecturii și metodele de accesare a fișierelor, inclusiv structura sistemului de fișiere, modul de identificare a utilizatorilor și a grupurilor și modul de lucru cu fișierele, sunt toate foarte asemănătoare cu sistemul de fișiere UNIX. De exemplu, sistemul de fișiere NFS, fiind identic ca structură cu sistemul de fișiere UNIX, este montat direct pe acesta. Când lucrați cu NFS pe alte sisteme de operare, acreditările utilizatorului și permisiunile de fișiere sunt mapate.

NFS

NFS este conceput pentru a fi utilizat într-o arhitectură client-server. Clientul accesează sistemul de fișiere exportat de serverul NFS printr-un punct de montare pe client. Acest acces este de obicei transparent pentru aplicația client.

Spre deosebire de multe sisteme client/server, NFS utilizează Remote Procedure Calls (RPC) pentru a face schimb de informații. De obicei, clientul stabilește o conexiune la un port predeterminat și apoi, în conformitate cu specificul protocolului, trimite o solicitare pentru a efectua o anumită acțiune. În cazul unui apel de procedură la distanță, clientul creează un apel de procedură și apoi îl trimite către server pentru execuție. O descriere detaliată a NFS va fi prezentată mai jos.

De exemplu, să presupunem că un client a montat directorul usr2 pe sistemul de fișiere rădăcină local:

/ root / usr2 / -> remote: / root / usr /

Dacă o aplicație client are nevoie de resursele acestui director, pur și simplu trimite o cerere către sistemul de operare pentru ea și pentru numele fișierului, iar acesta din urmă acordă acces prin clientul NFS. Ca exemplu, luați în considerare un simplu CD de comandă UNIX, care „nu știe nimic” despre protocoalele de rețea. Comanda

Cd / root / usr2 /

va plasa directorul de lucru pe sistemul de fișiere la distanță, „fără să știe măcar” (nu are nevoie nici utilizatorul de asta) că sistemul de fișiere este la distanță.

După primirea solicitării, serverul NFS va verifica dacă utilizatorul dat are dreptul de a efectua acțiunea solicitată și, dacă răspunsul este pozitiv, o va efectua.

SĂ NE APROAPEM

Din perspectiva unui client, procesul de montare local a unui sistem de fișiere la distanță folosind NFS implică mai mulți pași. După cum sa menționat, clientul NFS va emite un apel de procedură de la distanță pentru a fi executat pe server. Rețineți că pe UNIX, clientul este un singur program (comandă mount), în timp ce serverul este implementat de fapt ca mai multe programe cu următorul set minim: port mapper, mount daemon și server NFS...

Inițial, comanda de montare client interacționează cu serviciul de traducere a portului al serverului, care ascultă cererile pe portul 111. Majoritatea implementărilor de montare client acceptă versiuni multiple de NFS, ceea ce crește probabilitatea de a găsi o versiune de protocol comun între client și server. Căutarea se efectuează începând cu cea mai veche versiune, astfel încât atunci când se găsește una partajată, aceasta va deveni automat cea mai nouă versiune suportată de client și server.

(Materialul prezentat este axat pe cea de-a treia versiune a NFS, deoarece este cea mai răspândită în acest moment. A patra versiune nu este încă susținută de majoritatea implementărilor.)

Serviciul de traducere porturi al serverului răspunde solicitărilor pe baza protocolului acceptat și a portului pe care rulează demonul de montare. Programul mount client se conectează mai întâi la demonul de montare al serverului și apoi RPC îi trimite comanda mount. Dacă această procedură are succes, aplicația client se conectează la serverul NFS (port 2049) și, folosind una dintre cele 20 de proceduri la distanță definite în RFC 1813 și enumerate în Tabelul 1, obține acces la sistemul de fișiere la distanță.

Semnificația majorității comenzilor este intuitivă și nu provoacă dificultăți administratorilor de sistem. Lista tcdump de mai jos ilustrează comanda de citire generată de comanda UNIX cat pentru a citi un fișier numit test-file:

10:30: 16.012010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 lookup fh 32.0 / 224145 "test-file" 10: 30: 16.012010 eth0> 192.168.1.254. 3476097947> 192.168.1.252.2049: 144 căutare fh 32,0 / 224145 "test-fișier" 10: 30: 16.012729 eth0 192.168.1.254.3476097947: răspuns ok 128 căutare fh 32,0 / 224307 (DF) 10:30: 16.012729 eth0 192.168. 1.254.3476097947: răspuns ok 128 căutare fh 32.0 / 224307 (DF) 10: 30: 16.013124 eth0> 192.168.1.254. 3492875163> 192.168.1.252.2049: 140 citiți fh 32.0 / 224307 4096 octeți @ 0 10: 30: 16.013124 eth0> 192.168.1.254 3492875163> 192.168.1.252.2049: 140 citește fh 32.0 / 224307 4096 octeți @ 0 10: 30: 16.013650 eth0 192.168.1.254.3492875163: răspuns ok 108 citire (DF) 10: 30: 16.013650 eth0 192.168.1.254.3492875163: răspuns ok 108 citire (DF)

NFS a fost implementat în mod tradițional prin UDP. Cu toate acestea, unele versiuni ale NFS acceptă TCP (suportul TCP este definit în specificația protocolului). Principalul avantaj al TCP este un mecanism de retransmisie mai eficient în rețelele nesigure. (În cazul UDP, dacă apare o eroare, atunci mesajul RPC complet, constând din mai multe pachete UDP, este retrimis. Dacă există TCP, este retrimis doar piesa ruptă.)

ACCES ÎN NFS

Implementările NFS acceptă în general patru moduri de acordare a drepturilor de acces: prin atribute utilizator/fișier, la nivel de resurse partajate, la nivel de nod principal și o combinație de alte metode de acces.

Prima metodă se bazează pe sistemul de permisiuni pentru fișiere încorporat UNIX pentru un utilizator individual sau un grup. Pentru a simplifica întreținerea, identitățile utilizatorilor și ale grupului ar trebui să fie consecvente pe toți clienții și serverele NFS. Securitatea trebuie luată în considerare cu atenție: NFS poate acorda din neatenție acces la fișiere care nu a fost intenționat atunci când au fost create.

Accesul la resurse partajate vă permite să restricționați drepturile pentru a permite numai acțiuni specifice, indiferent de proprietatea fișierului sau privilegiile UNIX. De exemplu, lucrul cu sistemul de fișiere NFS poate fi limitat la doar citire. Majoritatea implementărilor NFS vă permit să restricționați și mai mult accesul la resurse partajate la anumiți utilizatori și/sau grupuri. De exemplu, grupului „Resurse umane” i se permite să vizualizeze informații și nimic mai mult.

Accesul la nodul principal permite ca sistemul de fișiere să fie montat pe anumite noduri, ceea ce este în general o idee bună, deoarece sistemele de fișiere pot fi create cu ușurință pe orice nod compatibil NFS.

Accesul combinat combină pur și simplu tipurile de mai sus (de exemplu, acces la nivelul resurselor partajate cu acces acordat unui anumit utilizator) sau permite utilizatorilor să lucreze cu NFS doar dintr-un anumit nod.

NFS ÎN STIL PINGUIN

Materialul legat de Linux prezentat este bazat pe Red Hat 6.2 cu un nucleu 2.4.9 care este livrat cu pachetul 0.1.6 nfs-utils. Există versiuni mai noi: la momentul scrierii acestui articol, cea mai recentă actualizare a pachetului nfs-utils este 0.3.1. Poate fi descărcat de la:.

Pachetul nfs-utils conține următoarele fișiere binare: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount și statd.

Din păcate, uneori suportul NFS este confuz pentru administratorii Linux, deoarece disponibilitatea acestei sau acelea funcționalități depinde direct de numerele de versiune atât a nucleului, cât și a pachetului nfs-utils. Din fericire, situația în acest domeniu se îmbunătățește în prezent: cele mai recente kituri de distribuție includ cele mai recente versiuni ale ambelor. Pentru versiunile anterioare, Secțiunea 2.4 din NFS-HOWTO oferă o listă completă de funcționalități de sistem disponibile pentru fiecare combinație de nucleu și pachet nfs-utils. Dezvoltatorii mențin compatibilitatea anterioară a pachetului cu versiunile anterioare, cu un accent puternic pe securitate și remedieri de erori.

Suportul NFS ar trebui să fie inițiat în momentul compilării nucleului. Dacă este necesar, ar trebui adăugată și capacitatea NFS versiunea 3 la nucleu.

Pentru distribuțiile care acceptă linuxconf, este ușor să configurați serviciile NFS atât pentru clienți, cât și pentru servere. Cu toate acestea, modalitatea rapidă de a instala NFS folosind linuxconf nu oferă informații despre fișierele care au fost create sau editate, ceea ce este foarte important să cunoască un administrator pentru a înțelege situația în cazul unei defecțiuni a sistemului. Arhitectura NFS a Linux este strâns legată de BSD, astfel încât fișierele și programele de asistență necesare sunt ușor de găsit pentru administratorii cu BSD, Sun OS 2.5 sau versiuni anterioare de NFS.

Fișierul / etc / exportă, ca și în versiunile anterioare BSD, definește sistemele de fișiere pe care clienții NFS au voie să le acceseze. În plus, conține o serie de caracteristici suplimentare legate de probleme de management și securitate, oferind administratorului un mijloc de reglare fină. Este un fișier text format din intrări, rânduri goale sau comentate (comentariile încep cu #).

Să presupunem că vrem să oferim clienților acces numai în citire la directorul / home de pe nodul Lefty. Următoarea intrare va corespunde acestui lucru în / etc / exporturi:

/ home (ro)

Aici trebuie să spunem sistemului ce directoare vom face disponibile folosind demonul de montare rpc.mountd:

# exportfs -r exportfs: Nu este specificat niciun nume de gazdă în / home (ro), tastați * (ro) pentru a evita avertismentul #

Când este rulată, comanda exportfs afișează un avertisment că / etc / exports nu restricționează accesul la un anumit nod și creează o intrare corespunzătoare în / var / lib / nfs / etab din / etc / exports care spune ce resurse pot fi vizualizate cu cat :

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

Alte opțiuni, enumerate în etab, includ valorile implicite utilizate de NFS. Detaliile vor fi descrise mai jos. Pentru a acorda acces la directorul / home, trebuie pornite serviciile NFS corespunzătoare:

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

În orice moment după pornirea demonului de montare (rpc.mountd), puteți afla despre fișierele individuale disponibile pentru ieșire, uitându-vă la conținutul fișierului / proc / fs / nfs / exports:

# cat / proc / fs / nfs / exporturi # Versiunea 1.0 # Path Client (Flags) # IP-uri / home 192.168.1.252 (ro, root_squash, async, wdelay) # 192.168.1.252 #

Același lucru poate fi vizualizat folosind comanda showmount cu parametrul -e:

# showmount -e Export list for lefty: / home (toată lumea) #

Rulând puțin înaintea mea, comanda showmount poate fi folosită și pentru a identifica toate sistemele de fișiere montate sau, cu alte cuvinte, pentru a afla care noduri sunt clienți NFS pentru sistemul care rulează comanda showmount. Comanda showmount -a va lista toate punctele de montare client:

# showmount -a Toate punctele de montare pe stânga: 192.168.1.252:/home #

După cum sa menționat mai sus, majoritatea implementărilor NFS acceptă diferite versiuni ale acestui protocol. Implementarea Linux vă permite să limitați lista de versiuni NFS de rulat prin specificarea comutatorului -N pentru demonul de montare. De exemplu, pentru a porni NFS versiunea 3 și numai versiunea 3, introduceți următoarea comandă:

# rpc.mountd -N 1 -N 2

Utilizatorii pretențioși pot găsi incomod faptul că demonul NFS (rpc.nfsd) pe Linux așteaptă pachetele versiunii 1 și 2, deși acest lucru realizează efectul dorit de a nu accepta protocolul corespunzător. Să sperăm că dezvoltatorii versiunilor următoare vor face corecțiile necesare și vor putea obține o mai mare consistență a componentelor pachetului în raport cu diferite versiuni ale protocolului.

„ÎNOT CU PINGUINI”

Accesul la Lefty configurat mai sus, un sistem de fișiere exportat NFS bazat pe Linux, depinde de sistemul de operare client. Stilul de instalare pentru majoritatea sistemelor de operare UNIX este cel al sistemelor Sun OS și BSD originale, sau al celui mai nou Solaris. Deoarece acest articol se concentrează atât pe sistemele Linux, cât și pe Solaris, să ne uităm la configurația clientului Solaris 2.6 în ceea ce privește stabilirea unei conexiuni la versiunea Linux a NFS descrisă mai sus.

Caracteristicile moștenite de la Solaris 2.6 facilitează configurarea acestuia pentru a acționa ca client NFS. Aceasta necesită o singură comandă:

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

Presupunând că comanda de montare anterioară a avut succes, atunci comanda de montare fără parametri va scoate următoarele:

# mount / on / dev / dsk / c0t0d0s0 citiți / scrieți / setuid / fișierele mari pe Luni Sep 3 10:17:56 2001 ... ... / tmp / tmp2 pe 192.168.1.254:/home citire / scriere / la distanță pe Luni 3 sept 23:19:25 2001

Să analizăm ieșirea tcpdump de la nodul Lefty după ce utilizatorul a introdus comanda ls / tmp / tmp2 pe nodul Sunny:

# tcpdump gazdă lefty și gazdă sunny -s512 06: 07: 43.490583 sunny.2191983953> lefty.mcwrite.n.nfs: 128 getattr fh Necunoscut / 1 (DF) 06: 07: 43.490583 lefty.n.n.nfs. 2191983953: raspuns ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06: 07: 43.491397 sunny.2191983954> lefty.mcwrite.mcwrite.n.n.: 000001000 (DF) 0x000001000 (DF) 06: 07: 43.491397 sunny.2191983954> lefty.mcwrite.mcwrite.n. mcwrite.n.nfs> sunny.2191983954: răspuns ok 120 acces c0001 (DF) 06: 07: 43.492296 sunny.2191983955> lefty.mcwrite.n.nfs: 152 readplus @DF84000707 06: 07: 43.492417 lefty.mcwrite.n.nfs> sunny.2191983955: răspuns ok 1000 readdirplus (DF)

Vedem că Sunny cere lui ls un descriptor de fișier (fh), la care Lefty răspunde cu OK și returnează structura directorului. Sunny verifică apoi permisiunea pentru dreptul la conținutul directorului (acces 132 fh) și primește un răspuns de permisiune de la Lefty. Sunny citește apoi întregul conținut al directorului folosind rutina readdirplus. Apelurile de procedură de la distanță sunt descrise în RFC 1813 și ne-am referit la începutul acestui articol.

Deși secvența de comandă pentru accesarea sistemelor de fișiere la distanță este foarte simplă, o serie de circumstanțe pot duce la o montare incorectă a sistemului. Punctul de montare trebuie să existe deja înainte ca directorul să poată fi montat, altfel trebuie creat folosind comanda mkdir. De obicei, singura cauză a erorilor la nivelul clientului este lipsa unui director de montare local. Majoritatea problemelor cu NFS se datorează unei nepotriviri între client și server sau configurării incorecte a serverului.

Cel mai simplu mod de a depana problemele serverului este de pe site-ul pe care rulează serverul. Cu toate acestea, atunci când altcineva administrează serverul în locul dvs., acest lucru nu este întotdeauna posibil. O modalitate rapidă de a vă asigura că serviciile de server corespunzătoare sunt configurate corect este să utilizați comanda rpcinfo cu parametrul -p. Din gazda Solaris Sunny, puteți determina ce procese RPC sunt înregistrate pe gazda Linux:

# Rpcinfo -p 192.168.1.254 program de serviciu Vers Port proto 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 Stare 100024 1 tcp 694 status 100005 3 udp 1024 mountd / 100005 3 tcp 1024 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

Rețineți că aici sunt furnizate și informații de versiuni, ceea ce este destul de util atunci când sistemul necesită suport pentru diferite protocoale NFS. Dacă vreun serviciu nu rulează pe server, atunci această situație ar trebui corectată. Dacă montarea eșuează, următoarea comandă rpcinfo -p va indica faptul că serviciul mountd de pe server este oprit:

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

Comanda rpcinfo este foarte utilă pentru a afla dacă un anumit proces de la distanță este activ. Opțiunea -p este cea mai importantă dintre opțiuni. Pentru o prezentare completă a caracteristicilor rpcinfo, consultați pagina de manual.

Un alt instrument util este comanda nfsstat. Poate fi folosit pentru a afla dacă clienții accesează efectiv sistemul de fișiere exportat, precum și pentru a afișa informații statistice în funcție de versiunea protocolului.

În cele din urmă, tcpdump este un alt instrument util pentru a determina cauza blocărilor sistemului:

# tcpdump gazdă lefty și gazdă sunny -s512 tcpdump: ascultare pe eth0 06: 29: 51.773646 sunny.2191984020> lefty.mcwrite.n.nfs: 140 de căutare fh Necunoscut / 1 "test.c": 184020: 06 lefty.mcwrite.n.nfs> sunny.2191984020: răspuns ok 116 căutare EROARE: Nu există un astfel de fișier sau director (DF) 06: 29: 51.774593 sunny.2191984021> lefty.mcwrite.n.nfs: 1 (fh28 / getttr: 1 DF) 06: 29: 51.774670 lefty.mcwrite.n.nfs> sunny.2191984021: raspunde ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:19.2984021: 06:1929297972. : 140 căutare fh Necunoscut / 1 "test.c" (DF) 06: 29: 51.775357 lefty.mcwrite.n.nfs> sunny.2191984022: răspuns ok 116 căutare EROARE: Nu există un astfel de fișier sau director (DF) 06:29: 51.776029 sunny.2191984023> lefty.mcwrite.n.nfs: 184 create fh Necunoscut / 1 „test.c” (DF) 06: 29: 51.776169 lefty.mcwrite.n.nfs> sunny.2198: EROARE rep. Permisiune refuzată (DF)

Lista de mai sus, obținută după executarea instrucțiunii touch test.c, reflectă următoarea secvență de acțiuni: mai întâi, comanda touch încearcă să acceseze fișierul denumit test.c, apoi caută un director cu același nume, iar după ce nu a reușit încercări, încearcă să creeze fișierul test.c , care, de asemenea, nu duce la succes.

Când sistemul de fișiere este montat, cele mai frecvente erori sunt legate de permisiunile UNIX normale. Utilizarea de către Sun a uid sau NIS + evită setarea globală a permisiunilor pentru toate sistemele de fișiere. Unii administratori practică directoare „deschise”, unde permisiunile de citire sunt acordate „întregii lumi”. Cu toate acestea, acest lucru ar trebui evitat din motive de securitate. Lăsând la o parte preocupările de securitate, trebuie totuși să recunoașteți că aceasta este o practică proastă, deoarece utilizatorii rareori creează date cu intenția de a le face lizibile de oricine.

Accesul super-utilizatorului (rădăcină) la sistemele de fișiere NFS montate este tratat diferit. Pentru a evita acordarea accesului nerestricționat unui utilizator privilegiat, cererile de la utilizatorul root sunt tratate ca și cum ar fi de la utilizatorul nimeni. Acest mecanism puternic restricționează accesul utilizatorilor privilegiați la fișiere care pot fi citite și inscriptibile la nivel global.

VERSIUNEA SOLARIS SERVER NFS

Configurarea Solaris pentru a acționa ca un server NFS este la fel de ușoară ca Linux. Cu toate acestea, comenzile și locațiile fișierelor sunt ușor diferite. Când Solaris pornește, când atinge nivelul de rulare 3, serviciile NFS sunt pornite automat și toate sistemele de fișiere sunt exportate. Pentru a porni aceste procese manual, introduceți comanda:

# / usr / lib / nfs / mountd

Pentru a porni demonul de montare și serverul NFS, introduceți:

# / usr / lib / nfs / nfsd

Începând cu 2.6, Solaris nu mai utilizează un fișier de export pentru a specifica sistemele de fișiere exportate. Fișierele sunt acum exportate folosind comanda share. Să presupunem că vrem să permitem gazdelor de la distanță să monteze / exporte / acasă. Să introducem următoarea comandă pentru asta:

Share -F nfs / export / home

Masuri de securitate

SECURITATE ÎN LINUX

Unele servicii de sistem NFS bazate pe Linux au un mecanism suplimentar pentru a restricționa accesul prin liste de control sau tabele. Intern, acest mecanism este implementat folosind biblioteca tcp_wrapper, care folosește două fișiere pentru a genera liste de control acces: /etc/hosts.allow și /etc/hosts/deny. O privire de ansamblu cuprinzătoare a regulilor de lucru cu tcp_wrapper depășește domeniul de aplicare al acestui articol, dar principiul de bază este următorul: maparea se face mai întâi cu etc / hosts.allow și apoi cu / etc / hosts. nega. Dacă regula nu este găsită, atunci serviciul de sistem solicitat nu este prezentat. Pentru a ocoli această din urmă cerință și pentru a oferi un nivel foarte ridicat de securitate, puteți adăuga următoarea intrare la sfârșitul /etc/hosts.deny:

TOȚI: Toate

După aceea, puteți utiliza / etc / hosts.allow pentru a seta acest sau acel mod de operare. De exemplu, fișierul / etc / hosts. Permisul pe care l-am folosit când am scris acest articol conținea următoarele rânduri:

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

Acest lucru permite un anumit tip de acces la noduri înainte ca accesul la nivel de aplicație să fie acordat. Pe Linux, accesul la nivel de aplicație este controlat de fișierul / etc / exports. Este format din înregistrări în următorul format:

Director exportat (spațiu) nod | rețea (opțiuni)

„Directorul exportat” este directorul pentru care demonul nfsd i se permite să proceseze cereri. „Gazdă | rețea” este nodul sau rețeaua care are acces la sistemul de fișiere exportat, iar „opțiunile” definesc restricțiile pe care demonul nfsd le plasează cu privire la utilizarea acestei resurse partajate - acces numai în citire sau mapare ID utilizator...

În exemplul următor, întregul domeniu mcwrite.net are acces numai în citire la /home/mcwrite.net:

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

Mai multe exemple pot fi găsite în pagina de manual pentru exporturi.

SECURITATE NFS ÎN SOLARIS

Pe Solaris, capacitatea de a oferi acces NFS este similară cu Linux, dar în acest caz, restricțiile sunt setate folosind parametri specifici din comanda share cu comutatorul -o. Următorul exemplu arată cum să activați montarea numai în citire /export/mcwrite.net pe orice gazdă din domeniul mcwrite.net:

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

Pagina de manual pentru share_nfs descrie în detaliu cum să acordați acces folosind listele de control pe Solaris.

Resurse de internet

NFS și RPC nu sunt lipsite de găuri. În general, NFS nu trebuie utilizat pe Internet. Firewall-urile nu ar trebui să fie „găuri” prin furnizarea de orice fel de acces NFS. Fiți atenți la eventualele corecții RPC și NFS care apar și numeroase surse de informații de securitate vă pot ajuta. Cele mai populare două surse sunt Bugtraq și CERT:

Primul poate fi vizualizat în mod regulat în căutarea informațiilor necesare sau poate utiliza un abonament la un buletin informativ periodic. Al doilea oferă, poate, nu atât de prompt, în comparație cu altele, informații, dar într-un volum destul de complet și fără un strop de senzaționalism inerent unor site-uri dedicate securității informaționale.

Iată, ce urmează? Cum vizionez filme și ascult fișierele muzicale descărcate? Chiar trebuie să le inscripționați pe discuri și să le transferați în acest fel pe un computer cu GUI? Sau va trebui să le copiați pe SFTP lent? Nu! NFS vine în ajutor! Nu, aceasta nu este o serie de jocuri de curse, ci un sistem de fișiere de rețea.
Sistemul de fișiere de rețea (NFS) este un sistem de fișiere de rețea care permite utilizatorilor să acceseze fișiere și directoare situate pe computere la distanță ca și cum fișierele și directoarele ar fi locale. Principalul avantaj al unui astfel de sistem este că stațiile de lucru individuale pot folosi mai puțin spațiul pe disc, deoarece datele partajate sunt stocate pe o mașină separată și sunt disponibile pentru alte mașini din rețea. NFS este o aplicație client/server. Adică, un client NFS trebuie instalat pe sistemul utilizatorului și un server NFS pe computerele care le oferă spațiu pe disc.

Instalarea și configurarea unui server NFS (192.168.1.2)

1. Instalați. După ce v-ați conectat prin SSH la computer de către server sau pur și simplu în consola acestuia, introduceți:

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

Aceasta va instala serverul NFS, precum și pachetul portmap necesar.

2. Configurare. Pentru a configura lista directoarelor pe care dorim să le deschidem și lista cui dorim să le deschidem, editați fișierul / etc / exporturi :

Sudo nano / etc / exporturi / date 192.168.1.1/24(rw,no_root_squash,async)

În exemplul de mai sus, am deschis directorul de pe server / date și subdirectoarele sale pentru utilizare partajată de către toate computerele cu IP: 192.168.1.1 - 192.168.1.255 cu drepturi de citire și scriere.

Alt exemplu:

/ home / serg / 192.168.1.34 (ro, async)

Acest exemplu face directorul principal al serg-ului utilizatorului disponibil în modul numai citire pentru computerul cu IP 192.168.1.34. Toate celelalte computere din rețea nu vor avea acces la acest director.

Optiuni Disponibile:

  • ro - permisiunea numai pentru citire. Nu trebuie să-l specificați, deoarece este instalat implicit;
  • rw - oferă clienților acces la scriere;
  • no_root_squash - implicit, utilizatorul root de pe computerul client nu va avea acces la directoarele deschise de pe server. Cu această opțiune, eliminăm această limitare. Din motive de siguranță, cel mai bine este să nu faceți acest lucru;
  • noaccess - interzice accesul la directorul specificat. Poate fi util dacă ați setat anterior accesul pentru toți utilizatorii rețelei la un anumit director, iar acum doriți să restricționați accesul în subdirector doar la unii utilizatori.

Acum trebuie să reporniți nfs-kernel-server:

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

Daca dupa aceea vrei sa schimbi ceva in fisier / etc / exporturi , apoi pentru ca modificările să aibă efect, trebuie doar să rulați următoarea comandă:

Sudo exportfs -a

Tot. Serverul NFS este instalat și configurat. Puteți accesa clientul NFS.

Instalarea și configurarea clientului NFS

1. Instalare. Efectuăm următoarele în terminalul computerului care se va conecta:

Sudo apt-get install portmap nfs-common

2. Setare. Mai întâi, să creăm un director în care va fi montat folderul la distanță:

Cd ~ mkdir date

Puteți monta în două moduri - de fiecare dată manual sau scriind opțiunile de montare într-un fișier / etc / fstab.

Metoda 1. Montare manuală
Creați un fișier text pe desktop sau într-un alt folder:

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

Ii scriem:

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

Îl facem executabil:

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

Acum, când trebuie să mă conectez la server, rulez acest script în terminal, astfel încât să pot introduce parola pentru sudo.

Metoda 2. Adăugarea la / etc / fstab
Deschide / etc / fstab:

Sudo nano / etc / fstab

Și adăugați o linie la sfârșitul fișierului:

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

Atenţie! Înlocuiți 192.168.1.2:/data cu IP-ul sau numele serverului și calea către directorul partajat. Opțiunile de montare pot fi modificate.

Opțiune greu leagă în mod rigid directorul de pe client la server și, dacă serverul cade, computerul se poate bloca și el. Opțiune moale, după cum sugerează și numele, nu este atât de categoric.

După salvarea fișierului, puteți monta folderul la distanță.

N FS ( Sistem de fișiere de rețea) este conceput în principal pentru a fi partajat fișiereși foldereîntre / Unix sisteme de la de Sun Microsystems v anul 1980... Vă permite să montați sisteme de fișiere locale în rețea și gazde la distanță pentru a interacționa cu ele ca și cum ar fi instalate local pe același sistem. Prin utilizarea NFS, putem configura partajarea fișierelor între Unix v Linux sistem și Linux pentru sistem Unix.

Beneficiile NFS

  1. NFS creează acces local la fișierele de la distanță.
  2. Utilizează o arhitectură standard client/Server pentru a schimba fișiere între toate mașinile pe baza * NIX.
  3. Prin utilizarea NFS nu este necesar ca ambele mașini să funcționeze pe același OS.
  4. Prin utilizarea NFS putem personaliza soluția depozitare centralizată.
  5. Utilizatorii își primesc date indiferent de locația lor fizică.
  6. Automat Actualizați pentru fișiere noi.
  7. Versiune mai noua NFS suporta montaj acl, pseudo ca rădăcină.
  8. Poate fi protejat firewall-uriși Kerberos.

Servicii NFS

Serviciu Sistem V-lansat... Pachetul de server NFS include trei instrumente incluse în pachete portmapși nfs-utils.

  1. portmap: afișează apelurile efectuate de la alte aparate către serviciul corect RPC(nu este necesar cu NFSv4).
  2. nfs: convertește cererile de la distanță distribuire a unui fisierîn interogări pe sistemul de fișiere local.
  3. rpc.mountd: acest serviciu este responsabil pentru montareși demontarea sisteme de fișiere.

Fișiere de configurare esențiale pentru NFS

  1. / etc / exporturi: fișierul său de configurare principal NFS, toate exportate fișiereși cataloage care sunt definite în acest fișier și mai departe serverul NFS de destinație.
  2. / etc / fstab: A monta directorul NFS pe sistemul dvs. fără repornește, trebuie să înregistrăm / etc / fstab.
  3. / etc / sysconfig / nfs: Fișier de configurare NFS pentru a controla ce port RPC si alte servicii ascultare.

Configurarea și montarea NFS pe un server Linux

Pentru a personaliza suportul NFS vom avea nevoie de cel puțin două mașini Linux/Unix... În acest tutorial, vom folosi două servere.

  1. Server NFS: nfsserver.example.ru cu IP - 192.168.0.55
  2. Client NFS: nfsclient.example.ru cu IP - 192.168.0.60

Instalarea serverului NFS și a clientului NFS

Trebuie să instalăm pachete NFS pe noastre Server NFS cat si cu masina Client NFS... Îl putem instala cu „” ( palarie rosie Linux) și pachetul de instalare „ apt-get” (Debianși Ubuntu).

# yum install nfs-utils nfs-utils-lib # yum install portmap (nu este necesar cu NFSv4) # apt-get install nfs-utils nfs-utils-lib

Acum fugi serviciu pe ambele mașini.

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

După instalarea pachetelor și rularea serviciilor pe ambele mașini, trebuie să configuram ambele mașini pentru a partaja fișiere.

Configurarea unui server NFS

Mai întâi, să setăm serverul NFS.

Configurarea directorului de export

# mkdir / nfsshare

Acum trebuie să scriem la „ / etc / exporturi" și repornire servicii pentru a face ca directorul nostru să poată fi partajat pe web.

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

În exemplul de mai sus, există un director sub / intitulat " nfsshare", Partajat în prezent cu un client IP" 192.168.0.60 „Cu privilegii citindși înregistrări (RW), puteți utiliza și nume de gazdă client în loc de IPîn exemplul de mai sus.

Opțiuni NFS

Putem folosi alte opțiuni în fișierele „ / etc / exporturi„Pentru partajarea fișierelor arată așa.

  1. ro: Cu această opțiune putem oferi acces numai în citire la fișiere partajate, de ex. client va putea doar a citi.
  2. rw: Această opțiune permite client la server acces pentru ambele pt citindși înregistrăriîn directorul partajat.
  3. sincronizare: Sincronizarea confirmă solicitările de director partajat numai după schimbări au fost comise.
  4. no_subtree_check: Această opțiune împiedică verificarea subarbore... Când directorul partajat este un subdirector al unui sistem de fișiere mai mare, NFS scanează fiecare director de deasupra lui pentru a-i verifica permisiunile și detaliile. Dezactivați verificarea subarbore poate îmbunătăți fiabilitatea NFS dar reduce Securitate.
  5. no_root_squash: Această frază permite rădăcină, conectațiîntr-un folder specific.

Pentru mai multe opțiuni cu „ / etc / exporturi„, Se recomandă să citiți pagini linii directoare pentru export.

Configurarea unui client NFS

După setare NFS-server, avem nevoie montură acest director partajat sau partiție pe client Server.

Montarea directoarelor partajate pe un client NFS

Acum pe Client NFS, avem nevoie montură acest director va fi accesat local. Pentru a face acest lucru, mai întâi, trebuie să aflăm ce resurse sunt disponibile pe serverul de la distanță sau NFS.

# showmount -e 192.168.0.55 Exportați lista pentru 192.168.0.55: / nfsshare 192.168.0.60

Montarea unui director accesibil în NFS

La montură general NFS director, putem folosi următoarea comandă de montare.

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

Comanda de mai sus va seta directorul partajat la „ / mnt / nfsshare”Pe serverul clientului. Puteți verifica cu următoarea comandă.

# montură | grep nfs sunrpc on / var / lib / nfs / rpc_pipefs tip rpc_pipefs (rw) nfsd pe / proc / fs / nfsd tip nfsd (rw) 192.168.0.55:/nfsshare pe / mnt tip nfs (rw) = 6.192.

Comanda de montare de deasupra se montează pe Director partajat NFS pe Client NFS temporar pentru a monta directorul NFS în mod constant pe sistemul dvs., indiferent de reporniri, trebuie să facem o intrare în „ / etc / fstab“.

# vi / etc / fstab

Adăugați următoarea linie nouă, așa cum se arată mai jos.

192.168.0.55:/nfsshare / mnt nfs implicit 0 0

Testarea comportamentului de instalare NFS

Ne putem testa instalarea unui server NFS prin crearea fisierul de testare pe partea de server și verificați prezența acestuia pe Client NFS lateral sau invers.

Nfserver pe partea serverului

Am creat un nou fișier text numit „ nfstest.txt”În acest director general.

# cat> /nfsshare/nfstest.txt Acesta este un fișier de testare pentru a testa funcționarea setării serverului NFS.

Partea client nfsclient

Schimbați la directorul partajat activat client serverși veți găsi fișierul partajat fără nicio actualizare manuală sau serviciu de repornire.

# ll / mnt / nfsshare total 4 -rw-r - r-- 1 rădăcină rădăcină 61 21 septembrie 21:44 nfstest.txt [email protected]~] # cat /mnt/nfsshare/nfstest.txt Acesta este un fișier de testare pentru a testa funcționarea setării serverului NFS.

Îndepărtarea unei monturi NFS

Dacă doriți să demontează acest director partajat de pe server după ce ați terminat cu partajarea fișierelor, puteți pur și simplu demontează acest director particular folosind comanda „ umount„. Vezi mai jos acest exemplu.

[email protected]~] # umount / mnt / nfsshare

Puteți vedea că montura a fost eliminată de pe sistemul de fișiere.

# df -h -F nfs

Veți vedea că aceste directoare partajate nu mai sunt disponibile.

Comenzi importante pentru NFS

Unele dintre cele mai importante comenzi pentru NFS .

  1. showmount -e: Spectacole disponibile obiecte comune pe computerul local
  2. showmount -e : Lista celor disponibile obiecte comune pe la distanta Server
  3. showmount -d: Lista tuturor subdirectorul
  4. exportfs -v: Afișează o listă de partajate fișiereși Opțiuni pe server
  5. exportfs -a: Exportați toate obiectele disponibile listate în / etc / exporturi, sau nume
  6. exportfs -u: Reexportul tuturor obiectelor disponibile enumerate în / etc / exporturi, sau nume
  7. exportfs -r: Actualizează lista de server după modificare / etc / exporturi

Este vorba despre mount nfs momentan, dacă sunteți interesat, puteți citi ghidul despre asta. Lasă-ți

Esența problemei: la un moment dat, Samsung a început să producă televizoare care suportă tehnologia DLNA dezvoltată de producătorii de top de electrocasnice, pe baza principiului „casa digitală”. Această tehnologie a făcut posibilă integrarea televizoarelor într-o rețea locală de acasă, ceea ce a făcut posibilă schimbul de conținut media între un televizor și un computer și, în special, vizionarea de filme la televizor stocate pe un computer printr-o rețea locală sau prin WiFi. Cu toate acestea, soluția multimedia propusă de Samsung pentru a implementa această tehnologie lasă de dorit, ca să spunem ușor. Deci, filmele vizionate prin rețea în playerul media TV încorporat, în cele mai multe cazuri, nu sunt derulate înapoi. În plus, în timp ce vizionați filme prin rețea, spre deosebire de vizionarea filmelor de pe o unitate flash USB sau un hard disk portabil conectat la un televizor printr-un port USB, funcția de redare continuă (butonul albastru de pe telecomandă) nu este acceptată. În cele din urmă, necesitatea de a rula Samsung PC Share Manger de fiecare dată pe computer și de a face corecții după fiecare ștergere sau adăugare de fișiere video pe disc este puțin enervantă.

Activarea protocolului de rețea NFS (Network File System) ne va ajuta nu numai să eliminăm problemele existente cu vizionarea filmelor la televizor pe o rețea locală, ci și să creștem viteza de transfer de date (care poate fi un factor important atunci când vizionam filme HD mari ). După ce facem instalarea și configurarea necesară a serverului NFS, computerul nostru va fi perceput de televizor ca și cum am conecta un hard disk portabil la televizor printr-un port USB (singura diferență va fi doar în rata de schimb de date, care este determinată de lățimea de bandă maximă a rețelei locale sau a conexiunii WiFi).

NFS este un protocol de rețea server-client. Vom avea un computer ca server, un televizor ca client. Am discutat deja despre includerea suportului NFS pe televizor în secțiunea anterioară în timpul instalării și instalării aplicației SamyGO Auto pe televizor. Dacă vă amintiți, în setările configuratorului SamyGO Auto, am bifat caseta de lângă secțiunea NFS și am înregistrat și adresa IP a serverului NFS (192.168.xxx.xxx), adică adresa computerului nostru:
În această secțiune, ne vom uita la instalarea și configurarea unui server NFS pe computerul nostru. Există multe programe diferite pe Internet pentru instalarea și configurarea unui server NFS. Vom folosi aplicația haneWIN NFS Server(este shareware, iar după o anumită perioadă de timp necesită înregistrarea unui număr de serie, dar, după cum înțelegeți, întotdeauna există meșteri pe Internet care pot rezolva această problemă). Deci sa începem:

Notă: Uneori, paravanul de protecție Windows sau paravanul de protecție antivirus încorporat pot bloca funcționarea serverului NFS. Orice s-ar întâmpla acest lucru, în firewall-ul Windows (sau dacă aveți alt firewall, atunci în el) trebuie să permiteți accesul la rețea pentru două aplicații: nfsd.exe și pmapd.exe (se află în folderul de instalare a serverului C: \ Fișiere program \ nfsd).


În cele din urmă, porniți televizorul și asigurați-vă că serverul nostru NFS este în funcțiune. În secțiunea anterioară, când am instalat programul SamyGO Auto pe televizor, am indicat parametrul pentru autorun în el. Prin urmare, atunci când porniți televizorul, acesta ar trebui să detecteze automat NFS-ul nostru (acest lucru nu se întâmplă imediat, ci la aproximativ 20 de secunde după pornirea televizorului). Deci, porniți televizorul, apoi accesați playerul media și vedeți un dispozitiv nou acolo - NFS Server.

Dacă observați, există o pictogramă de conexiune USB lângă NFS. Despre asta am vorbit mai devreme, acum televizorul tău va percepe computerul ca pe un hard disk sau o unitate flash USB. Puteți accesa secțiunea Film și vă puteți bucura de vizionarea de filme prin rețea. Nu mai trebuie să rulați Samsung PC Share Manger pe computer. Doar adăugați un film în folderul de filme al computerului și acesta se va „încărca” automat în playerul media al televizorului.

În secțiunea următoare, vom vorbi despre cum să înregistrăm programe de pe televizor pe o unitate flash USB sau, deoarece avem acum NFS, într-un folder cu filme de pe computer.


Sistem de fișiere în rețea (NFS)- protocol de acces la rețea la sistemele de fișiere, vă permite să conectați sisteme de fișiere la distanță.
Dezvoltat inițial de Sun Microsystems în 1984, se bazează pe Sun RPC: Remote Procedure Call. NFS este independent de tipurile de sistem de fișiere server și client. Există multe implementări ale serverelor și clienților NFS pentru diferite sisteme de operare. În prezent, este utilizat NFS v.4, care acceptă diverse instrumente de autentificare (în special, Kerberos și LIPKEY folosind protocolul RPCSEC GSS) și liste de control acces (atât tipurile POSIX, cât și Windows).
NFS oferă clienților acces transparent la fișierele și sistemul de fișiere al serverului. Spre deosebire de FTP, NFS accesează doar părțile fișierului pe care le-a accesat procesul, iar principalul său avantaj este că face acest acces transparent. Datorită acestui lucru, orice aplicație client care poate funcționa cu un fișier local poate funcționa la fel de bine și cu un fișier NFS, fără a schimba programul în sine.
Clienții NFS accesează fișierele de pe serverul NFS trimițând cereri RPC către server. Acest lucru poate fi implementat folosind procese normale ale utilizatorului - și anume, clientul NFS poate fi un proces utilizator care face apeluri RPC specifice către server, care poate fi și un proces utilizator.

Versiuni
NFSv1 a fost pentru uz intern numai în scopuri experimentale. Detaliile de implementare sunt definite în RFC 1094.
NFSv2 (RFC 1094, martie 1989) rula inițial în întregime peste UDP.
NFSv3 (RFC 1813, iunie 1995). Descriptorii de fișiere din versiunea 2 sunt o matrice de dimensiune fixă ​​de 32 de octeți. În versiunea 3, este o matrice de dimensiune variabilă de până la 64 de octeți. O matrice de lungime variabilă în XDR este definită de un numărător de 4 octeți urmat de octeți reali. Acest lucru reduce dimensiunea descriptorului de fișier pe implementări precum UNIX, care necesită doar aproximativ 12 octeți, dar permite implementărilor non-Unix să facă schimb de informații suplimentare.
Versiunea 2 limitează numărul de octeți pe RPC READ sau WRITE la 8192 de octeți. Această limitare nu se aplică în versiunea 3, ceea ce, la rândul său, înseamnă că folosind UDP, limitarea va fi doar în dimensiunea datagramei IP (65535 octeți). Acest lucru permite utilizarea pachetelor mari atunci când citiți și scrieți în rețele rapide.
Dimensiunile fișierelor și offset-ul inițial de octeți pentru procedurile READ și WRITE au început să folosească adresarea pe 64 de biți în loc de 32 de biți, ceea ce permite lucrul cu fișiere mai mari.
Atributele fișierelor sunt returnate în fiecare apel care ar putea afecta atributele.
Scrierile (WRITE) pot fi asincrone, în timp ce în versiunea 2 trebuiau să fie sincrone.
A fost eliminată o procedură (STATFS) și au fost adăugate șapte: ACCESS (verificarea permisiunilor fișierelor), MKNOD (crearea unui fișier special Unix), READDIRPLUS (returnează numele fișierelor dintr-un director împreună cu atributele acestora), FSINFO (returnează informații statistice despre sistemul de fișiere), FSSTAT (returnează informații despre sistemul de fișiere dinamic), PATHCONF (returnează informații despre fișierul POSIX.1) și COMMIT (transferă scrierile asincrone efectuate anterior către stocarea persistentă).
La momentul introducerii versiunii 3, dezvoltatorii au început să folosească TCP mai mult ca protocol de transport. Deși unii dezvoltatori au folosit deja TCP pentru NFSv2, Sun Microsystems a adăugat suport TCP la NFS versiunea 3. Acest lucru a făcut mai fezabilă utilizarea NFS pe Internet.
NFSv4 (RFC 3010, decembrie 2000, RFC 3530, revizuit în aprilie 2003), influențat de AFS și CIFS, a încorporat îmbunătățiri de performanță, securitate ridicată și a apărut ca un protocol cu ​​drepturi depline. Versiunea 4 a fost prima versiune dezvoltată împreună cu Internet Engineering Task Force (IETF) după ce Sun Microsystems a transmis dezvoltarea protocoalelor NFS. NFS v4.1 a fost aprobat de IESG în ianuarie 2010 și a primit RFC 5661. O inovație importantă în versiunea 4.1 este specificația pNFS - Parallel NFS, un mecanism pentru accesul clientului NFS paralel la datele de pe mai multe servere NFS distribuite. Prezența unui astfel de mecanism în standardul sistemului de fișiere de rețea va ajuta la construirea de sisteme de stocare și informații „în nor” distribuite.

Structura NFS
Structura NFS are trei componente la niveluri diferite:
Stratul de aplicație (NFS însuși) este apelurile de procedură la distanță (rpc) care efectuează operațiunile necesare asupra fișierelor și directoarelor de pe partea serverului.
Funcțiile stratului de prezentare sunt îndeplinite de protocolul XDR (eXternal Data Representation), care este un standard de abstracție a datelor multiplatformă. Protocolul XDR descrie o formă unificată, canonică, de reprezentare a datelor care nu depinde de arhitectura sistemului de calcul. La transmiterea pachetelor, clientul RPC convertește datele locale în formă canonică, iar serverul face opusul.
Serviciul Remote Procedure Call (RPC), care permite unui client să solicite proceduri de la distanță și să le execute pe server, este o funcție la nivel de sesiune. Conectarea resurselor de rețea
Procedura de conectare a unei resurse de rețea folosind NFS se numește „export”. Clientul poate cere serverului o listă a resurselor exportate pe care le reprezintă. Serverul NFS în sine nu difuzează o listă a resurselor sale exportate.
În funcție de opțiunile specificate, resursa exportată poate fi montată (atașată) „numai în citire”, puteți defini o listă de gazde care au voie să se monteze, să specificați utilizarea RPC securizat (secureRPC), etc. Una dintre opțiuni determină metoda de montare: „hard” (hard) sau „soft” (moale).
Cu o montare „hard”, clientul va încerca să monteze sistemul de fișiere cu orice preț. În cazul în care serverul este inactiv, acest lucru va duce la faptul că întregul serviciu NFS pare să înghețe: procesele care accesează sistemul de fișiere vor intra într-o stare de așteptare pentru finalizarea cererilor RPC. Din punctul de vedere al proceselor utilizatorului, sistemul de fișiere va apărea ca un disc local foarte lent. Când serverul este readus online, serviciul NFS va continua să funcționeze.
Într-o montare soft, clientul NFS va face mai multe încercări de conectare la server. Dacă serverul nu răspunde, sistemul emite un mesaj de eroare și nu mai încearcă să monteze. Din punctul de vedere al logicii operațiunilor cu fișiere, atunci când un server eșuează, o montare soft emulează o defecțiune a unui disc local.
Alegerea modului depinde de situație. Dacă datele de pe client și server trebuie sincronizate în cazul unei întreruperi temporare a serviciului, atunci este de preferat o montare „hard”. Acest mod este, de asemenea, de neînlocuit în cazurile în care sistemele de fișiere montate conțin programe și fișiere care sunt vitale pentru funcționarea clientului, în special pentru mașinile fără disc. În alte cazuri, mai ales când vine vorba de sisteme de doar citire, modul de montare moale este mai convenabil.

Partajare mixtă în rețea
NFS este ideal pentru rețelele bazate pe UNIX, deoarece este livrat cu majoritatea versiunilor de sistem de operare. Mai mult, suportul NFS este implementat la nivel de kernel UNIX. Utilizarea NFS pe computerele client Windows creează anumite probleme asociate cu necesitatea instalării unui software client specializat și destul de costisitor. În astfel de rețele, utilizarea instrumentelor de partajare bazate pe SMB / CIFS, în special software-ul Samba, pare să fie de preferat.

Standarde
RFC 1094 NFS: Specificația protocolului sistemului de fișiere de rețea] (martie 1989)
Specificația protocolului RFC 1813 NFS versiunea 3] (iunie 1995)
Schema URL RFC 2224 NFS
RFC 2339 Un acord între Internet Society, IETF și Sun Microsystems, Inc. în materia protocoalelor NFS V.4
RFC 2623 NFS Versiunea 2 și Versiunea 3 Probleme de securitate și utilizarea protocolului NFS a RPCSEC_GSS și Kerberos V5
RFC 2624 NFS Versiunea 4 Considerații de proiectare
Protocolul RFC 3010 NFS versiunea 4
Protocolul RFC 3530 Network File System (NFS) versiunea 4
RFC 5661 Network File System (NFS) Versiunea 4 Protocolul minor Versiunea 1

Surse folosite
1.ru.wikipedia.org
2.ru.science.wikia.com
3. telefon16.ru
4.4stud.info
5.yandex.ru
6.gogle.com

Top articole similare