„Linux“

Kaip įdiegti ir konfigūruoti NFS serverį „Ubuntu 20“.04

Kaip įdiegti ir konfigūruoti NFS serverį „Ubuntu 20“.04

NFS arba „Network File System“ yra paskirstytos failų sistemos protokolas, leidžiantis bendrinti katalogus tinkle. Naudodami NFS galite savo sistemoje prijungti nuotolinius katalogus ir dirbti su nuotolinio kompiuterio failais taip, lyg jie būtų vietiniai failai.

Pagal numatytuosius nustatymus NFS protokolas nėra užšifruotas ir nesuteikia vartotojo autentifikavimo. Prieigą prie serverio riboja kliento IP adresai arba pagrindinio kompiuterio vardai.

Šiame straipsnyje paaiškinta, kaip nustatyti NFSv4 serverį „Ubuntu 20“.04. Mes taip pat parodysime, kaip kliento kompiuteryje įdiegti NFS failų sistemą.

Būtinos sąlygos #

Mes naudosime dvi mašinas, vienoje veikiančią „Ubuntu 20“.04, kuris veiks kaip NFS serveris, ir dar vienas, kuriame veikia bet kuris kitas „Linux“ paskirstymas, kuriame mes prijungsime dalį. Serveris ir klientai turėtų galėti bendrauti tarpusavyje privačiu tinklu. Galite naudoti viešuosius IP adresus ir sukonfigūruoti serverio užkardą, kad leistumėte srautą uoste 2049 m tik iš patikimų šaltinių.

Šiame pavyzdyje esančiose mašinose yra šie IP:

NFS serverio IP: 192.168.33.10 NFS klientų IP: nuo 192.168.33.0/24 diapazonas 

NFS serverio nustatymas #

Pirmasis žingsnis yra NFS serverio nustatymas. Įdiegsime reikiamus paketus, sukursime ir eksportuosime NFS katalogus bei sukonfigūruosime užkardą.

NFS serverio diegimas #

NFS serverio paketas teikia vartotojo erdvės palaikymą, reikalingą paleisti NFS branduolio serverį. Norėdami įdiegti paketą, paleiskite:

sudo apt atnaujinimassudo apt įdiekite nfs-kernel-server

Baigus diegimą, NFS paslaugos bus paleistos automatiškai.

„Ubuntu 20“.04, NFS 2 versija išjungta. 3 ir 4 versijos įgalintos. Tai galite patikrinti atlikdami toliau nurodytus veiksmus katė komanda:

sudo katė / proc / fs / nfsd / versijos
-2 +3 +4 +4.1 +4.2 

NFSv2 dabar yra gana senas ir nėra jokios priežasties jį įgalinti.

NFS serverio konfigūracija yra apibrėžta / etc / default / nfs-kernel-server ir / etc / default / nfs-common failus. Daugumoje situacijų pakanka numatytųjų nustatymų.

Failų sistemų kūrimas #

NFSv4 serveris naudoja visuotinį šakninį katalogą, o eksportuoti katalogai yra palyginti su šiuo katalogu. Galite susieti bendrinimo prijungimo tašką su katalogais, kuriuos norite eksportuoti, naudodami susiejimo laikiklius.

Šiame pavyzdyje nustatysime / srv / nfs4 katalogą kaip NFS šaknį. Norėdami geriau paaiškinti, kaip galima sukonfigūruoti NFS laikiklius, pasidalinsime dviem katalogais (/ var / www ir / opt / backups) su skirtingais konfigūracijos nustatymais. The / var / www / priklauso vartotojui www duomenys, ir / opt / backups priklauso šaknis.

Pirmiausia sukurkite šakninį katalogą ir bendrinimo prijungimo taškus:

sudo mkdir -p / srv / nfs4 / atsarginės kopijossudo mkdir -p / srv / nfs4 / www

Pritvirtinkite katalogus prie bendro prijungimo taškų:

sudo mount --bind / opt / backups / srv / nfs4 / backupssudo mount --bind / var / www / srv / nfs4 / www

