„Sun Microsystems“ NFS (tinklo failų sistema) yra RPC pagrįsta paskirstytos failų sistemos struktūra, leidžianti tinklo įrenginiams naudoti serverius, kuriuose tinkle veikia NFS, kaip vietinius diskus.
Štai nuoseklus vadovas, kaip nustatyti ir konfigūruoti NFS serverį Linux kompiuteryje.
Kas yra tinklo failų sistema?
NFS failų sistema turi keturis protokolus. Kai serveris yra paruoštas, jis praneša portmap (serveris, konvertuojantis protokolą į prievado numerius) apie naudojamą prievadą ir pateikia valdomos RPC programos numerį.
Naudojant įterptąją Linux sistemą, labai patogu paleisti įrenginį naudojant NFS failų bendrinimą tinkle, o ne paleisti tiesiai iš saugojimo įrenginio (NAND flash, eMMC, MMC, ir tt).
Nors ir rečiau, galbūt norėsite prijungti NFS bendrinamą failą ir bendrinti failus naudodami jį po to, kai sistema paleidžiama, net jei nepaleidžiate sistemos tiesiogiai iš NFS bendrinimo. Kad abu scenarijai veiktų, pirmiausia turite įdiegti NFS serverį kompiuteryje, kuriame kuriate.
Kaip įdiegti NFS Linux sistemoje
Jei naudojate a Debian pagrindu sukurta sistema pvz., Ubuntu ar Linux Mint, turėtumėte įdiegti nfs-kernel-server paketą taip:
sudo apt diegti nfs-kernel-serveris
„Arch Linux“:
sudo pacman -S nfs-utils
„Fedora“, „CentOS“ ir „RHEL“:
sudo dnf -y diegti nfs-utils
Proceso pabaigoje jūsų NFS serveris veiks automatiškai. Tačiau šiuo metu ji dar nežino, kuriuos jūsų kompiuterio katalogus norite bendrinti tinkle. Todėl pagal numatytuosius nustatymus jis neteikia jokio bendrinimo.
Tame pačiame serveryje galite atidaryti kelis katalogus, kad galėtumėte bendrinti tinklą su skirtingais įgaliojimais ir apribojimais.
NFS serverio konfigūravimas sistemoje „Linux“.
Norint bendrinti bet kurį katalogą per NFS serverį, reikia sukonfigūruoti su katalogu susijusį parametrą /etc/exports failą. Atidarykite failą bet kuriuo pasirinktu teksto redaktoriumi. Prie komandos būtinai pridėkite sudo priešdėlį.
sudo vim /etc/eksportas
Jums gali kilti klausimas, ką reiškia čia matomos žemėlapių parinktys:
- root_squash: Pažymi sudo įgaliotus kliento vartotojus kaip niekieno vartotoją ir grupę NFS
- no_root_squash: Išjungia šaknų gniuždymą
- all_squash: Skirtingai nuo root_squash, jis leidžia visus vartotojus susieti kaip niekieno naudotojus ir grupę. Paprastai jis naudojamas viešai prieigai.
- no_all_squash: All_squash priešingybė; ši parinktis yra numatytoji
Kai sistema, nepatenka į IP diapazonus, kuriuos leidžiate NFS serverio faile /etc/exports, bando pasiekti atitinkamą šaltinį, NFS serveris atmes užklausą.
Diegdami įterptojoje sistemoje galite gauti pranešimus „serveris uždraudė prieigą“. Pabaigoje pasirodys klaidų pranešimai, panašūs į toliau pateiktus /var/log/syslog failą kompiuteryje, kuriame veikia NFS serveris:
rpc.mountd[1041]: atmestas montavimo prašymas iš192.168.2.2dėl /home/example/casper/target (/home/pavyzdys/casperas/taikinys): neprilygstamas kompiuteris
Kai matote nesuderinamą pagrindinio kompiuterio žurnalo pranešimą, kaip nurodyta aukščiau, turėtumėte išplėsti atitinkamos taisyklės IP/tinklo kaukę skyrių /etc/exports faile arba naudoti žvaigždute (*) specialusis simbolis, jei norite suteikti prieigą prie visų IP adresų.
Atlikę pakeitimus, turite iš naujo paleisti NFS paslaugą /etc/exports failas:
sudo paslauga nfs-kernel-server paleiskite iš naujo
Arba, jei jūsų platinimas pristatomas su systemctl, paleiskite šią komandą:
sudosystemctlperkrautinfs-serveris.paslauga
Taip pat galite duoti -r parametras į eksportas komandą, kad ji iš naujo bendrintų katalogus, kurie pakeitė visus su bendrinimu susijusius nustatymus:
sudo exportfs -r
Montavimo delsos problemos sprendimas
Kai serveryje naudojate 4 ir naujesnę NFS protokolo versiją, gali būti iki 15 sekundžių vėlavimų. kliento pusės prijungimo procesas tradiciniuose veikimo scenarijuose su numatytosiomis NFS konfigūracijomis serveris. Ši problema gali atsirasti kai kuriose Debian, Fedora ir Ubuntu versijose.
Jei patiriate panašų atsilikimą, galite patikrinkite serverio žurnalo failus (/var/log/syslog, /var/log/messages) žurnalo pranešimui, panašaus į šį:
... RPC: baigėsi AUTH_GSS iškvietimo skirtasis laikas
Šis pranešimas rodo, kad Kerberos autentifikavimas nepavyko ir baigėsi skirtasis laikas. Tikriausiai jums nereikės Kerberos protokolo saugumo autentifikavimui tinkle jūsų aplinkoje. Net jei esate taip sukonfigūruotame tinkle, bent jau su įterptomis Linux sistemomis, jums nereikės įjungti Kerberos autentifikavimo.
Nors buvo pasiūlytos alternatyvos paleisti GSSD paslaugą su NFS, kad būtų išspręsta problema, šie metodai neturi toks pat poveikis visuose platinimuose ir paketų versijose, todėl racionaliausia šią problemą spręsti iš šaknis.
Turite užblokuoti (arba įtraukti į juodąjį sąrašą). rpcsec_gss_krb5 branduolio modulis neįkeliamas į „Linux“ sistemą, kurioje vykdomas NFS serveris.
Kad ši parinktis įsigaliotų kiekvieną kartą iš naujo paleidus kompiuterį, sukurti naują failą paskambino /etc/modprobe.d/nfs-gss-blacklist.conf ir pridėkite prie jo šias eilutes:
juodasis sąrašas rpcsec_gss_krb5
Išsaugojus failą ir iš naujo paleidus sistemą, prijungimo delsos problema išnyks.
Kodėl verta naudoti NFS serverį?
NFS yra paprastas ir prieinamas nustatymas. Tai leidžia centralizuotai valdyti, o tai sumažina papildomos programinės įrangos ir atminties vietos poreikį atskiro vartotojo kompiuteryje. Viename įrenginyje keli vartotojai gali dalytis ta pačia vieta diske. Jie gali įdėti šiuos diskus į savo failų sistemą, kad padidintų saugyklos vietą.
NFS bendrinimas leidžia programas, kurioms reikia daug vietos, sugrupuoti į vieną serverį. Dėl to galima sutaupyti daug vietos diske. Nors ankstesnės NFS versijos yra pažeidžiamos, naujesnėse versijose įdiegta papildomų apsaugos lygių, įskaitant Kerberos autentifikavimą.
Tačiau yra ir tam tikrų trūkumų. Nustatyta, kad NFS kai kuriais atvejais sulėtėja esant dideliam tinklo srautui. Bendrinti su „Windows“ galima, tačiau gali prireikti kai kurių trečiųjų šalių programų. Tačiau tai nėra labai protinga praktika saugumo požiūriu. Jei konfigūracija neteisinga, gali atsirasti neteisėta prieiga.
Lengvas failų sistemos bendrinimas sistemoje „Linux“, naudojant NFS
Saugumo problemų žinojimas ir sprendimų paieška yra viena iš svarbiausių sistemos administratoriaus užduočių. Būtina žinoti visų failų bendrinimo sistemų ir valdymo įrankių, o ne tik NFS, saugos procedūras.