Nfs fajlovi. Instaliranje i konfigurisanje NFS servera

Dobro vrijeme, čitaoci i gosti. Bila je jako duga pauza između postova, ali ja sam ponovo u borbi). U današnjem članku ću razmotriti Rad NFS protokola, i konfigurisanje NFS servera i NFS klijenta na Linuxu.

Uvod u NFS

NFS (Mrežni sistem datoteka - mrežni sistem datoteka) po mom mišljenju - idealno rješenje u lokalnoj mreži, gdje je potrebna brza (brža od SAMBA-e i manje resursno intenzivna u odnosu na udaljene sisteme datoteka sa enkripcijom - sshfs, SFTP, itd...) razmjena podataka i nije na prednjači sigurnost prenesenih informacija. NFS protokol dozvoljava montirati udaljene sisteme datoteka preko mreže u lokalno stablo direktorija kao da je montirani disk fajl sistem. Dakle, lokalne aplikacije mogu raditi sa udaljenim sistemom datoteka kao i sa lokalnim. Ali morate biti oprezni (!) sa postavljanje NFS-a, jer je uz određenu konfiguraciju moguće suspendovati operativni sistem klijenta, čekajući beskonačan I/O. NFS protokol na osnovu rada RPC protokol, što još nije pogodno za moje razumijevanje)) tako da će materijal u članku biti malo nejasan... Prije nego počnete koristiti NFS, bilo da se radi o serveru ili klijentu, morate se uvjeriti da vaše kernel ima podršku za NFS sistem datoteka. Možete provjeriti da li kernel podržava NFS sistem datoteka tražeći prisustvo odgovarajućih linija u datoteci /proc / filesystems:

ARHIV ~ # grep nfs / proc / filesystems nodev nfs nodev nfs4 nodev nfsd

Ako su navedeni redovi u datoteci /proc / filesystems ne uspije, tada morate instalirati dolje opisane pakete. Ovo će najvjerovatnije instalirati zavisne module kernela koji podržavaju željene sisteme datoteka. Ako se, nakon instaliranja paketa, podrška za NFS ne prikaže u navedenoj datoteci, onda će to biti potrebno s uključenom ovom funkcijom.

istorija Mrežni sistem datoteka

NFS protokol razvijen od strane Sun Microsystems i ima 4 verzije u svojoj istoriji. NFSv1 razvijen je 1989. godine i bio je eksperimentalni, radeći na UDP protokolu. Verzija 1 je opisana u. NFSv2 objavljen je iste 1989. godine, opisan je istim RFC1094 i također je bio zasnovan na UDP protokolu, dok vam je dozvoljavao da čitate ne više od 2 GB iz datoteke. NFSv3 revidiran 1995. i opisan u. Glavne inovacije treće verzije bile su podrška za velike fajlove, dodata podrška za TCP protokol i velike TCP pakete, što je značajno ubrzalo rad tehnologije. NFSv4 finaliziran 2000. i opisan u RFC 3010, revidiran 2003. i opisan u. Četvrta verzija je uključivala poboljšanja performansi, podršku za različite alate za autentifikaciju (posebno, Kerberos i LIPKEY koji koriste RPCSEC GSS protokol) i liste kontrole pristupa (i tipovi POSIX i Windows). NFS v4.1 odobren od strane IESG-a 2010. godine i dobio je broj. Važna inovacija u verziji 4.1 je pNFS specifikacija - Parallel NFS, mehanizam za paralelni pristup NFS klijenta podacima sa više distribuiranih NFS servera. Prisustvo takvog mehanizma u standardu mrežnog sistema datoteka pomoći će u izgradnji distribuiranih skladišta u oblaku i informacionih sistema.

NFS server

Pošto imamo NFS- ovo je mreže sistem datoteka je neophodan. (Također možete pročitati članak). Dalje je potrebno. Na Debianu, ovo je paket nfs-kernel-server i nfs-common, u RedHat-u ovo je paket nfs-utils... Takođe, potrebno je omogućiti pokretanje demona na potrebnim nivoima pokretanja OS (naredba u RedHat-u je / sbin / chkconfig nfs uključen, u Debianu - /usr/sbin/update-rc.d nfs-kernel-server zadane postavke).

Instalirani paketi u Debianu se pokreću sljedećim redoslijedom:

ARHIV ~ # ls -la /etc/rc2.d/ | grep nfs lrwxrwxrwx 1 root root 20. listopada 18. 15:02 S15nfs-common -> ../init.d/nfs-common lrwxrwxrwx 1 root root 27. listopada 22. 01:23 S16nfs-common ->kernel. / nfs-kernel-server

Odnosno, prvo počinje nfs-common zatim sam server nfs-kernel-server... U RedHatu je situacija slična, s tim da se zove prva skripta nfslock a server se jednostavno zove nfs... O nfs-common debian stranica nam doslovno govori sljedeće: Uobičajene datoteke za NFS klijent i server, ovaj paket mora biti instaliran na mašini koja će delovati kao NFS klijent ili server. Paket uključuje programe: lockd, statd, showmount, nfsstat, gssd i idmapd... Pregledom sadržaja skripte za pokretanje /etc/init.d/nfs-common možete pratiti sljedeći redoslijed rada: skripta provjerava prisustvo izvršne binarne datoteke /sbin/rpc.statd, provjerava prisustvo u datotekama / etc / default / nfs-common, / etc / fstab i / etc / izvoz parametri koji zahtijevaju pokretanje demona idmapd i gssd , pokreće demon /sbin/rpc.statd , zatim prije početka /usr/sbin/rpc.idmapd i /usr/sbin/rpc.gssd provjerava prisutnost ovih izvršnih binarnih datoteka, zatim za demon /usr/sbin/rpc.idmapd provjerava za sunrpc, nfs i nfsd, kao i podrška za sistem datoteka rpc_pipefs u kernelu (tj. njegovo prisustvo u datoteci /proc / filesystems), ako je sve uspješno, onda radi /usr/sbin/rpc.idmapd ... Dodatno, za demona /usr/sbin/rpc.gssd provjere modul kernela rpcsec_gss_krb5 i pokreće demon.

Ako pogledate sadržaj Skripta za pokretanje NFS servera na Debianu ( /etc/init.d/nfs-kernel-server), tada možete pratiti sljedeći niz: pri pokretanju skripta provjerava postojanje datoteke / etc / izvoz, Dostupnost nfsd, dostupnost podrške NFS sistem datoteka u (odnosno u datoteci /proc / filesystems), ako je sve na svom mjestu, tada je demon pokrenut /usr/sbin/rpc.nfsd , zatim provjerava da li je parametar postavljen NEED_SVCGSSD(podesite u datoteci postavki servera / etc / default / nfs-kernel-server) i, ako je dano, pokreće demon /usr/sbin/rpc.svcgssd , posljednji koji je pokrenuo demona /usr/sbin/rpc.mountd ... Iz ove skripte to možete vidjeti Rad NFS servera se sastoji od demoni rpc.nfsd, rpc.mountd i ako se koristi Kerberos autentifikacija, onda demon rcp.svcgssd. Daemon rpc.rquotad i nfslogd još uvijek rade u crvenom šeširu (Iz nekog razloga nisam pronašao informacije o ovom demonu u Debianu i razloge njegovog odsutnosti, očito izbrisane...).

Iz ovoga postaje jasno da server mrežnog sistema datoteka sastoji se od sljedećih procesa (čitaj - demoni) koji se nalazi u direktorijima /sbin i /usr/sbin:

U NFSv4, kada se koristi Kerberos, dodatno se pokreću demoni:

  • rpc.gssd- NFSv4 daemon pruža metode provjere autentičnosti putem GSS-API (Kerberos autentikacija). Radi na klijentu i serveru.
  • rpc.svcgssd- NFSv4 serverski demon koji pruža autentifikaciju klijenta na strani servera.

portmap i RPC protokol (Sun RPC)

Pored gore navedenih paketa, potreban je dodatni paket da bi NFSv2 i v3 ispravno radili portmap(u novijim distribucijama, zamijenjeno preimenovanim u rpcbind). Ovaj paket se obično automatski instalira uz NFS kao zavisni i implementira rad RPC servera, odnosno odgovoran je za dinamičko dodeljivanje portova za neke servise registrovane na RPC serveru. Doslovno, prema dokumentaciji, ovo je server koji pretvara brojeve programa Remote Procedure Call (RPC) u brojeve TCP/UDP portova. portmap radi na nekoliko entiteta: RPC pozivi ili zahtjevi, TCP / UDP portovi,verzija protokola(tcp ili udp), brojevi programa i verzije softvera. Portmap daemon se pokreće skriptom /etc/init.d/portmap prije pokretanja NFS usluga.

Ukratko, posao RPC (Remote Procedure Call) servera je da obrađuje RPC pozive (aka RPC procedure) iz lokalnih i udaljenih procesa. Koristeći RPC pozive, servisi se registruju ili uklanjaju u/iz mapera portova (aka port mapper, aka portmap, aka portmapper, aka rpcbind, u novijim verzijama), a klijenti koji koriste RPC pozive koji usmjeravaju zahtjeve na portmapper dobijaju informacije koje su im potrebne. Imena programskih usluga prilagođena korisniku i njihovi odgovarajući brojevi definirani su u / etc / rpc. Čim servis pošalje odgovarajući zahtjev i registruje se kod RPC servera u maper portova, RPC server dodeljuje TCP i UDP portove servisu na kojem je servis pokrenut i pohranjuje u sebi odgovarajuće informacije o pokretanju servis (naziv), jedinstveni broj usluge (u skladu sa /etc/rpc), o protokolu i portu na kojem se servis radi io verziji servisa, te pruža navedene informacije klijentima na zahtjev. Sam konvertor portova ima broj programa (100000), broj verzije - 2, TCP port 111 i UDP port 111. Iznad, kada sam specificirao sastav demona NFS servera, naveo sam glavne brojeve RPC programa. Vjerovatno sam vas malo zbunio ovim paragrafom, pa ću reći glavnu frazu koja bi trebala pojasniti: glavna funkcija mapera portova je da vrati njemu (klijentu) port na kojem se radi traženi program. Shodno tome, ako klijent treba da pristupi RPC-u sa određenim brojem programa, on prvo mora da kontaktira proces mape portova na serverskoj mašini i odredi broj porta za komunikaciju sa RPC uslugom koja mu je potrebna.