Norėdami, kad perrišimo įtaisai būtų nuolatiniai, atidarykite / etc / fstab failas:

sudo nano / etc / fstab

ir pridėkite šias eilutes:

/ etc / fstab
/ opt / backups / srv / nfs4 / backups none bind 0 0 / var / www / srv / nfs4 / www none bind 0 0 

Failų sistemų eksportavimas #

Kitas žingsnis - pridėti failų sistemas, kurios bus eksportuojamos, ir klientams leisti prieiti prie tų bendrinimų prie / etc / eksportas failą.

Kiekviena eksportuojamos failų sistemos eilutė turi šią formą:

eksportuoti pagrindinį kompiuterį (parinktys) 

Kur eksportas yra eksportuojamas katalogas, vedėjas yra pagrindinio kompiuterio vardas arba IP adresas / diapazonas, galintis pasiekti eksportą, ir galimybės yra priimančiosios parinktys.

Atidaryk / etc / eksportas failą ir pridėkite šias eilutes:

sudo nano / etc / export
/ etc / eksportas
/ srv / nfs4 192.168.33.0/24 (rw, sync, no_subtree_check, crossmnt, fsid = 0) / srv / nfs4 / atsarginės kopijos 192.168.33.0/24 (ro, sinchronizuoti, no_subtree_check) 192.168.33.3 (rw, sync, no_subtree_check) / srv / nfs4 / www 192.168.33.20 (rw, sync, no_subtree_check) 

Pirmoje eilutėje yra fsid = 0 parinktis, apibrėžianti NFS šakninį katalogą (/ srv / nfs4). Prieiga prie šio NFS tomo leidžiama tik klientams iš 192.168.33.0/24 potinklis. The crossmnt Ši parinktis reikalinga norint bendrinti katalogus, kurie yra eksportuoto katalogo pakatalogiai.

Antroje eilutėje rodoma, kaip nurodyti kelias eksportavimo taisykles vienai failų sistemai. Skaitymo prieiga leidžiama visumai 192.168.33.0/24 diapazoną, ir skaitymo, ir rašymo prieigą tik prie 192.168.33.3 IP adresas. The sinchronizuoti Parinktis nurodo NFS prieš atsakymą įrašyti pakeitimus į diską.

Paskutinė eilutė yra savaime suprantama. Norėdami gauti daugiau informacijos apie visus galimus parinkčių tipus žmogus eksportuoja savo terminale.

Išsaugokite failą ir eksportuokite bendrinimus:

sudo exportfs -ar

Kiekvieną kartą modifikuodami turite paleisti aukščiau esančią komandą / etc / eksportas failą. Jei yra kokių nors klaidų ar įspėjimų, jie bus rodomi terminale.

Norėdami peržiūrėti dabartinį aktyvų eksportą ir jo būseną, naudokite:

sudo exportfs -v

Į produkciją bus įtrauktos visos akcijos su jų pasirinkimo sandoriais. Kaip matote, yra ir variantų, kurių mes neapibrėžėme / etc / eksportas failą. Tai yra numatytosios parinktys, ir jei norite jas pakeisti, turėsite aiškiai nustatyti šias parinktis.

/ srv / nfs4 / atsarginės kopijos 192.168.33.3 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, saugus, root_squash, no_all_squash) / srv / nfs4 / www 192.168.33.20 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, saugus, root_squash, no_all_squash) / srv / nfs4 192.168.33.0/24 (rw, wdelay, crossmnt, root_squash, no_subtree_check, fsid = 0, sec = sys, rw, secure, root_squash, no_all_squash) / srv / nfs4 / atsarginės kopijos 192.168.33.0/24 (ro, wdelay, root_squash, no_subtree_check, sec = sys, ro, saugus, root_squash, no_all_squash) 

„Ubuntu“, šaknies_skvošas yra įjungta pagal numatytuosius nustatymus. Tai yra viena iš svarbiausių NFS saugumo galimybių. Tai neleidžia šakniniams vartotojams, prisijungusiems iš klientų, turėti prieigos teises prie prijungtų bendrinimų, susiejant šaknį UID ir GID į niekas/nogroup UID/GID.

