Sun Microsystemsi NFS (Network File System) on RPC-põhine hajutatud failisüsteemi struktuur, mis võimaldab võrguseadmetel kasutada kohalike draividena servereid, mis töötavad võrgu kaudu.

Siin on samm-sammuline juhend NFS-serveri seadistamiseks ja konfigureerimiseks Linuxi masinas.

Mis on võrgu failisüsteem?

NFS-failisüsteemil on neli protokolli. Kui server on valmis, teavitab see portmapi (server, mis teisendab protokolli pordinumbriteks) kasutatavast pordist ja annab kontrollitud RPC programmi numbri.

Manustatud Linuxi süsteemi kasutamisel on väga mugav seadme käivitamine NFS-i failijagamise kaudu võrgu kaudu, selle asemel, et seda otse salvestusseadmest käivitada (NAND flash, eMMC, MMC, jne.).

Kuigi see on harvem, võite soovida ka pärast süsteemi käivitumist ühendada NFS-i ühiskasutusse ja seda kasutades faile jagada, isegi kui te ei käivita oma süsteemi otse NFS-i jagamisest. Mõlema stsenaariumi toimimiseks peate esmalt installima NFS-serveri arvutisse, mida arendate.

Kuidas installida NFS-i Linuxi

Kui kasutate a Debianil põhinev süsteem nagu Ubuntu või Linux Mint, peaksite installima nfs-kernel-server pakkida järgmiselt:

sudo apt installida nfs-kernel-server

Arch Linuxis:

sudo pacman -S nfs-utils

Fedoras, CentOSis ja RHELis:

sudo dnf -y installida nfs-utils

Protsessi lõpus käivitub teie NFS-server automaatselt. Kuid praegu ei tea ta veel, milliseid teie arvuti katalooge soovite võrgu kaudu jagada. Seetõttu ei paku see vaikimisi jagamist.

Saate avada samas serveris mitu kataloogi, et võimaldada võrgu jagamist erinevate volituste ja piirangutega.

NFS-serveri konfigureerimine Linuxis

Mis tahes kataloogi jagamiseks üle NFS-serveri on vaja konfigureerida kataloogiga seotud säte /etc/exports faili. Avage fail mis tahes valitud tekstiredaktoriga. Lisage käsule kindlasti sudo eesliide.

sudo vim /etc/eksporti

Teil võib tekkida küsimus, mida siin kuvatavad kaardistamisvalikud tähendavad:

  • root_squash: Märgib sudo volitatud kliendi kasutajad NFS-is mittekellegi kasutajaks ja rühmaks
  • no_root_squash: Keelab juurte muljumise
  • all_squash: Erinevalt root_squashist võimaldab see kõik kasutajad vastendada mittekeegi kasutajaks ja rühmaks. Tavaliselt kasutatakse seda avalikuks juurdepääsuks.
  • no_all_squash: All_squash vastand; see valik on vaikeseade

Kui süsteem, mis asub väljaspool NFS-serveri failis /etc/exports lubatud IP-vahemikke, proovib vastavale ressursile juurde pääseda, lükkab NFS-server taotluse tagasi.

Manustatud süsteemi ühendamisel võite saada teateid "juurdepääs keelatud serveri poolt". Alljärgnevaga sarnased veateated kuvatakse lehe lõpus /var/log/syslog fail arvutis, kus töötab NFS-server:

rpc.mountd[1041]: ühendamistaotlus tagasi lükatud alates192.168.2.2jaoks /home/example/casper/target (/home/näide/casper/sihtmärk): sobimatu host

Kui näete ülaltoodule sarnast sobimatut hosti logiteadet, peaksite failis /etc/exports laiendama vastava reegli jaotist IP/Netmask või kasutama tärn (*) erimärk, kui soovite anda juurdepääsu kõigile IP-aadressidele.

Pärast muudatuste tegemist peate NFS-teenuse taaskäivitama /etc/exports fail:

sudo teenus nfs-kernel-server taaskäivitage

Või kui teie distro tarnitakse süsteemiga systemctl, käivitage järgmine käsk:

sudosystemctlTaaskäivitanfs-server.teenus

Võite anda ka -r parameetrile eksportfs käsk, nii et see jagab uuesti katalooge, mis on muutnud jagamisega seotud sätteid:

sudo exportfs -r

Mount latentsuse probleemi lahendamine

Kui kasutate oma serveris NFS-protokolli versiooni 4 või uuemat, võib selle ajal esineda viivitusi kuni 15 sekundit. kliendipoolne ühendamisprotsess traditsioonilistes tööstsenaariumides NFS-i vaikekonfiguratsioonidega server. See probleem võib ilmneda mõnes Debiani, Fedora ja Ubuntu versioonis.

Kui teil on sarnane paigaldusviivitus, saate seda teha kontrollige serveripoolseid logifaile (/var/log/syslog, /var/log/messages) järgmisega sarnase logiteate jaoks:

... RPC: AUTH_GSS-i üleskutse aegus

See teade näitab, et Kerberose autentimine ebaõnnestus ja aegus. Tõenäoliselt ei vaja te oma keskkonnas võrgu turvaautentimiseks Kerberose protokolli. Isegi kui olete sellisel viisil konfigureeritud võrgus, ei pea te Kerberose autentimist lubama vähemalt oma manustatud Linuxi süsteemidega.

Kuigi probleemi lahendamiseks on pakutud alternatiive GSSD-teenuse käitamiseks NFS-iga, pole neil lähenemisviisidel sama mõju kõikidele distributsioonidele ja paketiversioonidele ning seetõttu on kõige ratsionaalsem seda probleemi lahendada juur.

Peate blokeerima (või musta nimekirja). rpcsec_gss_krb5 kerneli mooduli laadimisest Linuxi süsteemi, kus NFS-server töötab.

Et see valik jõustuks iga kord, kui arvuti taaskäivitate, luua uus fail helistas /etc/modprobe.d/nfs-gss-blacklist.conf ja lisage sellele järgmised read:

must nimekiri rpcsec_gss_krb5

Kui olete faili salvestanud ja süsteemi taaskäivitanud, kaob paigaldamise latentsusprobleem.

Miks kasutada NFS-serverit?

NFS-i seadistamine on lihtne ja taskukohane. See võimaldab tsentraliseeritud haldust, mis vähendab täiendava tarkvara ja salvestusruumi vajadust üksiku kasutaja arvutis. Ühes masinas saavad mitu kasutajat jagada sama kettaruumi. Nad saavad salvestusruumi laiendamiseks need kettad oma failisüsteemi peale panna.

NFS-i ühiskasutus võimaldab palju salvestusruumi nõudvaid programme rühmitada ühte serverisse. See võib kaasa tuua tohutu kettaruumi kokkuhoiu. Kui varasemad NFS-i versioonid on haavatavad, on uuemates versioonides kasutusele võetud täiendavad kaitsetasemed, sealhulgas Kerberose autentimine.

Siiski on ka mõned puudused. On leitud, et NFS aeglustub mõnel juhul tiheda võrguliikluse ajal. Windowsiga jagamine on võimalik, kuid selleks võib vaja minna mõnda kolmanda osapoole rakendust. Aga see ei ole turvalisuse mõttes kuigi mõistlik praktika. Kui konfiguratsioon pole õige, võib tekkida volitamata juurdepääs.

Failisüsteemi jagamine on Linuxis NFS-i abil lihtne

Turvaprobleemide tundmine ja lahenduste leidmine on süsteemiadministraatori üks kriitilisemaid ülesandeid. Peate teadma kõigi failijagamissüsteemide ja -haldustööriistade, mitte ainult NFS-i turvaprotseduure.