Rad RPC servera može se predstaviti sljedećim koracima:

  1. Konvertor portova se mora prvo pokrenuti, obično pri pokretanju sistema. Ovo kreira TCP krajnju tačku i otvara TCP port 111. Takođe kreira UDP krajnju tačku koja čeka da UDP datagram stigne na UDP port 111.
  2. Prilikom pokretanja, program koji radi preko RPC servera kreira TCP krajnju tačku i UDP krajnju tačku za svaku podržanu verziju programa. (RPC server može podržati više verzija. Klijent specificira potrebnu verziju kada upućuje RPC poziv.) Dinamički dodijeljeni broj porta se dodjeljuje svakoj verziji usluge. Server registruje svaki program, verziju, protokol i broj porta vršeći odgovarajući RPC poziv.
  3. Kada RPC klijentskom programu trebaju informacije koje su mu potrebne, on poziva rutinu mapiranja porta da dobije dinamički dodijeljeni broj porta za dati program, verziju i protokol.
  4. Kao odgovor na ovaj zahtjev, sjever vraća broj porta.
  5. Klijent šalje poruku RPC zahtjeva na broj porta dobivenog u koraku 4. Ako se koristi UDP, klijent jednostavno šalje UDP datagram koji sadrži poruku RPC poziva na broj UDP porta na kojem je tražena usluga pokrenuta. Kao odgovor, usluga šalje UDP datagram koji sadrži poruku RPC odgovora. Ako je TCP u upotrebi, klijent vrši aktivno otvaranje broja TCP porta tražene usluge i zatim šalje poruku RPC poziva preko uspostavljene veze. Server odgovara porukom RPC odgovora preko veze.

Da biste dobili informacije od RPC servera, koristite uslužni program rpcinfo... Prilikom specificiranja parametara -p domaćin program navodi sve registrovane RPC programe na hostu. Bez navođenja hosta, program će prikazati usluge na lokalnom hostu. primjer:

ARCHIV ~ # is naredbom rpcinfo -p prog-ma verzija proto port 100000 2 TCP 111 portmapperom 100000 2 UDP 111 portmapperom 100024 1 UDP 59451 statusa 100024 1 TCP 60872 statusa 100021 1 UDP 44310 nlockmgr 100021 3 UDP 44310 nlockmgr 100021 4 UDP 44310 nlock 44851 nlockmgr 100021 3 TCP 44851 nlockmgr 100021 4 TCP 44851 nlockmgr 100003 2 TCP 2049 NFS 100003 3 TCP 2049 NFS 100003 4 TCP 2049 NFS 100003 2 UDP 2049 NFS 100003 3 UDP 2049 NFS 100003 4 UD5 TCP 2049 NFS 1.000.030 1 mount 41405 mountd 100005 2 udp 51306 mountd 100005 2 tcp 41405 mountd 100005 3 udp 51306 mountd 100005 3 tcp 41405 mountd

Kao što vidite, rpcinfo prikazuje (u kolonama s lijeva na desno) registrovani broj programa, verziju, protokol, port i ime. Možete koristiti rpcinfo da uklonite registraciju programa ili dobijete informacije o pojedinačnoj RPC usluzi (pogledajte man rpcinfo za više opcija). Kao što vidite, portmapper verzija 2 demoni su registrovani na udp i tcp portovima, rpc.statd verzija 1 na udp i tcp portovima, NFS lock manager verzije 1,3,4, nfs server daemon verzija 2,3 ,4, kao i mount daemon verzije 1,2,3.

NFS server (tačnije, rpc.nfsd demon) prima zahtjeve od klijenta u obliku UDP datagrama na portu 2049. Iako NFS radi sa maperom portova, koji omogućava serveru da koristi dinamički dodijeljene portove, UDP port 2049 je tvrdo kodirano na NFS u većini implementacija...

Rad protokola mrežnog sistema datoteka

Montirajte udaljeni NFS

Proces montiranja udaljenog NFS sistema datoteka može se predstaviti sljedećim dijagramom:

Opis NFS protokola prilikom montiranja udaljenog direktorija:

  1. RPC server se pokreće na serveru i klijentu (obično pri pokretanju), servisira portmapper proces i registruje se na tcp / 111 i udp / 111 portovima.
  2. Pokreću se servisi (rpc.nfsd, rpc.statd, itd.), koji se registruju na RPC serveru i registruju na proizvoljnim mrežnim portovima (osim ako je statički port naveden u postavkama servisa).
  3. naredba mount na klijentskom računaru šalje zahtjev kernelu da montira mrežni direktorij s naznakom tipa sistema datoteka, hosta i samog direktorija, kernel šalje RPC zahtjev portmap procesu na NFS serveru na udp / 111 port (ako klijent nema mogućnost rada preko tcp-a)
  4. Kernel NFS servera ispituje RPC za prisustvo demona rpc.mountd i vraća mrežni port na kojem demon radi u jezgro klijenta.
  5. mount šalje RPC zahtjev portu na kojem je pokrenut rpc.mountd. Sada NFS server može potvrditi klijenta na osnovu njegove IP adrese i broja porta da vidi da li klijent može montirati navedeni sistem datoteka.
  6. Daemon mount vraća opis traženog sistema datoteka.
  7. Naredba za montiranje klijenta izdaje sistemski poziv mount za povezivanje deskriptora datoteke dobivenog u koraku 5 za lokalnu točku montiranja na klijentskom hostu. Deskriptor datoteke je pohranjen u NFS klijentskom kodu, i od ove tačke, svaki pristup korisničkih procesa datotekama na sistemu datoteka servera koristit će deskriptor datoteke kao početnu tačku.

Komunikacija između klijenta i NFS servera

Tipičan pristup udaljenom sistemu datoteka može se opisati na sljedeći način:

Opis procesa pristupa datoteci koja se nalazi na NFS serveru:

  1. Klijenta (korisničkog procesa) nije briga hoće li dobiti pristup lokalnoj ili NFS datoteci. Kernel se bavi interakcijom sa hardverom kroz module kernela ili ugrađene sistemske pozive.
  2. Kernel modul kernel / fs / nfs / nfs.ko, koji djeluje kao NFS klijent i šalje RPC zahtjeve NFS serveru preko TCP/IP modula. NFS obično koristi UDP, međutim novije implementacije mogu koristiti TCP.
  3. NFS server prima zahtjeve od klijenta kao UDP datagrame na portu 2049. Iako NFS može raditi sa maperom portova, koji omogućava serveru da koristi dinamički dodijeljene portove, UDP port 2049 je tvrdo kodiran za NFS u većini implementacija.
  4. Kada NFS server primi zahtjev od klijenta, on se prosljeđuje lokalnoj rutini za pristup datoteci, koja omogućava pristup lokalnom disku na serveru.
  5. Rezultat pristupa disku se vraća klijentu.

Postavljanje NFS servera

Podešavanje servera općenito se sastoji od specificiranja lokalnih direktorija kojima je dozvoljeno da budu montirani udaljenim sistemima u datoteci / etc / izvoz... Ova akcija se zove izvoz hijerarhije direktorija... Glavni izvori informacija o izvezenim direktorijima su sljedeće datoteke:

  • / etc / izvoz- glavni konfiguracijski fajl koji pohranjuje konfiguraciju izvezenih direktorija. Koristi se prilikom pokretanja NFS-a i uslužnog programa exportfs.
  • / var / lib / nfs / xtab- sadrži listu direktorija montiranih od strane udaljenih klijenata. Koristi ga demon rpc.mountd kada klijent pokušava montirati hijerarhiju (kreira se zapis o montiranju).
  • / var / lib / nfs / etab- lista direktorija koje mogu montirati udaljeni sistemi, sa naznakom svih parametara izvezenih direktorija.
  • / var / lib / nfs / rmtab- lista direktorija koji se trenutno ne izvoze.
  • / proc / fs / nfsd- poseban sistem datoteka (kernel 2.6) za upravljanje NFS serverom.
    • izvoza- listu aktivnih izvezenih hijerarhija i klijenata kojima su izvezene, kao i parametre. Kernel dobija ove informacije iz / var / lib / nfs / xtab.
    • niti- sadrži broj niti (također se može promijeniti)
    • koristeći filehandle možete dobiti pokazivač datoteke
    • i sl...
  • / proc / net / rpc- sadrži sirove statistike koje se mogu dobiti pomoću nfsstata, kao i razne keš memorije.
  • / var / run / portmap_mapping- informacije o registrovanim u RPC servisima

Bilješka: generalno, na internetu ima puno tumačenja i formulacije namjene xtab, etab, rmtab fajlova, ne znam kome vjerovati. Čak i na http://nfs.sourceforge.net/ tumačenje nije jednoznačno.

Konfiguriranje / etc / datoteke za izvoz

U najjednostavnijem slučaju, datoteka / etc / exports je jedina datoteka kojoj je potrebno uređivanje da bi se konfigurirao NFS server. Ovaj fajl kontrolira sljedeće aspekte:

  • Kakvi klijenti može pristupiti datotekama na serveru
  • Koje hijerarhije direktorijumima na serveru može pristupiti svaki klijent
  • Kako će biti prilagođena imena kupaca biti prikazano na lokalna korisnička imena

Svaki red u datoteci za izvoz ima sljedeći format:

export_point klijent1 (opcije) [client2 (opcije) ...]

Gdje izvozna_tačka apsolutna putanja izvezene hijerarhije direktorija, klijent1 - br ime jednog ili više klijenata ili IP adresa, odvojenih razmacima, kojima je dozvoljeno montiranje izvozna_tačka . Opcije opišite pravila montiranja za klijent navedeno ranije opcije .

Evo tipičnog primjer konfiguracije datoteke za izvoz:

ARCHIV ~ # cat / etc / exports / archiv1 fajlovi (rw, sync) 10.0.0.1 (ro, sync) 10.0.230.1/24 (ro, sync)

U ovom primeru, fajlovima računara i 10.0.0.1 je dozvoljen pristup tački izvoza / archiv1, dok se fajlovi hosta mogu čitati / pisati, a za host 10.0.0.1 i podmrežu 10.0.230.1/24 pristup samo za čitanje.

Opisi hosta u / etc / izvozi su dozvoljeni u sljedećem formatu:

  • Imena pojedinačnih čvorova su opisana kao datoteke ili datoteke.DOMAIN.local.
  • Maske domene su opisane u sljedećem formatu: * DOMAIN.local uključuje sve čvorove u domeni DOMAIN.local.
  • Podmreže su specificirane kao parovi IP adresa/maska. Na primjer: 10.0.0.0/255.255.255.0 uključuje sve čvorove čije adrese počinju sa 10.0.0.
  • Postavljanje imena mrežne grupe @myclients koja ima pristup resursu (kada se koristi NIS server)

