Pojedinosti ću o stvaranju NFS točke montiranja na klijentu Windows 10 u 2. dijelu ove serije. Za sada se usredotočimo na Ubuntu poslužitelj koji nudi NFS pohranu i Ubuntu klijent koji se pokušava povezati s njim.
Postava
Moj NFS poslužitelj bit će zasnovan na Ubuntu 18.04 LTS. Možete koristiti svoj omiljeni Linux distro ili FreeBSD ili bilo koji drugi OS koji podržava OpenZFS. Moj razlog korištenja Ubuntu 18.04 je da je prilično popularan i da bi znatno smanjio prepreku ulaska.
NFS bi trebao biti dostupan samo na mom LAN-u koji ima masku podmreže 255.255.255.0 i 192.168.0.1 kao zadani pristupnik. Jednostavno rečeno, to znači da će svi uređaji povezani s mojom kućnom mrežom (WiFi i Ethernet i dr.) Imati IP adrese u rasponu od 192.168.0.2 do 192.168.0.254.
NFS poslužitelj bit će konfiguriran tako da omogućuje samo uređajima sa samo gore spomenutom IP adresom pristup NFS poslužitelju. To bi osiguralo da mojim datotekama pristupaju samo uređaji koji su se povezali na moj LAN, a vanjski svijet im ne može pristupiti. Ako imate postavku 'otvoreni Wifi' ili ako je sigurnost na krajnjoj točki usmjerivača sumnjiva, to ne bi jamčilo nikakvu sigurnost.
Ne bih preporučio pokretanje NFS-a putem javnog interneta bez dodatnih sigurnosnih mjera.
I na kraju, naredbe koje se izvode na NFS poslužitelju imaju upit, poslužitelj $, a naredbe koje se izvode na klijentskoj strani imaju promptni klijent $
Stvaranje OpenZFS spremišta i skupa podataka
1. Stvaranje zpoola
Ako već imate zpool i pokrenut, preskočite ovaj korak. Na mom NFS poslužitelju, koji ima Ubuntu 18.04 LTS poslužitelj, prvo instaliram OpenZFS.
poslužitelj $ sudo apt instalirati zfsutils-linuxDalje ćemo navesti sve dostupne blok uređaje, kako bismo vidjeli nove diskove (i particije) koji čekaju formatiranje sa zfs.
$ lsblkNAZIV MAJ: MIN RM VELIČINA RO TIP MOUNTPOINT
petlja0 7: 0 0 89.5M 1 petlja / ugriz / jezgra / 6130
petlja1 7: 1 0 86.9M 1 petlja / ugriz / jezgra / 4917
petlja2 7: 2 0 91.1M 1 petlja / ugriz / jezgra / 6259
sda 8: 0 0 50G 0 disk
├─sda1 8: 1 0 1M 0 dio
└─sda2 8: 2 0 50G 0 dio /
sdb 8:16 0 931G 0 disku
sdc 8:32 0 931G 0 disku
sr0 11: 0 1 1024M 0 rom
Tipičan je primjer prikazan gore, ali vaša konvencija imenovanja može se prilično razlikovati. Morat ćete se poslužiti vlastitom prosudbom i biti vrlo pažljivi u vezi s tim. Ne želite slučajno formatirati svoj OS disk. Na primjer, sda1 particija očito ima root datotečni sustav kao točku montiranja, pa je nije pametno dodirivati. Ako koristite nove diskove, velika je vjerojatnost da neće imati točku montiranja ili bilo kakvu particiju.
Jednom kada saznate ime svojih uređaja, upotrijebit ćemo naredbu zpool create za formatiranje nekoliko ovih blokovskih uređaja (nazvanih sdb i sdc) u zpool s jednim vdev koji se sastoji od dva zrcalna diska.
poslužitelj $ sudo zpool stvoriti spremnik ogledalo sdb sdcposlužitelj $ sudo zpool spremnik statusa
zpool status tank
bazen: spremnik
stanje: ONLINE
skeniranje: nijedan nije zatražen
config:
IME DRŽAVA PROČITAJTE NAPIŠITE CKSUM
spremnik ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
pogreške: Nema poznatih pogrešaka u podacima
Krećući se naprijed, možete dodavati diskove u setovima od dva (zvani vdev) kako biste povećali veličinu ovog zpoola, novi će se diskovi prikazati kao mirror-1, mirror-2 itd. Ne morate stvoriti svoj zpool na način na koji sam ja to učinio, možete koristiti zrcaljenje s više diskova, možete koristiti pruge bez suvišnosti, ali boljih performansi ili možete koristiti RAIDZ. Više o tome možete saznati ovdje.
Na kraju, važno je da smo stvorili zpool nazvan tenk. Nakon čega će zajednički NFS živjeti. Stvorimo skup podataka koji će se dijeliti. Prvo provjerite je li bazen nazvan "spremnik" montiran. Zadana točka montiranja je '/ spremnik' .
poslužitelj $ sudo zfs spremnik za montiranjeposlužitelj $ sudo zfs stvori tank / nfsshare #stvari novi skup podataka na vrhu spremišta
Postavljanje dozvola
Kada dijeli NFS direktorij, superkorisnik na klijentskom sustavu nema pristup ničemu na udjelu. Iako je superuser na strani klijenta sposoban učiniti bilo što na klijentskom stroju, NFS montiranje tehnički nije dio klijentskog stroja. Dakle, dopuštanje operacija u ime nadkorisnika na strani klijenta koji je mapiran kao nadkorisnik na strani poslužitelja može rezultirati sigurnosnim problemima. Prema zadanim postavkama, NFS preslikava radnje superuser-a na strani klijenta ni na koga: nog korisnika grupe i korisničke grupe. Ako namjeravate pristupiti montiranim datotekama kao root, tada bi skup podataka na našem NFS poslužitelju također trebao imati ista dopuštenja,
poslužitelj $ sudo chown nitko: nogroup / tank / nfsshareNFS poslužitelj pokrenut će bilo koju radnju korijena na strani klijenta kao nitko drugi, pa će gornje dopuštenje omogućiti operacijama da prođu.
Ako koristite drugo (uobičajeno) korisničko ime, često je prikladno imati korisnika s istim istim korisničkim imenom s obje strane.
Stvaranje NFS udjela
Jednom kada ste kreirali Zpool, trebali biste instalirati paket nfs poslužitelja iz upravitelja paketa:
poslužitelj $ sudo apt instalirati nfs-kernel-serverTradicionalno, NFS poslužitelj koristi datoteku / etc / export da bi dobio popis odobrenih klijenata i datoteke kojima će imati pristup. Međutim, za postizanje istog koristit ćemo ugrađenu značajku ZFS-a.
Jednostavno upotrijebite naredbu:
poslužitelj $ sudo zfs postavi sharenfs = ”on” / tank / nfsshareRanije sam aludirao da sam pristupio samo određenim IP-ovima. To možete učiniti na sljedeći način:
poslužitelj $ sudo zfs set sharenfs = "[zaštićen e-poštom] / 24" tank / nfsshareOznaka 'rw' označava dopuštenja za čitanje i pisanje, a nakon toga slijedi raspon IP adresa. Provjerite jesu li priključci broj 111 i 2049 otvoreni na vašem vatrozidu. Ako koristite ufw, to možete provjeriti pokretanjem:
status poslužitelja $ ufwZabilježite IP svog poslužitelja na LAN-u, koristeći naredbu ifconfig ili ip addr. Nazovimo to poslužiteljem.ip
Montaža na strani klijenta
Jednom kada je udio stvoreno, možete ga montirati na klijentski stroj izvršavanjem naredbe:
klijent $ mount -t nfs poslužitelj.ip: / tank / nfsshare / mntOvo će montirati NFS share u / mnt mapu, ali mogli ste jednako lako odabrati bilo koju drugu točku montiranja po vašem izboru.
Zaključak
Dijeljenje datoteka je vjerojatno najvažniji aspekt administracije sustava. Poboljšava vaše razumijevanje skladišnog prostora, umrežavanja, korisničkih dozvola i privilegija. Brzo ćete shvatiti važnost Načela najmanje privilegije - to jest, samo pružite korisniku najgoliji mogući pristup svom poslu koji mu treba.
Također ćete naučiti o interoperabilnosti između različitih operativnih sustava. Korisnici Windowsa mogu pristupiti NFS datotekama, pa tako i Mac i BSD korisnici. Ne možete se ograničiti na jedan OS kada imate posla sa mrežom strojeva koji imaju svoje konvencije i narodni jezik. Dakle, naprijed i eksperimentirajte sa svojim NFS udjelom. Nadam se da si nešto naučio.