Norint, kad kliento mašinų vartotojai turėtų prieigą, NFS tikisi, kad kliento vartotojo ir grupės ID sutaps su serveryje esančiais. Kita galimybė yra naudoti „NFSv4“ atvaizdavimo funkciją, kuri vartotojo ir grupės ID paverčia vardais ir atvirkščiai.

Viskas. Šiuo metu jūs sukūrėte NFS serverį savo „Ubuntu“ serveryje. Dabar galite pereiti prie kito veiksmo, sukonfigūruoti klientus ir prisijungti prie NFS serverio.

Ugniasienės konfigūracija #

Jei diegiate „Jenkins“ nuotoliniame „Ubuntu“ serveryje, kurį saugo užkarda, turėsite įjungti srautą NFS prievade:

sudo ufw leisti nuo 192.168.33.0/24 į bet kurį uosto nfs

Patikrinkite pakeitimą:

sudo ufw būsena

Išvestis turėtų parodyti, kad eismas uoste 2049 m leidziama:

Į veiksmą nuo - ------ ---- 2049 LEISTI 192.168.33.0/24 22 / tcp LEISTI bet kur 22 / tcp (v6) LEISTI bet kur (v6) 

NFS klientų nustatymas #

Dabar, kai NFS serveris yra nustatytas ir eksportuojami bendri failai, kitas žingsnis yra konfigūruoti klientus ir prijungti nuotolines failų sistemas.

Didžiausią dėmesį skirsime „Linux“ sistemoms, tačiau NFS dalį taip pat galite pritaikyti „MacOS“ ir „Windows“ mašinose.

NFS kliento diegimas #

Kliento mašinose turime įdiegti tik įrankius, reikalingus nuotolinei NFS failų sistemai prijungti.

Failų sistemų montavimas #

Dirbsime kliento mašinoje su IP 192.168.33.20, kuri turi skaitymo ir rašymo prieigą prie / srv / nfs4 / www failų sistema ir tik skaitymo prieiga prie / srv / nfs4 / atsarginės kopijos Failų sistema.

Sukurkite du naujus prijungimo taškų katalogus:

sudo mkdir -p / atsargines kopijassudo mkdir -p / srv / www

Katalogus galite sukurti bet kurioje norimoje vietoje.

Sumontuokite eksportuotas failų sistemas naudodami kalno komanda:

sudo kalnas -t nfs -o vers = 4 192.168.33.10: / atsarginės kopijos / atsarginės kopijossudo kalnas -t nfs -o vers = 4 192.168.33.10: / www / srv / www

Kur 192.168.33.10 yra NFS serverio IP. Vietoje IP adreso taip pat galite naudoti pagrindinio kompiuterio pavadinimą, tačiau jį turi išspręsti kliento mašina. Tai paprastai daroma priskyrus pagrindinio kompiuterio pavadinimą IP / etc / hosts failą.

Montuodami NFSv4 failų sistemą, praleiskite NFS šakninį katalogą. Naudokite / atsarginės kopijos, vietoj / srv / nfs4 / atsarginės kopijos.

Patikrinkite, ar nuotolinių failų sistemos sėkmingai įdiegtos, naudodami „mount“ arba df komanda:

df -h

Komanda atspausdins visas prijungtas failų sistemas. Paskutinės dvi eilutės yra sumontuotos akcijos:

Naudotas failų sistemos dydis Galimybė Naudoti% Sumontuota udev 951M 0 951M 0% / dev tmpfs 199M 676K 199M 1% / run / dev / sda3 124G 2.8G 115G 3% / tmpfs 994M 0 994M 0% / dev / shm tmpfs 5.0M 0 5.0M 0% / run / lock tmpfs 994M 0 994M 0% / sys / fs / cgroup / dev / sda1 456M 197M 226M 47% / boot tmpfs 199M 0 199M 0% / run / user / 1000 192.168.33.10: / atsarginės kopijos 124G 2.8G 115G 3% / atsarginės kopijos 192.168.33.10: / www 124G 2.8G 115G 3% / srv / www