Opće opcije izvoza za hijerarhiju direktorija

Datoteka za izvoz koristi sljedeće općenite opcije(opcije koje se podrazumevano koriste u većini sistema su navedene prve, u zagradama - ne podrazumevano):

  • auth_nlm (ne_auth_nlm) ili sigurne_brave (nesigurne_brave)- specificira da server treba zahtijevati autentifikaciju zahtjeva za zaključavanje (koristeći NFS Lock Manager protokol).
  • ne sakriti (sakriti)- ako server izvozi dvije hijerarhije direktorija, s jednom ugniježđenom (montiranom) u drugu. Klijent treba eksplicitno montirati drugu (podređenu) hijerarhiju, inače će se točka montiranja podređene hijerarhije pojaviti kao prazan direktorij. Opcija nohide rezultira drugom hijerarhijom direktorija bez eksplicitnog montiranja. ( Bilješka: Nisam mogao natjerati ovu opciju da radi...)
  • ro (rw)- Dozvoljava samo zahtjeve za čitanje (pisanje). (U konačnici, da li je moguće čitati/pisati ili ne određuje se na osnovu dozvola sistema datoteka, dok server nije u stanju da razlikuje zahtjev za čitanje datoteke od zahtjeva za izvršenje, pa dozvoljava čitanje ako je korisnik pročitao ili izvršio dozvole.)
  • siguran (nesiguran)- zahtijeva da NFS zahtjevi dolaze sa sigurnih portova (< 1024), чтобы программа без прав root не могла монтировать иерархию каталогов.
  • subtree_check (no_subtree_check)- Ako se eksportuje poddirektorijum sistema datoteka, ali ne i ceo sistem datoteka, server proverava da li se tražena datoteka nalazi u izvezenom poddirektorijumu. Onemogućavanje verifikacije smanjuje sigurnost, ali povećava brzinu prijenosa podataka.
  • sinhronizacija (asinhronizacija)- označava da server treba odgovoriti na zahtjeve samo nakon što se promjene koje su ti zahtjevi zapisali na disk. Async opcija govori serveru da ne čeka da se informacije zapišu na disk, što poboljšava performanse, ali smanjuje pouzdanost, jer gubitak informacija je moguć u slučaju prekida veze ili kvara opreme.
  • wdelay (ne_wdelay)- Kaže serveru da odgodi izvršenje zahtjeva za pisanjem ako je sljedeći zahtjev za pisanje na čekanju, zapisivanje podataka u veće blokove. Ovo poboljšava performanse pri slanju velikih redova za pisanje. no_wdelay označava da se ne odgađa izvršenje komande za pisanje, što može biti korisno ako server primi veliki broj komandi koje nisu međusobno povezane.

Izvoz simboličkih veza i datoteka uređaja. Prilikom izvoza hijerarhije direktorija koji sadrže simboličke veze, objekt veze mora biti dostupan klijentskom (udaljenom) sistemu, odnosno mora biti ispunjeno jedno od sljedećih pravila:

Datoteka uređaja se odnosi na interfejs. Kada izvezete datoteku uređaja, ovo sučelje se izvozi. Ako klijentski sistem nema uređaj istog tipa, tada izvezeni uređaj neće raditi. Na klijentskom sistemu, kada montirate NFS objekte, možete koristiti opciju nodev tako da se datoteke uređaja u montiranim direktorijumima ne koriste.

Podrazumevane opcije se mogu razlikovati od sistema do sistema, mogu se videti u datoteci / var / lib / nfs / etab. Nakon opisa izvezenog direktorija u / etc / exports i ponovnog pokretanja NFS servera, sve nedostajuće opcije (čitaj: zadane opcije) će se odraziti u / var / lib / nfs / etab datoteci.

Opcije prikaza (podudaranja) korisničkog ID-a

Za bolje razumijevanje sljedećeg, savjetujem vam da pročitate članak. Svaki Linux korisnik ima svoj UID i glavni GID, koji su opisani u datotekama / etc / passwd i / etc / grupa... NFS server pretpostavlja da je operativni sistem udaljenog hosta autentifikovao korisnike i dodijelio im ispravne UID-ove i GID-ove. Izvoz datoteka daje korisnicima na klijentskom sistemu isti pristup ovim datotekama kao da se prijavljuju direktno na server. Shodno tome, kada NFS klijent pošalje zahtjev serveru, server koristi UID i GID za identifikaciju korisnika na lokalnom sistemu, što može dovesti do nekih problema:

  • korisnik možda nema iste identifikatore u oba sistema i, shodno tome, može pristupiti datotekama drugog korisnika.
  • pošto Ako root korisnik ima identifikator uvijek 0, tada se ovaj korisnik preslikava na lokalnog korisnika ovisno o navedenim opcijama.

Sljedeće opcije definiraju pravila za mapiranje udaljenih korisnika na lokalne:

  • root_squash (ne_root_squash)- Sa datom opcijom root_squash, zahtjevi od root korisnika se mapiraju na anonimni uid / gid, ili na korisnika navedenog u parametru anonuid / anongid.
  • ne_all_squash (sve_squash)- Ne mijenja UID / GID korisnika koji se povezuje. Opcija all_squash postavlja SVE korisnike (ne samo root) da budu prikazani kao anonimni ili navedeni u parametru anonuid / anongid.
  • anonuid = UID i anongid = GID - Eksplicitno postavlja UID/GID za anonimnog korisnika.
  • map_static = / etc / file_maps_users - Određuje datoteku u kojoj možete postaviti mapiranje udaljenog UID-a / GID-a - lokalnog UID-a / GID-a.

Primjer korištenja datoteke mapiranja korisnika:

ARCHIV ~ # cat / etc / file_maps_users # Mapiranje korisnika # udaljeni lokalni komentar uid 0-50 1002 # mapiranje korisnika na udaljeni UID 0-50 na lokalni UID 1002 gid 0-50 1002 # mapiranje korisnika na / span udaljeni GID 0-50 do lokalni GID 1002

Upravljanje NFS serverom

NFS serverom se upravlja pomoću sljedećih uslužnih programa:

  • nfsstat
  • showmsecure (nesigurna) tačka

nfsstat: NFS i RPC statistika

Pomoćni program nfsstat vam omogućava da vidite statistiku RPC i NFS servera. Opcije komande se mogu pogledati u man nfsstat.

showmount: prikaz informacija o NFS statusu

Showmount uslužni program pita demona rpc.mountd na udaljenom hostu za montirane sisteme datoteka. Po defaultu, vraća se sortirana lista klijenata. Ključevi:

  • --sve- prikazuje se lista klijenata i tačaka montiranja, pokazujući gdje je klijent montirao direktorij. Ove informacije možda nisu pouzdane.
  • --direktorije- data je lista tačaka montiranja
  • --izvoz- daje listu izvezenih sistema datoteka sa stanovišta nfsd-a

Ako pokrenete showmount bez argumenata, konzola će prikazati informacije o sistemima kojima je dozvoljeno montiranje lokalni imenike. Na primjer, ARCHIV host nam daje listu izvezenih direktorija s IP adresama hostova kojima je dozvoljeno montiranje navedenih direktorija:

FILES ~ # showmount --exports archiv Izvozi listu za arhivu: / archiv-big 10.0.0.2 / archiv-small 10.0.0.2

Ako navedete ime hosta / IP u argumentu, bit će prikazane informacije o ovom hostu:

ARCHIV ~ # showmount fajlovi clnt_create: RPC: Program nije registrovan # ova poruka nam govori da NFSd demon ne radi na FILES hostu

exportfs: upravlja izvezenim direktorijumima

Ova naredba opslužuje izvezene direktorije navedene u datoteci / etc / izvoz, bit će tačnije pisati ne služi, već se sinhronizuje sa datotekom / var / lib / nfs / xtab i uklanja nepostojeće iz xtab-a. exportfs se izvršava kada se nfsd demon pokrene sa -r argumentom. Eksportfs uslužni program u režimu kernela 2.6 komunicira sa demonom rpc.mountd preko datoteka u / var / lib / nfs / direktorijumu i ne komunicira direktno sa kernelom. Bez parametara, navodi trenutno izvezene sisteme datoteka.

Exportfs opcije:

  • [klijent: ime-direktorija] - dodajte ili uklonite navedeni sistem datoteka za navedenog klijenta)
  • -v - prikaz više informacija
  • -r - ponovni izvoz svih direktorija (sinhronizacija / etc / izvoz i / var / lib / nfs / xtab)
  • -u - ukloniti sa liste izvezenih
  • -a - dodati ili ukloniti sve sisteme datoteka
  • -o - opcije razdvojene zarezima (slično opcijama koje se koriste u / etc / izvozima; tako da možete promijeniti opcije za već montirane sisteme datoteka)
  • -i - ne koristi / etc / izvoze prilikom dodavanja, samo parametre trenutne komandne linije
  • -f - resetirajte listu izvezenih sistema u kernelu 2.6;

NFS klijent

Prije pristupa datoteci na udaljenom sistemu datoteka, klijent (klijent OS) mora montiraj ga i dobiti sa servera pokazivač na to. Montaža NFS može se uraditi sa ili uz pomoć jednog od plodnih automatskih asemblera (amd, autofs, automount, supermount, superpupermount). Proces montaže je dobro prikazan na gornjoj ilustraciji.

On NFS klijenti ne treba pokretati demone, klijentske funkcije izvršava modul kernela kernel / fs / nfs / nfs.ko koji se koristi prilikom montiranja udaljenog sistema datoteka. Izvezeni direktoriji sa servera mogu se montirati na klijenta na sljedeće načine:

  • ručno pomoću naredbe mount
  • automatski pri pokretanju, prilikom montiranja sistema datoteka opisanih u / etc / fstab
  • automatski koristeći autofs demon

Neću razmatrati treću metodu sa autofs-om u ovom članku, zbog obimnih informacija. Možda će u sljedećim člancima biti poseban opis.

Montirajte sistem mrežnih datoteka pomoću naredbe mount

Primjer korištenja naredbe mount je predstavljen u postu. Evo primjera naredbe mount za montiranje NFS sistema datoteka:

FILES ~ # mount -t nfs arhiva: / archiv-small / archivs / archiv-small FILES ~ # mount -t nfs -o ro arhiva: / archiv-big / archivs / archiv-big FILES ~ # mount ..... .. archiv: / archiv-small on / archivs / archiv-small type nfs (rw, addr = 10.0.0.6) archiv: / archiv-big on / archivs / archiv-big tip nfs (ro, addr = 10.0.0.6)

