NFS prijungimo taško sukūrimą „Windows 10“ kliente aprašysiu šios serijos 2 dalyje. Dabar sutelkime dėmesį į „Ubuntu“ serverį, siūlantį NFS saugyklą, ir „Ubuntu“ klientą, bandantį prisijungti prie jo.
Sąranka
Mano NFS serveris bus pagrįstas „Ubuntu 18“.04 LTS. Galite naudoti savo mėgstamą „Linux“ distributorių ar „FreeBSD“, ar bet kurią kitą OS, palaikančią „OpenZFS“. Mano priežastis naudoti „Ubuntu 18“.04 yra tai, kad jis yra gana populiarus ir žymiai sumažintų patekimo barjerą.
NFS turėtų būti prieinamas tik mano LAN, kurio potinklio kaukė yra 255.255.255.0 ir 192.168.0.1 yra numatytasis šliuzas. Kalbant paprastai, tai reiškia, kad visi prie mano namų tinklo prijungti įrenginiai („WiFi“ ir „Ethernet“ ir kt.) Turės IP adresus nuo 192.168.0.Nuo 2 iki 192.168.0.254.
NFS serveris bus sukonfigūruotas leisti prieigą prie NFS serverio tik įrenginiams, turintiems tik pirmiau nurodytą IP adresą. Tai užtikrintų, kad tik įrenginiai, prisijungę prie mano LAN, pasieks mano failus, o išorinis pasaulis negalės jų pasiekti. Jei turite „open Wifi“ sąranką arba jei maršrutizatoriaus galinio taško sauga yra abejotina, tai negarantuotų jokio saugumo.
Nerekomenduočiau paleisti NFS per viešą internetą be papildomų saugumo priemonių.
Galiausiai komandos, vykdomos NFS serveryje, turi eilutę, serveris $, o komandos, kurias reikia vykdyti kliento pusėje, turi eilinį klientą $
„OpenZFS“ telkinio ir duomenų rinkinio kūrimas
1. „Zpool“ kūrimas
Jei jau turite „zpool“ ir veikia, praleiskite šį veiksmą. Mano NFS serveryje, kuriame veikia „Ubuntu 18“.04 LTS serveris, pirmiausia įdiegiau „OpenZFS“.
serveris $ sudo apt įdiekite zfsutils-linuxToliau išvardysime visus galimus blokinius įrenginius, kad pamatytume naujus diskus (ir skaidinius), laukiančius, kol bus suformatuotas zfs.
$ lsblkPAVADINIMAS MAJ: MIN RIM DYDIS RO TIPO KALNIS
kilpa0 7: 0 0 89.5M 1 kilpa / spragtelėjimas / šerdis / 6130
kilpa1 7: 1 0 86.9M 1 kilpa / spragtelėjimas / šerdis / 4917
kilpa2 7: 2 0 91.1M 1 kilpa / spragtelėjimas / šerdis / 6259
sda 8: 0 0 50G 0 diskas
├─sda1 8: 1 0 1M 0 dalis
└─sda2 8: 2 0 50G 0 dalis /
sdb 8:16 0 931G 0 diskas
SDK 8:32 0 931G 0 diskas
sr0 11: 0 1 1024M 0 rom
Tipiškas pavyzdys parodytas aukščiau, tačiau jūsų vardų suteikimo tvarka gali būti visiškai kitokia. Turėsite naudoti savo sprendimą ir būti labai atsargus. Nenorite netyčia formatuoti OS disko. Pvz., Sda1 skaidinyje aiškiai yra šakninių failų sistema kaip prijungimo taškas, todėl nėra protinga jo liesti. Jei naudojate naujus diskus, tikėtina, kad jie neturės tvirtinimo taško ar jokio skaidymo.
Kai žinosite savo įrenginių pavadinimus, naudosime komandą „zpool create“, kad porą šių blokinių įrenginių (vadinamų sdb ir sdc) suformatuotumėte į zpool su vienu „vdev“, kurį sudaro du veidrodiniai diskai.
serveris $ sudo zpool sukurti rezervuaro veidrodį sdb sdcserverio $ sudo zpool būsenos talpykla
„zpool“ statuso bakas
baseinas: bakas
būsena: ONLINE
nuskaityti: niekas neprašomas
konfigūracija:
PAVADINIMO NARĖ SKAITYKITE RAŠYTI CKSUM
tankas ONLINE 0 0 0
veidrodis-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
klaidos: nežinomos duomenų klaidos
Eidami į priekį, galite pridėti diskus iš dviejų rinkinių (vadinamų „vdev“), kad padidintumėte šio „zpool“ dydį. Nauji diskai bus rodomi kaip veidrodis-1, veidrodis-2 ir kt. Jums nereikia kurti „zpool“ taip, kaip aš, galite naudoti veidrodinį veidrodį su daugiau diskų, galite naudoti juosteles be pertekliaus, bet geriau veikdami, arba galite naudoti RAIDZ. Daugiau apie tai galite sužinoti čia.
Dienos pabaigoje svarbu tai, kad mes sukūrėme „zpool“ pavadinimą tanku. Kuris gyvens bendras NFS. Sukurkime duomenų rinkinį, kuris bus bendrinamas. Pirmiausia įsitikinkite, kad baseinas, pavadintas „bakas“, yra sumontuotas. Numatytasis tvirtinimo taškas yra „/ tank“ .
serverio $ sudo zfs kalno talpyklaserveris $ sudo zfs sukurkite tank / nfsshare #create naują duomenų rinkinį baseino viršuje
Leidimų nustatymas
Dalijantis NFS katalogu, kliento sistemos supernaudotojas neturi prieigos prie nieko bendro. Nors kliento pusės vartotojas gali viską padaryti kliento mašinoje, NFS laikiklis techniškai nėra kliento mašinos dalis. Taigi leidus atlikti operacijas kliento pusėje esančio supernaudotojo vardu, priskirtą serverio pusiniam vartotojui, gali kilti saugumo problemų. Pagal numatytuosius nustatymus NFS kliento pusėje esančius supernaudotojo veiksmus priskiria niekam: nogroup vartotojui ir vartotojų grupei. Jei ketinate pasiekti prijungtus failus kaip root, tada duomenų rinkinys mūsų NFS serveryje taip pat turėtų turėti tas pačias teises,
serveris $ sudo chown niekas: nogroup / tank / nfsshareNFS serveris vykdys visus kliento šaknies veiksmus kaip niekas kitas, todėl aukščiau nurodytas leidimas leis operacijoms atlikti.
Jei naudojate kitokį (įprastą) vartotojo vardą, dažnai patogu turėti vartotoją su tuo pačiu tiksliu vartotojo vardu iš abiejų pusių.
NFS dalies kūrimas
Kai sukursite „Zpool“, turėtumėte įdiegti „nfs“ serverio paketą iš savo paketų tvarkyklės:
serveris $ sudo apt įdiekite nfs-kernel-serverTradiciškai NFS serveris naudoja / etc / export failą, kad gautų patvirtintų klientų sąrašą ir failus, prie kurių jie turės prieigą. Tačiau tam tikslui pasiekti naudosime integruotą ZFS funkciją.
Tiesiog naudokite komandą:
serveris $ sudo zfs nustatė sharenfs = ”on” / tank / nfsshareAnksčiau užsiminiau, kad suteikiu prieigą tik tam tikriems IP. Tai galite padaryti taip:
serveris $ sudo zfs set sharenfs = "[apsaugotas el. paštu] / 24" tankas / nfsshare„Rw“ reiškia skaitymo ir rašymo teises, o po to seka IP diapazonas. Įsitikinkite, kad ugniasienėje yra atidaryti prievado numeriai 111 ir 2049. Jei naudojate „ufw“, galite tai patikrinti atlikdami:
serverio $ ufw būsenaPažymėkite savo serverio IP LAN, naudodami komandą ifconfig arba ip addr. Pavadinkime jį serveriu.ip
Kliento pusės montavimas
Sukūrę bendrinimą, galite jį prijungti savo kliento kompiuteryje, vykdydami komandą:
kliento $ mount -t nfs serveris.ip: / tankas / nfsshare / mntTai prijungs NFS dalį / mnt aplanke, bet jūs taip pat lengvai galėtumėte pasirinkti bet kurį kitą jūsų pasirinktą prijungimo tašką.
Išvada
Failų bendrinimas yra bene svarbiausias sistemos administravimo aspektas. Tai pagerina jūsų supratimą apie saugyklos kaminą, tinklų kūrimą, vartotojo teises ir privilegijas. Greitai suprasite mažiausios privilegijos principo svarbą - tai reiškia, kad vartotojui suteikiama tik kuo platesnė prieiga, reikalinga jo darbui.
Taip pat sužinosite apie skirtingų operacinių sistemų sąveiką. „Windows“ vartotojai gali pasiekti NFS failus, taip pat ir „Mac“ bei BSD vartotojai. Negalite apsiriboti viena operacine sistema, kai dirbate su mašinų tinklu, turinčiu visas savo tradicijas ir kalbą. Taigi pirmyn ir eksperimentuokite su savo NFS dalimi. Tikiuosi, kad kažko išmokote.