Norėdami, kad laikikliai būtų nuolatiniai perkraunant, atidarykite / etc / fstab failą ir pridėkite šias eilutes:

sudo nano / etc / fstab
/ etc / fstab
192.168.33.10: / atsarginės kopijos / atsarginės kopijos NFS numatytieji, timeo = 900, retrans = 5, _netdev 0 0 192.168.33.10: / www / srv / www nfs numatytieji nustatymai, timeo = 900, retrans = 5, _netdev 0 0 

Norėdami gauti informacijos apie galimas parinktis diegiant NFS failų sistemą, įveskite vyras nfs savo terminale.

Kita nuotolinių failų sistemų prijungimo galimybė yra naudoti autofai įrankį arba sukurti „systemd“ vienetą.

NFS prieigos testavimas #

Išbandykime prieigą prie bendrinimų sukurdami naują failą kiekviename iš jų.

Pirmiausia pabandykite sukurti bandomąjį failą / atsarginės kopijos katalogą naudodami paliesti komanda:

sudo touch / atsarginės kopijos / testas.txt

The / atsarginė kopija failų sistema yra eksportuojama kaip tik skaitoma ir, kaip tikėtasi, pamatysite Leidimas nesuteiktas klaidos pranešimas:

liesti: negalima paliesti „/ backups / test“: leidimas atmestas 

Tada pabandykite sukurti bandomąjį failą / srv / www katalogą kaip šaknį naudojant sudo komanda:

sudo touch / srv / www / test.txt

Vėl pamatysite Leidimas nesuteiktas pranešimą.

liesti: negalima liesti '/ srv / www': leidimas atmestas 

Jei prisiminsite, / var / www katalogas priklauso www duomenys vartotojas ir ši dalis turi šaknies_skvošas Parinktis, nustatanti šakninį vartotoją niekas vartotojas ir nogroup grupė, neturinti rašymo teisių į nuotolinį bendrinimą.

Darant prielaidą, kad turite a www duomenys naudoti kliento mašinoje su tuo pačiu UID ir GID kaip ir nuotoliniame serveryje (taip turėtų būti, jei, pavyzdžiui, abiejose mašinose įdiegėte „nginx“), galite pabandyti sukurti failą kaip vartotoją www duomenys:

sudo -u www-data touch / srv / www / test.txt

Komanda nerodys išvesties, o tai reiškia, kad failas buvo sėkmingai sukurtas.

Norėdami jį patikrinti, nurodykite failus / srv / www katalogas:

ls -la / srv / www

Išvestyje turėtų būti rodomas naujai sukurtas failas:

drwxr-xr-x 3 www-data www-data 4096 balandžio 10 d. 22:18 . drwxr-xr-x 3 šaknies šaknis 4096 balandžio 10 22: 29… -rw-r - r-- 1 www-data www-data 0 balandžio 10 21:58 rodyklė.html -rw-r - r-- 1 www-data www-data 0 balandžio 10 22:18 testas.txt 

NFS failų sistemos atjungimas #

Jei nuotolinio NFS bendro naudojimo nebereikia, galite jį atjungti kaip bet kurią kitą prijungtą failų sistemą naudodami umount komandą.

Pavyzdžiui, norint atjungti / atsarginė kopija dalintis, jūs paleistumėte:

sudo umount / atsarginės kopijos

Jei tvirtinimo taškas yra apibrėžtas / etc / fstab failą, įsitikinkite, kad pašalinote eilutę arba komentavote ją pridėdami # eilutės pradžioje.

Išvada Nr

Mes parodėme, kaip nustatyti NFS serverį ir kaip prijungti nuotolines failų sistemas kliento mašinose. Jei diegiate NFS gamyboje ir dalijatės protingais duomenimis, verta įgalinti „kerberos“ autentifikavimą.

Kaip alternatyvą NFS galite naudoti SSHFS nuotoliniams katalogams prijungti per SSH ryšį. SSHFS yra užšifruotas pagal numatytuosius nustatymus, jį daug lengviau konfigūruoti ir naudoti.

Jei turite klausimų, nedvejodami palikite komentarą.

Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...
Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...