Prva naredba montira izvezeni direktorij / archiv-small na serveru archiv na lokalnu tačku montiranja / archivs / archiv-small sa zadanim opcijama (tj. čitanje i pisanje). Mada mount komanda u najnovijim distribucijama, zna kako da shvati koji tip fajl sistema se koristi bez navođenja tipa, ipak specificira parametar -t nfs poželjno. Druga naredba montira izvezeni direktorij / archiv-big na serveru archiv u lokalni imenik / archivs / archiv-big sa opcijom samo za čitanje ( ro). Komanda za montiranje bez parametara, jasno nam prikazuje rezultat montiranja. Pored opcije samo za čitanje (ro), moguće je navesti i druge osnovne opcije prilikom montiranja NFS-a:

  • nosuid- Ova opcija zabranjuje izvršavanje programa iz montiranog direktorija.
  • nodev(bez uređaja - nije uređaj) - Ova opcija zabranjuje upotrebu znakova i blokira posebne datoteke kao uređaje.
  • zaključati (nolock)- Omogućava NFS zaključavanje (podrazumevano). nolock onemogućuje NFS zaključavanje (ne pokreće lockd demon) i koristan je za starije servere koji ne podržavaju NFS zaključavanje.
  • mounthost = ime- Ime hosta na kojem je pokrenut NFS demon za montiranje - mountd.
  • mountport = n - Port koji koristi demon mountd.
  • port = n- port koji se koristi za povezivanje sa NFS serverom (podrazumevano 2049 ako demon rpc.nfsd nije registrovan na RPC serveru). Ako je n = 0 (podrazumevano), tada će NFS upitati mapu portova na serveru da odredi port.
  • rsize = n(veličina bloka čitanja) - Broj bajtova koji se čitaju u jednom trenutku sa NFS servera. Standard - 4096.
  • wsize = n(veličina bloka pisanja) - Broj bajtova upisanih u jednom trenutku na NFS server. Standard - 4096.
  • tcp ili udp- Za montiranje NFS-a koristite TCP ili UDP protokol, respektivno.
  • bg- Ako izgubite pristup serveru, pokušajte ponovo u pozadini kako ne biste blokirali proces pokretanja sistema.
  • fg- Ako izgubite pristup serveru, pokušajte ponovo u režimu prioriteta. Ova opcija može blokirati proces pokretanja ponavljanjem pokušaja montiranja. Iz tog razloga, fg parametar se prvenstveno koristi u svrhu otklanjanja grešaka.

Opcije koje utiču na keširanje atributa kada se NFS montira

Atributi datoteke pohranjene u (inode), kao što su vrijeme izmjene, veličina, čvrste veze, vlasnik, obično se rijetko mijenjaju za obične datoteke, a još rjeđe za direktorije. Mnogi programi, kao što je ls, pristupaju datotekama samo za čitanje i ne mijenjaju atribute datoteke ili sadržaj, ali troše sistemske resurse na skupe mrežne operacije. Da biste izbjegli nepotrebno trošenje resursa, možete keširati date atribute... Kernel koristi vrijeme modifikacije datoteke da odredi da li je keš zastario upoređujući vrijeme modifikacije u kešu sa vremenom modifikacije same datoteke. Keš atributa se periodično ažurira prema navedenim parametrima:

  • ac (noac) (attrebute cache- keširanje atributa) - Omogućuje keširanje atributa (podrazumevano). Iako opcija noac usporava server, ona izbjegava istek atributa kada više klijenata aktivno upisuje informacije u dijeljenu hijerarhiju.
  • acdirmax = n (atribut cache fajl direktorija maksimalno- maksimum keširanja atributa za datoteku direktorija) - Maksimalni broj sekundi koji NFS čeka prije ažuriranja atributa direktorija (podrazumevano 60 sekundi)
  • acdirmin = n (atribut cache direktorij fajl minimalno- keširanje atributa barem za datoteku direktorija) - Minimalni broj sekundi koje NFS čeka prije ažuriranja atributa direktorija (podrazumevano 30 sekundi)
  • acregmax = n (atribut cache regularni fajl maksimum- maksimum keširanja atributa za običan fajl) - Maksimalni broj sekundi koje NFS čeka prije ažuriranja atributa obične datoteke (podrazumevano 60 sek.)
  • acregmin = n (cache atributa redovan fajl minimum- keširanje atributa barem za običan fajl) - Minimalni broj sekundi koje NFS čeka prije ažuriranja atributa obične datoteke (3 sekunde prema zadanim postavkama)
  • actimeo = n (vremensko ograničenje keša atributa- vremensko ograničenje keširanja atributa) - Poništava vrijednosti za sve gore navedene opcije. Ako acttimeo nije naveden, tada se gornje vrijednosti postavljaju na svoje zadane vrijednosti.

Opcije rukovanja NFS greškama

Sljedeće opcije kontroliraju kako će se NFS ponašati kada nema odgovora sa servera ili kada se pojave I/O greške:

  • fg (bg) (prednji plan- prvi plan, pozadini- pozadina) - Pokušajte montirati neuspješni NFS u prvi plan/pozadinu.
  • tvrdo (meko)- prikazuje poruku "server ne reaguje" na konzoli kada se istekne vremensko ograničenje i nastavlja pokušaje montiranja. Uz datu opciju soft- ako dođe do isteka vremena, obavještava program koji je pozvao operaciju o I/O grešci. (mekana opcija se ne preporučuje za korištenje)
  • nointr (intr) (bez prekida- ne prekidaj) - Sprečava signale da prekidaju operacije datoteka u tvrdo montiranoj hijerarhiji direktorija kada se dostigne dugo vremensko ograničenje. intr- omogućava prekid.
  • retrans = n (vrijednost retransmisije- vrijednost ponovnog prijenosa) - Nakon n malih tajm-auta, NFS generiše veliko vremensko ograničenje (3 po defaultu). Dugo vremensko ograničenje zaustavlja operacije ili prikazuje poruku "server ne odgovara" na konzoli, u zavisnosti od specificirane hard/soft opcije.
  • pokušaj ponovo = n (vrijednost ponovnog pokušaja- vrijednost ponovnog pokušaja) - Broj minuta u kojima NFS servis pokušava ponovo pokrenuti operacije prije nego što odustane (10.000 prema zadanim postavkama).
  • timeo = n (timeout vrijednost- timeout value) - Broj desetinki sekunde koje NFS servis čeka prije ponovnog prijenosa u slučaju RPC-a ili malog vremenskog ograničenja (podrazumevano 7). Ova vrijednost se povećava sa svakim timeoutom, do maksimalno 60 sekundi, ili dok ne nastupi dugo vrijeme. Na zauzetoj mreži, sporom serveru ili kada zahtjev prolazi kroz više rutera ili gatewaya, povećanje ove vrijednosti može poboljšati performanse.

Automatsko NFS montiranje pri pokretanju (opis sistema datoteka u / etc / fstab)

Da biste pronašli optimalni timeo za određenu vrijednost prenesenog paketa (vrijednosti rsize / wsize), koristite naredbu ping:

FILES ~ # ping -s 32768 arhiva PING archiv.DOMAIN.local (10.0.0.6) 32768 (32796) bajtova podataka. 32776 bajtova iz archiv.domain.local (10.0.0.6): icmp_req = 1 ttl = 64 vrijeme = 0,931 ms 32 776 bajtova iz archiv.domain.local (10.0.0.6): icmp_req = 2 ttl = 64 puta ttl 7 ms iz archiv.domain.local (10.0.0.6): icmp_req = 3 ttl = 64 vrijeme = 1,03 ms 32776 bajtova iz archiv.domain.local (10.0.0.6): icmp_req = 4 ttl = 60 ttl = 64 vrijeme = 1.07 ms od 1.07 .domain.local (10.0.0.6): icmp_req = 5 ttl = 64 vrijeme = 1,08 ms ^ C --- archiv.DOMAIN.local ping statistika --- 5 paketa preneseno, 5 primljeno, 0% gubitka paketa, vrijeme 4006ms rtt min / avg / max / mdev = 0,931 / 1,002 / 1,083 / 0,061 ms

Kao što vidite, prilikom slanja paketa veličine 32768 (32Kb), njegovo vrijeme putovanja od klijenta do servera i nazad lebdi u području od 1 milisekunde. Ako ovo vrijeme pređe skalu za 200 ms, onda biste trebali razmisliti o povećanju vrijednosti timeo-a tako da premaši vrijednost razmjene za tri do četiri puta. Shodno tome, preporučljivo je uraditi ovaj test za vrijeme jakog mrežnog opterećenja.

Pokretanje NFS-a i konfigurisanje zaštitnog zida

Bilješka je kopirana sa bloga http://bog.pp.ru/work/NFS.html, na čemu mu veliko hvala !!!

Pokrenite NFS server, montirajte, zaključajte, kvotu i status sa "ispravnim" portovima (za firewall)

  • preporučljivo je prvo demontirati sve resurse na klijentima
  • zaustavite i zabranite pokretanje rpcidmapd-a ako ne planirate da koristite NFSv4: chkconfig --level 345 rpcidmapd off service rpcidmapd stop
  • ako je potrebno, omogućite početak portmap, nfs i nfslock servisa: chkconfig --nivoi 345 portmap / rpcbind na chkconfig --nivoi 345 nfs na chkconfig --nivoi 345 nfslock na
  • ako je potrebno, zaustavite nfslock i nfs usluge, pokrenite portmap / rpcbind, skinite module servis nfslock stop servis nfs stop servis portmap start # servis rpcbind start umount / proc / fs / nfsd servis rpcidmapd zaustavi rmmod nfsd servis autofs kasnije mora stati # pokrenite rmmod nfs rmmod nfs_acl rmmod lockd
  • otvorite portove
    • za RPC: UDP / 111, TCP / 111
    • za NFS: UDP / 2049, TCP / 2049
    • za rpc.statd: UDP / 4000, TCP / 4000
    • za zaključan: UDP / 4001, TCP / 4001
    • za montiranje: UDP / 4002, TCP / 4002
    • za rpc.rquota: UDP / 4003, TCP / 4003
  • za rpc.nfsd server dodajte red RPCNFSDARGS = "- port 2049" u / etc / sysconfig / nfs
  • za mount server dodajte red MOUNTD_PORT = 4002 u / etc / sysconfig / nfs
  • da konfigurišete rpc.rquota za nove verzije, dodajte red RQUOTAD_PORT = 4003 u / etc / sysconfig / nfs
  • za konfiguraciju rpc.rquota potrebno je za starije verzije (ipak, morate imati kvotu 3.08 ili noviji paket) dodati rquotad 4003 / tcp rquotad 4003 / udp u / etc / usluge
  • će provjeriti adekvatnost / etc / izvoza
  • pokrenite servise rpc.nfsd, mountd i rpc.rquota (istovremeno se pokreću rpcsvcgssd i rpc.idmapd, ako ih niste zaboravili ukloniti) servis nfsd start ili u novim verzijama servis nfs start
  • za server zaključavanja za nove sisteme dodajte linije LOCKD_TCPPORT = 4001 LOCKD_UDPPORT = 4001 u / etc / sysconfig / nfs
  • za server zaključavanja za stare sisteme dodajte direktno u /etc/modprobe [.conf]: opcije lockd nlm_udpport = 4001 nlm_tcpport = 4001
  • povežite status server rpc.statd na port 4000 (za stare sisteme u /etc/init.d/nfslock pokrenite rpc.statd sa -p 4000 prekidačem) STATD_PORT = 4000
  • start services lockd i rpc.statd service nfslock start
  • provjerite da li su svi portovi ispravno povezani sa "lsof -i -n -P" i "netstat -a -n" (neke od portova koriste moduli kernela koje lsof ne vidi)
  • ako su klijenti prije "ponovne izgradnje" koristili server i nisu mogli biti demontirani, tada ćete morati ponovo pokrenuti usluge automatskog montiranja na klijentima (am-utils, autofs)

Primjer konfiguracije NFS servera i klijenta

Konfiguracija servera

Ako želite da vaš NFS particionirani direktorij bude otvoren i da se može pisati, možete koristiti opciju all_squash u kombinaciji sa opcijama anonuid i anongid... Na primjer, da postavite prava za korisnika "nobody" u grupi "nobody", možete učiniti sljedeće:

ARCHIV ~ # cat / etc / exports # Pristup za čitanje / pisanje za klijenta na 192.168.0.100, sa rw pristupom za korisnika 99 sa gid 99 / fajlovi 192.168.0.100 (rw, sync, all_squash, anonuid = 99, anongid) = 99) # Pristup za čitanje/pisanje za klijenta na 192.168.0.100, sa rw pristupom za korisnika 99 sa gid 99 / fajlovi 192.168.0.100 (rw, sync, all_squash, anonuid = 99, anongid = 99))

Ovo također znači da ako želite dozvoliti pristup navedenom direktoriju, nobody.nobody mora biti vlasnik podijeljenog direktorija:

man mount
čovjek izvozi
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/nfs_perf.htm - NFS performanse od IBM-a.

Pozdrav, Mc.Sim!

Govorimo vam kako da brzo i jednostavno podignete svoje NFS server na Ubuntu Linux Serveru 14-04.1, a takođe ćemo razumeti principe NFS protokola i razmotriti teoriju.

Teorija

Skraćenica NFS skraćenica od Need for Speed ​​- Mrežni sistem datoteka. To je protokol za pristup distribuiranim mrežnim sistemima datoteka, pomoću kojih možete montirati udaljene direktorije na vaš server. Ovo vam omogućava da koristite prostor na disku drugog servera za skladištenje datoteka i redovno upisujete podatke na njega sa više servera.

Protokol ima klijent-server model, odnosno jedan server (koji se naziva i "lopta" od riječi share), sa instaliranim NFS paketom, će omogućiti pristup svojim direktorijima i datotekama, a klijentski računari će se na njega povezivati ​​preko mreža. Popravimo ono što smo pročitali dijagramom:

NFS serveru se pristupa kao protokolski paketi RPC(Procedura udaljenog poziva), koja vam omogućava da obavljate različite funkcije ili procedure u drugom mrežnom prostoru, odnosno na udaljenom serveru.

Autorizacija korisnika koji se povezuju na server se vrši putem IP adrese, kao i posebnim identifikatorima korisnika UID i grupe GID... Ovo nije najbolji način u pogledu sigurnosti pohranjenih datoteka u poređenju sa klasičnim modelom login/lozinke. S druge strane, zahvaljujući ovoj arhitekturi i činjenici da je NFS koristio UDP protokol bez uspostavljanja sesije, praktički je imun na kvarove mreže i same klijentske računare. Dakle, u slučaju bilo kakvog neuspjeha, prijenos datoteke će jednostavno pauzirati, a kada se veza uspostavi, prijenos će se nastaviti bez potrebe za bilo kakvom rekonfiguracijom.

Prilagodba

Mislim da je teorija jasna, pa pređimo na praksu. Kako je rečeno, sva podešavanja će se vršiti na Ubuntu 14.04.1

Prije svega, potrebno je da instalirate potrebne komponente na računar koji će djelovati kao NFS server.

Dakle, preuzmite paket nfs-kernel-server, pomoću kojeg možemo distribuirati pristupne (“dijeljene”) direktorije. Da biste to učinili, na budućem NFS serveru unesite naredbe:

Sudo apt-get update sudo apt-get install nfs-kernel-server

Sada kreiramo stvarni direktorij kojem želimo dijeliti pristup. Vrijedi napomenuti da također možete "dijeliti" direktorije koji su već na serveru, ali mi ćemo kreirati novi:

Sudo chown nobody: nogroup / var / nfs

Unesite ovu naredbu samo za one direktorije koje ste sami kreirali, ne morate je unositi za postojeće direktorije, na primjer / home.

Sljedeći korak je da promijenite konfiguraciju samog NFS-a, leži u / etc / exports fajlu, otvorite ga za uređivanje sa vašim omiljenim editorom:

Sudo nano / etc / izvozi

Ovo će otvoriti konfiguracionu datoteku sa komentarisanim linijama, koja sadrži primere konfiguracije za različite verzije NFS-a.

Komentirani su oni sa simbolom na početku. # , a to znači da parametri navedeni u njima nemaju efekta.

Moramo dodati sljedeće nekomentirane linije u ovaj fajl:

/ var / nfs 10.10.0.10/24(rw,sync,no_subtree_check)

  • / var / nfs- Imenik koji želimo podijeliti
  • 10.10.0.10 - IP adresa i maska ​​klijentskog računara kojem želite da date pristup direktorijumu
  • rw- Omogućava klijentu čitanje (r) i pisanje (w) datoteka u direktoriju
  • sync- Ova opcija prisiljava NFS da zapiše promjene na disk prije nego što odgovori klijentu.
  • no_subtree_check- Ova opcija onemogućava provjeru da li korisnik pristupa datoteci u određenom poddirektorijumu. Ako je ova provjera omogućena, tada mogu nastati problemi kada se, na primjer, promijeni ime datoteke ili poddirektorijuma i korisnik će pokušati da im pristupi.

Nakon toga morate kreirati tabelu korespondencije između dijeljenih direktorija i klijenata, a zatim pokrenuti NFS uslugu. Da biste to učinili, unesite sljedeće naredbe.

Kombinacija "NFC" (Near field communication) sve se više nalazi u specifikacijama modernih pametnih telefona i tableta. U ovom članku pokušaćemo da razmotrimo ovaj interfejs sa stanovišta praktične upotrebe, kako bi čitaoci mogli samostalno da donesu zaključak o potrebi za njim u svom telefonu.

U testiranju smo koristili dva modela pametnih telefona koji su već detaljno pregledani na našem resursu: Acer CloudMobile S500 i Sony Xperia acro S. Također želimo skrenuti vašu pažnju na činjenicu da će se većina informacija, uključujući opisane programe i slučajeve korištenja, odnositi samo na pametne telefone bazirane na Androidu. Upravo je ovaj operativni sistem danas "najprijateljskiji" kada je u pitanju rad sa NFC-om.

Uvod

Na prvi pogled može se činiti da brojna bežična sučelja danas već pokrivaju sve moguće popularne zadatke i scenarije, pa druga opcija jednostavno nije potrebna. Međutim, ako pogledate razvoj modernih tehnologija, primijetit ćete da se sve više pažnje posvećuje pitanjima potrošnje energije, posebno kada su u pitanju mobilni uređaji. Konkretno, verzija 4.0 poznate porodice Bluetooth protokola je samo fokusirana na smanjenje potrošnje energije baterije. Druga stvar koju vrijedi spomenuti je da svaki zadatak ne zahtijeva veliki domet. Ponekad se događa čak i obrnuto - želite eksplicitno ograničiti udaljenost između uređaja koji komuniciraju. Osim očiglednog smanjenja potrošnje, ovo utiče i na sigurnost. A što se tiče količine prenesenih podataka, možete dati sličnu primjedbu. Dakle, ideja o sporom bežičnom interfejsu koji radi na kratkim udaljenostima i karakteriše ga niska potrošnja energije ima pravo na postojanje.

Kao polazna tačka u istoriji razvoja NFC-a može se uzeti 2004. godina, kada su Nokia, Philips i Sony najavili stvaranje sa ciljem razvoja i standardizacije interakcijskog interfejsa različitih uređaja zasnovanih na dodiru. Međutim, prve verzije specifikacija nastale su nešto ranije. Možda se, prema modernim standardima, tehnologija može smatrati vrlo mladom (ako ne uzmete u obzir povijest RFID-a), ali se već prilično često nalazi u stvarnim proizvodima i uslugama. Konkretno, na Mobile World Congressu 2013. održanom krajem februara, mnogi štandovi i demonstracije bili su posvećeni ovoj temi.

Ova oznaka se može naći na uređajima sa NFC tehnologijom.

Formalne karakteristike sučelja su sljedeće: rad na udaljenosti od nekoliko centimetara, maksimalna brzina razmjene informacija je oko 400 Kbps, podržana je full-duplex razmjena podataka, radna frekvencija je 13,56 MHz, vrijeme uspostavljanja veze ne prelazi 0,1 s, način rada je point-to-point. Može se vidjeti da ovi parametri radikalno razlikuju NFC od ostalih popularnih bežičnih sučelja.

Ako govorimo o uređajima, tada osim aktivnih kontrolera u NFC-u postoje i pasivne opcije (obično se zovu oznake), koje bežično primaju napajanje od aktivnog kontrolera. Jedan primjer su moderne karte javnog prijevoza. Oznake su jednostavno skladište podataka koje obično ne prelazi 4 KB veličine. Najčešće im je omogućen samo način čitanja, ali postoje opcije s podrškom za pisanje.

Jedna od najjednostavnijih pasivnih NFC oznaka

Kompaktna veličina kontrolera i njegova mala potrošnja omogućavaju implementaciju NFC-a čak i u tako malim dizajnima kao što su SIM kartice ili microSD memorijske kartice. Međutim, za potpuni rad mora se koristiti posebna antena. U telefonima se obično nalazi na stražnjoj strani poklopca odjeljka za bateriju ili ugrađen u stražnji panel ako uređaj nema bateriju koja se može ukloniti.

NFC antena se često nalazi na poleđini pametnog telefona.

Kratak domet može imati negativan učinak pri korištenju tableta - pronalaženje pravog mjesta za "pričvršćivanje" možda neće biti tako lako koliko bismo željeli. Da bi riješili ovaj problem, neki proizvođači označavaju lokaciju antene posebnim znakom. Što se tiče dometa, u našem slučaju komunikacija je radila na udaljenosti ne većoj od četiri centimetra - i između telefona i sa pasivnom oznakom.

Sa sigurnosne tačke gledišta, programeri nisu implementirali elemente zaštite od prisluškivanja i relejnih napada. To, naravno, otežava implementaciju sigurnih rješenja, jer zahtijeva da same aplikacije budu zaštićene na višem nivou. Imajte na umu da se zapravo tako dobro poznati protokol kao što je TCP / IP ponaša slično. Dakle, sa praktične tačke gledišta, gubitak telefona bez dodatne zaštite sa prilagođenim programima sistema plaćanja izgleda opasnije od presretanja komunikacija.

Možda najvažnija stvar koju danas treba znati o NFC-u je da sam interfejs ne pruža nikakve praktične slučajeve ili rješenja u stvarnom svijetu. Za razliku od, na primjer, Bluetooth-a, čiji profili jasno opisuju kako prenijeti fajl, kako povezati slušalice ili omogućiti pristup mreži, NFC je samo baza, a scenarije direktnog rada omogućava dodatni softver koji preko njega radi. To s jedne strane otvara velike mogućnosti za programere, a s druge strane im predstavlja problem u osiguravanju interakcije različitih aplikacija i uređaja.

Zanimljivo je da se bilo koji programi instalirani na pametnom telefonu ili tabletu mogu registrovati u operativnom sistemu kao rukovaoci za događaje vezane za NFC, a zatim, na eksterni „poziv“, videćete standardni meni „kako želite da izvršite ovu radnju? ”. Budući da neki scenariji za korištenje NFC-a podrazumijevaju zgodnu automatizaciju radnji, preporučljivo je ne preopteretiti uređaj takvim uslužnim programima.

NFC Forum pokušava da pomogne u ovoj nesigurnosti predlažući standardizaciju protokola za određene scenarije (posebno, NDEF za pohranjivanje kratkih poruka na tagovima i SNEP (Simple NDEF Exchange Protocol) za razmjenu informacija između uređaja), međutim, praktično određivanje kompatibilnost određenih uređaja obično je otežana zbog nedostatka detaljnih informacija od proizvođača i dijagnostičkih alata. Još jedan pomoćnik ovdje je Google, koji je ponudio vlastiti razvoj Android Beam-a u najnovijim verzijama Androida. Omogućava razmjenu nekih vrsta informacija između kompatibilnih uređaja.

Android Beam

Prvo morate biti sigurni da oba uređaja imaju omogućen NFC, aktivan Android Beam i da su im ekrani otključani. Na modelima koje smo testirali, NFC radi samo ako je ekran uključen i uređaj potpuno otključan. Ali moguće je da će se u drugim uređajima koristiti drugačiji algoritam. U svakom slučaju, aktivno sučelje zahtijeva vrlo malo baterije za rad, a za sada opisani pristup izgleda sasvim razumno. Jedan od načina da olakšate stvari je da isključite zaključani ekran. U ovom slučaju, da biste prepoznali oznaku, biće dovoljno samo da uključite pametni telefon. Još jedna neugodnost je potreba da potvrdite operaciju dodirom ekrana nakon što se uređaji nađu. To nije uvijek lako učiniti bez prekida veze, posebno kada su oba uređaja u rukama dvije različite osobe.

Sljedeći korak je odabir jedne od aplikacija na uređaju s kojeg planirate izvršiti prijenos. Konkretno, to mogu biti:

  • Google Chrome - prijenos trenutnog otvorenog linka;
  • YouTube klijent - prijenos video klipa (u obliku linka);
  • Google Maps - prijenos mjesta ili rute;
  • Kontakti - pošaljite kontakt karticu;
  • Google Play - prijenos aplikacije;
  • Galerija - prijenos fotografija.

Zatim približite uređaje jedan drugom. Kada se pronađe partner, čujete bip na uređaju koji šalje i slika radne površine se umanjuje. U ovom trenutku morate dodirnuti sliku na ekranu i držati prst dok ne čujete drugi signal - o uspješnom prijenosu.

Isprobali smo opcije sa liste, i skoro sve zaista rade. Čak i činjenica da su naše uređaje proizvodili različiti proizvođači nije ih spriječila da nađu zajednički jezik. Ali nekoliko komentara ipak vrijedi dati. Nema problema sa rutama u Google mapama, a opcija sa mestom nije baš interesantna, jer se prenosi samo prikaz trenutne karte. Tačka označena na ekranu originalnog telefona ne stiže do primaoca. Situacija se ispravlja upotrebom aplikacije "Adrese" koja ispravno prenosi podatke. Fotografija se gubi prilikom slanja kontakata, jer sa tehničke tačke gledišta, format prijenosa odgovara vcf tekstualnim datotekama. Ako govorimo o aplikacijama, onda možete slati ne samo one instalirane na telefonu, već i samo otvorene kartice na Google Play. Slično su podržane i knjige i drugi sadržaji iz trgovine. Naravno, govorimo o prijenosu linkova, a ne preuzetih ili, štaviše, kupljenih elemenata. Došlo je do problema sa slanjem fotografija: Sony uređaj nije mogao podnijeti ovu vrstu podataka. Zvanična formulacija zvuči kao "Uređaj primaoca ne podržava prijenos velike količine podataka putem Android Beam-a." Ovo je prvi znak mladalačkog interfejsa ili nedovoljne detaljnosti tehničkih specifikacija uređaja. Formalno imamo i NFC i Android Beam u dva uređaja, ali u praksi se njihove stvarne mogućnosti značajno razlikuju, a o tome možete saznati tek provjerom. Što tek reći o manje eminentnim proizvođačima - njihova implementacija ove tehnologije može biti potpuno nepredvidiva.

Inače, što se tiče samog Android Beam-a. U opisu tehnologije je naznačeno da se za prijenos podataka koristi uspostavljanje veze putem Bluetooth-a nakon inicijalne koordinacije postavki putem NFC-a. S obzirom da su svi radni formati pretpostavljali zaista malu količinu prenetih podataka, NFC brzina im je bila sasvim dovoljna, ali za fotografije očigledno ne bi bila dovoljna. Dakle, može se pretpostaviti da Sony nije implementirao prelazak na brži interfejs. Nije moguće shvatiti da li je ovaj problem softverski (podsjetimo da je na ovom uređaju instaliran Android 4.0.4) ili hardver.

Pokušali smo slati vlastitu muziku i video zapise na sličan način iz odgovarajućih aplikacija, ali ništa se nije pojavilo na prijemniku.

Čitanje i pisanje oznaka

Opisani Android Beam koristi mogućnost prijenosa i obrade kratkih informativnih poruka. Međutim, u stvarnosti, oni se ne mogu samo prenositi sa telefona, već i čitati sa pasivnih oznaka. U određenom smislu, ova tehnologija je slična dobro poznatim QR kodovima koje čita kamera telefona. U ovom slučaju, korisne informacije (na primjer, veza do stranice web stranice) zauzimaju doslovno nekoliko desetina bajtova. Oznake mogu koristiti kompanije, na primjer, za promoviranje svojih proizvoda ili usluga. S obzirom na kompaktnu veličinu pasivne oznake (tačnije, debljinu koja se može usporediti s listom papira - zbog antene će površina i dalje biti značajna, barem novčić od pet rubalja), može se postaviti gotovo bilo gdje: na kutija sa proizvodom, u časopisu, na informativnom stalku i na drugim mjestima.

Pasivne NFC oznake mogu se napraviti kao privjesci za ključeve

Ako govorimo o ručno rađenim oznakama, onda je ovo potpuno izvediv scenarij. Da biste to učinili, morate kupiti prazna polja i pomoću posebnog programa za svoj telefon zapisati potrebne informacije na njih. Na primjer, kupili smo nekoliko različitih opcija: naljepnicu minimalne debljine, zaštićeni plastični krug i privjeske za ključeve. Svi su imali vrlo malu količinu memorije - samo 144 bajta (na tržištu postoje varijante od 4 KB). Broj ciklusa prepisivanja nije naveden, ali za većinu scenarija ovaj parametar nije kritičan. Za rad sa tagovima preporučujemo programe kompanije NXP Semiconductors - TagInfo i TagWriter.

Prvi će vam omogućiti čitanje podataka iz oznake i dekodiranje informacija prema NDEF standardu, a drugi će vam pomoći da kreirate vlastite oznake. Istovremeno, podržano je nekoliko podvarijanti NDEF-a: kontakt, link, tekst, SMS, mail poruka, broj telefona, Bluetooth veza, geografska lokacija, link na lokalni fajl, pokretanje aplikacije, URI. Imajte na umu da prilikom kreiranja zapisa uzmite u obzir količinu pohranjenih podataka. Na primjer, fotografija kontakta može zauzeti nekoliko kilobajta, poruke ili tekst lako mogu premašiti 144 bajta. Inače, NFC TagInfo program NFC Research Lab-a sa posebnim dodatkom može pročitati i pokazati vam fotografiju u boji iz biometrijskog pasoša. Uz količinu podataka od deset i po kilobajta, njihovo čitanje putem NFC-a traje oko 20 sekundi. Dodatni nivo zaštite u ovom slučaju pruža potreba za navođenjem nekih pasoških podataka za čitanje podataka sa čipa.

Imajte na umu da automatsko rukovanje pročitanim oznakama zavisi od sadržaja. Konkretno, ponekad je potrebna dodatna potvrda za izvođenje same radnje. Na primjer, u slučaju SMS-a, otvara se popunjen obrazac za poruku, ali stvarno slanje mora biti potvrđeno od strane korisnika. Ali snimljena web veza može se odmah otvoriti u pretraživaču. Svaka automatizacija je povezana sa gubitkom kontrole, pa opisane mogućnosti treba koristiti s oprezom, jer jednostavnom zamjenom ili reprogramiranjem oznaka napadači vas mogu preusmjeriti na lažnu stranicu umjesto na originalnu. Nismo pronašli standardne postavke OS-a za ograničavanje takvog automatskog pokretanja (osim ako ne onemogućite sam NFC).

Još jedna važna tačka pri korištenju oznaka na javnim mjestima je zaštita od prepisivanja. Prilikom pisanja naljepnice možete postaviti zaštitnu zastavicu, koja će blokirati sve pokušaje promjene informacija, ali je više neće biti moguće ukloniti. Dakle, oznaka će se tada koristiti u načinu samo za čitanje. Za kućnu upotrebu, u većini slučajeva, to nije kritično.

Spomenut ćemo još nekoliko programa za pisanje etiketa:

Korištenje gotovih naljepnica za kontrolu uređaja

Sony je jedan od aktivnih učesnika u implementaciji NFC-a. Na njegovim uređajima je unapred instaliran program Smart Connect, koji podržava rad sa originalnim Sony oznakama. Ako želite, pomoću uslužnog programa SmartTag Maker, možete ih sami kreirati iz praznih predložaka. Za rad sa sistemom koristi se NDEF URI format sa kodiranjem broja/boje oznake u tekstualnom linku. Ukupno, sistem pruža do osam oznaka koje su označene kao “dom”, “kancelarija”, “auto”, “spavaća soba”, “slušaj”, “igraj”, “aktivnost”, “gledaj”.

Varijanta originalnih Sony SmartTags

Sam program Smart Connect radi ne samo sa NFC oznakama, već i sa drugim uređajima povezanim na telefon, uključujući slušalice, napajanje, Bluetooth uređaje. Dovoljno zgodno, standardne postavke već dobro odgovaraju gore navedenim scenarijima. U ovom slučaju, korisnik može reprogramirati sva kola; svaki od njih specificira skup uslova i radnji.

Kao uslov možete koristiti identifikaciju naljepnice ili vezu uređaja; dodatno možete ograničiti vrijeme rada kola. Skup radnji je prilično širok, uključuje pokretanje aplikacije, otvaranje linka u pretraživaču, pokretanje muzike, podešavanje jačine zvuka i načina rada, povezivanje Bluetooth audio uređaja, slanje SMS-a, upućivanje poziva, upravljanje bežičnim sučeljima, podešavanje osvetljenost i druge radnje. Štaviše, mogu im se dodeliti i izlaz iz ovog režima, što se vrši ponovnim identifikacijom oznake, novim događajem/oznakom ili po isteku određenog vremenskog intervala.

Ali u stvari, nije neophodno koristiti Sony brendirane oznake – možete pronaći i upotrebu gotovih oznaka koje ne dozvoljavaju prepisivanje informacija. Na primjer, mogu se koristiti transportne kartice. Činjenica je da svaki od njih ima svoj jedinstveni identifikator, koji se posebnim programima može povezati s određenim radnjama. Operacije kao što su promjena profila, omogućavanje/onemogućavanje sučelja i mnoge druge mogu djelovati kao moguća reakcija.

Postoji nekoliko uslužnih programa dostupnih u Play Store-u za ovaj scenario, nekoliko njih da spomenemo:

Podsjetimo da ne biste trebali instalirati nekoliko takvih programa odjednom. Pogodnost iz ovog režima neće dodati, jer kada se oznaka pronađe na ekranu telefona, pojaviće se dijaloški okvir sa izborom programa za obradu.

U potrazi za programima za rad sa etiketama, naišli smo i na drugu klasu uslužnih programa koji bi mogli biti zanimljivi u slučaju prisustva naljepnica koje se mogu pisati. Ovi programi koriste svoj originalni format snimanja, s kojim samo oni mogu raditi. Istovremeno, skup mogućih radnji je gotovo isti kao gore opisani:

Podsjetimo da se u ovom trenutku oznaka čita samo kada je uređaj otključan. Dakle, scenario "došao kući, stavio telefon na noćni ormarić - automatski prebacio profil, isključio poziv i Bluetooth, postavio alarm" zahtijevat će neke radnje od korisnika. Ovo ponašanje još uvijek malo ograničava mogućnosti programa.

Razmjena informacija između uređaja

Sa izuzetkom Android Beam-a, gore opisani scenariji pretpostavljaju jedan telefon s oznakom ili namjenskim terminalom. Ako govorimo o direktnom međusobnom povezivanju uređaja, onda je ovdje glavno pitanje kompatibilnost. Naravno, u slučaju proizvoda jednog proizvođača, posebno velikog, može se jednostavno instalirati odgovarajući program u firmware. Ali ako su uređaji proizvedeni od strane različitih proizvođača, svi će morati koristiti iste uslužne programe. I uopće nije činjenica da će vaš partner imati instaliran isti program kao i vaš.

S obzirom da je izvorna brzina NFC-a vrlo mala, za brzi prijenos datoteka obično se koristi Bluetooth ili Wi-Fi, a NFC radi samo u fazi dogovaranja parametara veze i uspostavljanja veze. Da bismo testirali ovaj scenario, isprobali smo nekoliko programa za prijenos datoteka s deklariranom podrškom za NFC na našim uređajima.

Pošalji! File Transfer (NFC) u besplatnoj verziji omogućava razmjenu datoteka fotografija, muzike i video zapisa. Za uspostavljanje veze možete koristiti NFC ili QR kodove. Prijenos se vrši putem Bluetooth ili Wi-Fi veze (u slučaju da oba uređaja imaju podršku za Wi-Fi Direct, koja nije bila dostupna na Sony telefonu). Kao rezultat toga, uspjeli smo vidjeti brzinu od 65 KB/s, što je, naravno, premalo čak i za fotografije.

Plavi NFC, kao što ime sugerira, također pojednostavljuje dijeljenje Bluetooth datoteka tako što zamjenjuje korake uključivanja, pretraživanja i uparivanja dodirom s NFC komunikacijom. Brzina rada nije velika - na nivou gore navedenog programa.

File Expert HD također koristi Bluetooth, ali brzina je već 100-200 KB/s. Međutim, pošteno radi, treba napomenuti da ovaj program ima mnogo drugih načina razmjene datoteka.

Zaključak

Od proljeća 2013. možemo reći da NFC tehnologija već pouzdano zauzima mjesto u modernim pametnim telefonima vrhunskog i srednjeg ranga. Indirektno, interesovanje za njega može se proceniti i po broju programa u Play Store-u: već postoji nekoliko stotina besplatnih projekata. S obzirom na dominaciju na tržištu (posebno u pogledu broja modela) Android platforme, upravo je ova platforma najpopularnija za NFC uređaje danas. IOS ne pruža standardne NFC alate, a Windows Phone 8 ima značajno ograničene mogućnosti za rad sa NFC-om za aplikacije trećih strana.

Sama po sebi, NFC tehnologija ima nekoliko karakteristika koje joj omogućavaju da zauzme jedinstvenu poziciju:

  • Beskontaktni prijenos podataka;
  • raditi samo na kratkim udaljenostima;
  • mogućnost razmjene informacija s drugim uređajima ili pasivnim oznakama;
  • niska cijena rješenja;
  • niska potrošnja energije;
  • niska brzina prenosa podataka.

Za pametne telefone i tablete trenutno se mogu izdvojiti tri najrelevantnije opcije za korištenje NFC-a: razmjena podataka između uređaja (kontakti, aplikacije, linkovi, fotografije i drugi fajlovi), čitanje oznaka sa posebnim informacijama i promjena načina rada/podešavanja/profila uređaj, brzo uparivanje sa perifernim uređajima (kao što su slušalice). U prvom slučaju, možete pokušati raditi sa standardnim Android Beam programom ili instalirati alternativne opcije. Mogu biti korisni kada vam je potrebna velika brzina razmjene (putem Wi-Fi), ali zahtijevaju isti program na svakom uređaju.

Pasivne oznake mogu se koristiti u gotovo svemu, od postera preko časopisa do oznaka proizvoda. Oni mogu snimiti informacije o proizvodu, vezu do web stranice, Wi-Fi postavke, kontakt informacije, geografske koordinate ili druge male količine podataka. Rasprostranjenost ovog načina razmjene informacija direktno ovisi o broju kompatibilnih uređaja među korisnicima. Ovaj scenario se može uporediti sa uobičajenim QR kodovima, koji su danas možda još jednostavniji u smislu implementacije i popularniji.

Čak se i oznake koje se ne mogu upisivati ​​mogu koristiti sa nekim programima za promjenu postavki sistema, tako da će mnogi korisnici moći isprobati ovaj scenario. Međutim, treba napomenuti da će u ovom slučaju skup opcija biti snimljen na određenom uređaju i može biti teško prenijeti ga na drugi uređaj. Većina uslužnih programa ove namjene i dalje zahtijeva vlastite snimljene oznake, što im omogućava da pohrane sve potrebne informacije u kodiranom obliku direktno u tag (ili oblak), tako da će za korištenje ovih postavki na drugom uređaju biti dovoljno imati isti program na njemu.

U ovom članku nismo pokrili slučajeve upotrebe NFC-a kao što su sistemi plaćanja, e-novčanici i mikro plaćanja, karte i kuponi, tranzitne kartice i propusnice. Ove teme, posebno prva, zaslužuju posebno razmatranje. Pokušaćemo da im se vratimo ukoliko bude interesovanja čitalaca i distribucije ovakvih rešenja.

NFS (mrežni sistem datoteka)- mrežni protokol za pristup datotekama i sistemu datoteka NFS servera, popularan u Linux/UNIX OS porodici, kao i raznim sistemima za skladištenje podataka. Microsoft je takođe, ne želeći da zaostaje za konkurencijom, uveo osnovnu funkcionalnost NFS servera još u Windows Server 2003 R2. U narednim verzijama Microsoft serverskih platformi proširene su mogućnosti ugrađenog NFS Windows servera, pojavile su se nove funkcionalnosti i alati za upravljanje. NFS server u Windows Serveru 2012 je još jedna prekretnica u razvoju ove tehnologije.

Šta je novo u ponudi Microsoft programera u ovom proizvodu? Nove karakteristike NFS servera u Windows Serveru 2012:

  1. Podrška za NFS v4.1... Podrška za najnoviju verziju NFS 4.1 je jedna od glavnih inovacija u Windows Serveru 2012. U poređenju sa NFS v3, ovaj protokol pruža poboljšanu sigurnost, performanse i interoperabilnost, u potpunosti implementirajući sve aspekte RFC 5661.
  2. Izvedba izvan kutije. Koristeći novu RPC-XDR transportnu infrastrukturu, optimalne performanse NFS servera se mogu postići iz kutije bez potrebe za podešavanjem sistema. Optimalne performanse se postižu kroz keš memoriju za automatsko podešavanje, udruživanje radnih procesa i dinamičko upravljanje skupovima na osnovu njihovog opterećenja.
  3. Pojednostavljeno postavljanje i upravljanje... Ova činjenica je postignuta zahvaljujući:
    • - 40+ PowerShell cmdleta za konfigurisanje NFS servera i upravljanje deljenim fasciklama
    • - jednostavno grafičko sučelje za upravljanje koje vam omogućava da istovremeno upravljate i SMB i NFS dijeljenjem, kao i postavkama pregleda datoteka itd.
    • - fiksiranje RPC porta (port 2049) radi lakšeg konfigurisanja firewall-a
    • - novi provajder WMI v2
    • - pojednostavljena identifikacija zbog ravne datoteke za mapiranje
  4. NFSv3 poboljšanja... Brzim slanjem obavještenja o nadilaženju greške klijentima od strane Network Status Monitora (NSM), stariji NFS klijenti brže i bolje upravljaju prebacivanjem greške, što znači manje zastoja.

Dakle, NFS server u Windows Serveru 2012 je znatno poboljšan u smislu lakoće implementacije, skalabilnosti, stabilnosti, dostupnosti, pouzdanosti, sigurnosti i kompatibilnosti. Dijeljenim folderima se može istovremeno pristupiti putem SMB i NFS-a, što znači da se Windows Server 2012 može koristiti kao skladište u heterogenim mrežama.

NFS server u Windows Server 2012 može se instalirati pomoću GUI-a i Powershell-a. Da biste instalirali NFS server pomoću grafičkog sučelja, otvorite i, unutar uloge File and Storage Services, provjerite komponentu Server za NFS.

Nakon završetka instalacije NFS komponente, server se mora ponovo pokrenuti.

Instaliranje iste uloge pomoću Powershell-a je također jednostavno, samo pokrenite naredbu:

Add-WindowsFeature "FS-NFS-Service"

Konfiguriranje NFS dijeljene mape u Windows Serveru 2012

Zatim ćemo pokazati kako, koristeći ulogu koju smo instalirali, kreiramo NFS deljenje (deljeni folder) na Windows serveru. Postoji nekoliko načina da ponovo kreirate NFS deljenje: korišćenjem grafičkog interfejsa ili Powershell-a.

Kreirajte NFS dijeljenje koristeći konzolu upravitelja servera

Otvorite konzolu Server Manager, idite na odjeljak Upravljanje dionicama(nalazi se unutar uloge Usluge datoteka i pohrane).
U kontekstualnom meniju pokrenite čarobnjak za novi zajednički direktorij - Novo Podijeli...

Odaberite vrstu loptica NFSPodijeli -Brzo

Zatim morate postaviti tip provjere autentičnosti za NFS klijente: moguće, koristite i Kerberos autentifikaciju i anonimnu.

Pretpostavimo da će potrošač kreiranog NFS resursa biti ESXi server virtuelizacije, u kojem ne postoji mogućnost provjere autentičnosti NFS veza (ESXi ne podržava NFSv4). Stoga će tip provjere autentičnosti biti Nema provjere autentičnosti servera, također napominjemo opcije Omogućite nemapirani korisnički pristup i Dozvolite pristup nemapiranom korisniku putem UID-a / GID-a.

Da bismo malo zaštitili kreirani NFS dijeljeni od pristupa trećih strana, ograničit ćemo pristup NFS resursu putem IP adrese klijenta.

Domaćin: 192.168.1.100
Language Encoding: BIG5
Dozvole za dijeljenje: Čitanje / pisanje
Dozvolite root pristup: Da

Zatim, ostaje provjeriti da li na NTFS nivou korisnik na kojeg je mapiran korisnik koji se povezuje ima pristup za čitanje/pisanje (ako odlučite koristiti anonimni pristup, morat ćete svakom korisniku dati puna r/w prava na NTFS-u nivo).

Kako kreirati NFS dijeljenje koristeći Powershell

Kreirajmo novi NFS share:

Novo-NfsShare -Naziv "NFS" -Putanja "d: \ shares \ nfr" -AllowRootAccess $ true -Dozvola Readwrite -Autentifikacija sys

Dozvolimo pristup kugli za IP adresu 192.168.1.100 i postavimo kodiranje na BIG5 (mogućnost pregleda sadržaja NFS kuglica za ESXi klijent).

Grant-NfsSharePermission -Naziv “NFS” -ClientName 192.168.1.100 -ClientType host -LanguageEncoding BIG5

Stvorena NFS lopta se može koristiti, na primjer, kao NFS-skladište podataka u okruženju virtuelizacije, ili za pristup podacima sa drugih klijenata sličnih Unixu. Kako montirati NFS podjelu u Windows - klijentima opisano je u članku.

Svi znaju da je na UNIX sistemima sistem datoteka logički skup fizičkih sistema datoteka povezanih na jednu tačku. Jedna od najosnovnijih čari takve organizacije, po mom mišljenju, je mogućnost dinamičke modifikacije strukture postojećeg sistema datoteka. Takođe, zahvaljujući naporima programera, danas smo u mogućnosti da povežemo FS gotovo bilo koje vrste i na bilo koji pogodan način. Govoreći "na neki način", prije svega želim da istaknem mogućnost rada OS kernela sa sistemima datoteka putem mrežnih veza.

Mnogi mrežni protokoli nam pružaju mogućnost rada sa udaljenim datotekama, bilo da se radi o FTP, SMB, Telnet ili SSH. Zbog sposobnosti kernela, u krajnjoj liniji, da ne zavisi od tipa FS-a, u mogućnosti smo da koristimo program za montiranje da povežemo bilo šta i kako želite.

Danas želim da pričam o NFS - sistemu mrežnih datoteka. Ova tehnologija omogućava da se pojedinačne tačke sistema datoteka na udaljenom računaru povežu sa sistemom datoteka lokalnog računara. Sam NFS protokol vam omogućava da izvršavate operacije sa datotekama prilično brzo, sigurno i pouzdano. Šta nam još treba? :-)

Šta je potrebno da bi ovo funkcioniralo

Kako ne bismo dugo gunđali na temu NFS verzija i njihove podrške u raznim kernelima, odmah ćemo pretpostaviti da je vaša verzija kernela najmanje 2.2.18. U službenoj dokumentaciji programeri obećavaju punu podršku za funkcionalnost NFS verzije 3 u ovom kernelu i novijim.

Instalacija

Da bih pokrenuo NFS server na mom Ubuntu 7.10 - Gutsy Gibbon, morao sam da instaliram pakete nfs-common i nfs-kernel-server. Ako vam je potreban samo NFS klijent, ne morate instalirati nfs-kernel-server.

Podešavanje servera

Nakon što su svi paketi uspješno instalirani, morate provjeriti da li je NFS demon pokrenut:

/etc/init.d/nfs-kernel-server status

Ako demon nije pokrenut, mora se pokrenuti naredbom

/etc/init.d/nfs-kernel-server start

Nakon što je sve uspješno započelo, možete započeti izvoz sistema datoteka. Sam proces je vrlo jednostavan i traje minimalno vrijeme.

Glavna konfiguracijska datoteka NFS servera nalazi se u / etc / exports i ima sljedeći format:

Imenik mašina1 (opcija11, opcija12) mašina2 (opcija21, opcija22)

imenik- apsolutna putanja do direktorija FS servera kojem želite dati pristup

machineX- DNS ime ili IP adresa klijentskog računara sa kojeg je pristup dozvoljen

opcijaXX- FS izvozni parametri, najčešće korišteni od njih:

  • ro- pristup datotekama je dozvoljen samo za čitanje
  • rw- pristup za čitanje / pisanje
  • no_root_squash- podrazumevano, ako se povežete na NFS deljenje kao root, server će, iz bezbednosnih razloga, sa svoje strane pristupiti datotekama kao korisnik niko. Međutim, ako omogućite ovu opciju, datotekama na strani servera će se pristupati kao root. Budite oprezni s ovom opcijom.
  • no_subtree_check- podrazumevano, ako ne izvozite celu particiju na serveru, već samo deo sistema datoteka, demon će proveriti da li se traženi fajl fizički nalazi na istoj particiji ili ne. Ako izvezete cijelu particiju ili tačka montiranja izvezenog sistema datoteka ne utiče na datoteke iz drugih fizičkih volumena, možete omogućiti ovu opciju. Ovo će vam dati povećanje brzine servera.
  • sync- omogućite ovu opciju ako postoji vjerovatnoća iznenadnog prekida veze ili nestanka struje servera. Ako ova opcija nije omogućena, rizik od gubitka podataka kada je NFS server iznenada zaustavljen je znatno povećan.

Dakle, recimo da želimo da ashep-desktopu damo pristup direktorijumu /var/backups ashep-laptop-a. Pristup direktorijumu je neophodan za kopiranje datoteka rezervnih kopija sa ashep-desktop-a. Dobio sam sljedeći fajl:

/ var / backups ashep-desktop (rw, no_subtree_check, sync)

Nakon što dodate red u / etc / exports, morate ponovo pokrenuti NFS server da bi promjene stupile na snagu.

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

To je sve. Možete započeti povezivanje izvezenog sistema datoteka na klijentskom računaru.

Podešavanje klijenta

Na strani klijenta, udaljeni sistem datoteka se montira na isti način kao i svi ostali - komandom mount. Takođe, niko vam ne zabranjuje da koristite /etc/fstab ako trebate da povežete FS automatski kada se OS pokrene. Dakle, opcija sa montažom će izgledati ovako:

Mount -t nfs ashep-laptop: / var / backups / / mnt / ashep-laptop / backups /

Ako je sve prošlo dobro i morate se automatski povezati na udaljeni sistem datoteka pri pokretanju - samo dodajte red u / etc / fstab:

Ashep-laptop: / var / backups / mnt / ashep-laptop / backups nfs auto 0 0

Šta još

Evo praktičnog, malog pregleda mogućnosti NFS-a. Naravno, ovo je samo mali dio onoga što NFS može učiniti. Ovo je dovoljno za kućnu ili malu kancelariju. Ako vam ovo nije dovoljno, preporučujem da prije svega pročitate.

Podijelite ovo