Linux

NFS-serveri installimine ja konfigureerimine Ubuntu 20-s.04

NFS-serveri installimine ja konfigureerimine Ubuntu 20-s.04

NFS ehk Network File System on hajutatud failisüsteemi protokoll, mis võimaldab teil katalooge jagada võrgu kaudu. NFS-i abil saate oma süsteemi installida kaugkataloogid ja töötada kaugmasinas olevate failidega nii, nagu oleksid need kohalikud failid.

Vaikimisi pole NFS-protokoll krüpteeritud ega paku kasutaja autentimist. Juurdepääsu serverile piiravad kliendi IP-aadressid või hostinimed.

Selles artiklis selgitatakse, kuidas seadistada NFSv4 server Ubuntu 20-s.04. Samuti näitame teile, kuidas NFS-failisüsteemi kliendimasinasse ühendada.

Eeldused #

Kasutame kahte masinat, millest üks töötab Ubuntu 20-ga.04, mis toimib NFS-serverina, ja teine, mis töötab mis tahes muu Linuxi jaotusega, millele me jagame jagamise. Server ja kliendid peaksid saama omavahel suhelda eravõrgu kaudu. Liikluse lubamiseks pordis saate kasutada avalikke IP-aadresse ja konfigureerida serveri tulemüüri 2049 ainult usaldusväärsetest allikatest.

Selles näites olevatel masinatel on järgmised IP-d:

NFS-serveri IP: 192.168.33.10 NFS-i klientide IP-d: alates 192-st.168.33.0/24 vahemik 

NFS-serveri seadistamine #

Esimene samm on NFS-serveri seadistamine. Installime vajalikud paketid, loome ja ekspordime NFS-i kataloogid ning konfigureerime tulemüüri.

NFS-serveri installimine #

NFS-i serveripakett pakub NFS-i kerneliserveri käitamiseks vajalikku kasutajaruumi tuge. Paketi installimiseks käivitage:

sudo apt värskendussudo apt install nfs-kernel-server

Kui installimine on lõpule jõudnud, käivituvad NFS-teenused automaatselt.

Ubuntu 20-s.04, NFS-i versioon 2 on keelatud. 3. ja 4. versioon on lubatud. Seda saate kontrollida, käivitades järgmise kass käsk:

sudo kass / proc / fs / nfsd / versioonid
-2 +3 +4 +4.1 +4.2 

NFSv2 on praegu päris vana ja pole mingit põhjust seda lubada.

NFS-serveri konfiguratsioon on määratletud / etc / default / nfs-kernel-server ja / etc / default / nfs-common faile. Vaikeseadetest piisab enamikus olukordades.

Failisüsteemide loomine #

NFSv4 server kasutab globaalset juurkataloogi ja eksporditud kataloogid on selle kataloogi suhtes suhtelised. Jagamispunkti saate linkida kataloogidega, mille soovite eksportida, kasutades sidumiskinnitusi.

Selles näites määrame / srv / nfs4 kataloog NFS-i juurena. NFS-i kinnituste konfigureerimise paremaks selgitamiseks jagame kahte kataloogi (/ var / www ja / opt / backups) erinevate konfiguratsiooniseadetega. The / var / www / kuulub kasutajale www-andmed, ja / opt / backups kuulub juur.

Kõigepealt looge juurkataloog ja jagamise liitumispunktid:

sudo mkdir -p / srv / nfs4 / varukoopiadsudo mkdir -p / srv / nfs4 / www

Siduge kataloogid jagamise ühenduspunktidesse:

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

Sidumiskinnituste püsivaks muutmiseks taaskäivitamisel avage / etc / fstab fail:

sudo nano / etc / fstab

ja lisage järgmised read:

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

Failisüsteemide eksportimine #

Järgmine samm on lisada eksporditavad failisüsteemid ja klientidel lubada neile aktsiatele juurdepääs / etc / eksport faili.

Igal eksporditud failisüsteemi real on järgmine vorm:

ekspordi host (valikud) 

Kus eksport on eksporditud kataloog, peremees on hostinimi või IP-aadress / vahemik, millele pääseb juurde ekspordile, ja valikud on hostivalikud.

Ava / etc / eksport fail ja lisage järgmised read:

sudo nano / etc / eksport
/ etc / eksport
/ srv / nfs4 192.168.33.0/24 (rw, sync, no_subtree_check, crossmnt, fsid = 0) / srv / nfs4 / varukoopiad 192.168.33.0/24 (ro, sünkroonimine, no_subtree_check) 192.168.33.3 (rw, sünkroonimine, no_subtree_check) / srv / nfs4 / www 192.168.33.20 (rw, sünkroonimine, no_subtree_check) 

Esimene rida sisaldab fsid = 0 määrab NFS-i juurkataloogi (/ srv / nfs4). Juurdepääs sellele NFS-i helitugevusele on lubatud ainult Interneti-ühenduse klientidele 192.168.33.0/24 alamvõrk. The ristmnt Valik on vajalik kataloogide jagamiseks, mis on eksporditud kataloogi alamkataloogid.

Teine rida näitab, kuidas ühe failisüsteemi jaoks mitu ekspordireeglit määrata. Lugemisõigus on lubatud tervikule 192.168.33.0/24 vahemik ning nii lugemis- kui kirjutusjuurdepääs ainult 192.168.33.3 IP-aadress. The sünkroonida suvand käsib NFS-il enne vastamist kettale muudatused kirjutada.

Viimane rida on iseenesestmõistetav. Lisateavet kõigi saadaolevate suvanditüüpide kohta mees ekspordib oma terminalis.

Salvestage fail ja eksportige aktsiad:

sudo exportfs -ar

Iga kord, kui muudate faili, peate käivitama ülaltoodud käsu / etc / eksport faili. Vigade või hoiatuste korral kuvatakse need terminalis.

Praeguse aktiivse ekspordi ja nende oleku kuvamiseks kasutage järgmist

sudo exportfs -v

Väljund sisaldab kõiki aktsiaid koos nende optsioonidega. Nagu näete, on ka võimalusi, mida me pole selles määratlenud / etc / eksport faili. Need on vaikevalikud ja kui soovite neid muuta, peate need valikud selgesõnaliselt määrama.

/ srv / nfs4 / varukoopiad 192.168.33.3 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, turvaline, root_squash, no_all_squash) / srv / nfs4 / www 192.168.33.20 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, turvaline, 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, turvaline, root_squash, no_all_squash) / srv / nfs4 / varukoopiad 192.168.33.0/24 (ro, wdelay, root_squash, no_subtree_check, sec = sys, ro, turvaline, root_squash, no_all_squash) 

Ubuntu, root_squash on vaikimisi lubatud. See on üks olulisemaid võimalusi, mis puudutavad NFS-i turvalisust. See takistab juurte kasutajatel, kes on klientidest ühendatud, juurte kaardistamise kaudu kaasatud aktsiate juurõigusi UID ja GID kuni mitte keegi/nogrupp UID/GID.

Selleks, et kliendimasinate kasutajatel oleks juurdepääs, eeldab NFS, et kliendi kasutaja- ja rühma-ID vastavad serveril olevatele. Teine võimalus on kasutada NFSv4 idmapping funktsiooni, mis tõlgib kasutaja ja rühma ID nimedeks ja vastupidi.

See selleks. Sel hetkel olete oma Ubuntu serverisse seadistanud NFS-serveri. Nüüd saate liikuda järgmise sammu juurde ja konfigureerida kliendid ning luua ühenduse NFS-serveriga.

Tulemüüri konfiguratsioon #

Kui installite Jenkinsi kaugmüüris Ubuntu serverisse, mida kaitseb tulemüür, peate lubama liikluse NFS-pordil:

sudo ufw lubama alates 192.168.33.0/24 igale pordi nfs-le

Kontrollige muudatust:

sudo ufw olek

Väljund peaks näitama, et liiklus sadamas 2049 on lubatud:

Toimingule - ------ ---- 2049 LUBA 192.168.33.0/24 22 / tcp LUBA kõikjal 22 / tcp (v6) LUBA kõikjal (v6) 

NFS-i klientide seadistamine #

Nüüd, kui NFS-server on seadistatud ja aktsiad on eksporditud, on järgmine samm klientide konfigureerimine ja kaugfailisüsteemide ühendamine.

Keskendume Linuxi süsteemidele, kuid NFS-i osa saate ühendada ka macOS-i ja Windowsi masinatega.

NFS-i kliendi installimine

Kliendimasinatesse peame installima ainult NFS-i kaugsüsteemi failisüsteemi ühendamiseks vajalikud tööriistad.

Failisüsteemide ühendamine #

Töötame IP-ga kliendimasinas 192.168.33.20, millel on lugemis - ja kirjutamisõigus / srv / nfs4 / www failisüsteem ja kirjutuskaitstud juurdepääs / srv / nfs4 / varukoopiad failisüsteem.

Looge ühenduspunktide jaoks kaks uut kataloogi:

sudo mkdir -p / varukoopiadsudo mkdir -p / srv / www

Katalooge saate luua igas soovitud kohas.

Paigaldage eksporditud failisüsteemid kinnitada käsk:

sudo mount -t nfs -o vers = 4 192.168.33.10: / varukoopiad / varukoopiadsudo mount -t nfs -o vers = 4 192.168.33.10: / www / srv / www

Kus 192.168.33.10 on NFS-serveri IP. IP-aadressi asemel võite kasutada ka hostinime, kuid see peab olema kliendimasina poolt lahendatav. Tavaliselt tehakse see, vastendades hostinime IP-aadressile / etc / hosts faili.

NFSv4-failisüsteemi paigaldamisel jätke NFS-i juurkataloog välja. Kasutage / varukoopiad, selle asemel / srv / nfs4 / varukoopiad.

Kasutage mount või abil, et kaugfailisüsteemid oleksid edukalt ühendatud df käsk:

df -h

Käsk prindib kõik ühendatud failisüsteemid. Kaks viimast rida on ühendatud aktsiad:

Kasutatav failisüsteemi suurus Kättesaadavus Kasutage% Paigaldatud 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: / varukoopiad 124G 2.8G 115G 3% / varukoopiad 192.168.33.10: / www 124G 2.8G 115G 3% / srv / www

Kinnituste püsivaks muutmiseks taaskäivitamisel avage / etc / fstab fail ja lisage järgmised read:

sudo nano / etc / fstab
/ etc / fstab
192.168.33.10: / varukoopiad / varukoopiad nfs vaikimisi, timeo = 900, retrans = 5, _netdev 0 0 192.168.33.10: / www / srv / www nfs vaikeväärtused, timeo = 900, retrans = 5, _netdev 0 0 

NFS-failisüsteemi installimisel saadaolevate valikute kohta lisateabe saamiseks tippige mees nfs oma terminalis.

Teine võimalus kaugfailisüsteemide ühendamiseks on kasutada kas automaatsed dokumendid tööriista või systemd üksuse loomiseks.

NFS-i juurdepääsu testimine

Testime juurdepääsu jagamistele, luues neile igaühele uue faili.

Kõigepealt proovige luua testfail / varukoopiad kataloogi kasutades puudutada käsk:

sudo touch / backups / test.txt

The / varukoopia failisüsteem eksporditakse kirjutuskaitstud kujul ja ootuspäraselt näete a Luba keelatud veateade:

puudutus: '/ backups / test' ei saa puudutada: luba keelatud 

Järgmisena proovige luua testfail / srv / www kataloog juurina, kasutades sudo käsk:

sudo touch / srv / www / test.txt

Jällegi näete Luba keelatud sõnum.

puudutus: '/ srv / www' ei saa puudutada: luba keelatud 

Kui meenutate, siis / var / www kataloog kuulub www-andmed kasutaja ja sellel jagamisel on root_squash suvand, mis kaardistab juurkasutaja mitte keegi kasutaja ja nogrupp rühm, kellel pole kaugjagamise kirjutamisõigusi.

Eeldades, et teil on a www-andmed kasutada kliendi masinas sama UID ja GID nagu kaugserveris (mis peaks juhtuma juhul, kui installisite näiteks nginxi mõlemasse masinasse), võite proovida luua kasutajana faili www-andmed:

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

Käsk ei näita väljundit, mis tähendab, et fail on edukalt loodud.

Selle kinnitamiseks loetlege failid / srv / www kataloog:

ls -la / srv / www

Väljund peaks näitama äsja loodud faili:

drwxr-xr-x 3 www-data www-data 4096 10. aprill 22:18 . drwxr-xr-x 3 juurjuur 4096 10. aprill 22: 29… -rw-r - r-- 1 www-data www-data 0. aprill 10 21:58 register.html -rw-r - r-- 1 www-andmed www-andmed 0 aprill 10 22:18 test.txt 

NFS-failisüsteemi lahtiühendamine #

Kui NFS-i kaugjagamist pole enam vaja, saate selle lahti ühendada mis tahes muu ühendatud failisüsteemiga, kasutades arv käsk.

Näiteks / varukoopia jagaksite, jookseksite:

sudo umount / varukoopiad

Kui ühenduspunkt on määratletud / etc / fstab fail eemaldage kindlasti rida või kommenteerige seda lisades # rea alguses.

Järeldus #

Oleme teile näidanud, kuidas seadistada NFS-serverit ja kuidas ühendada kaugfailisüsteemid kliendimasinatesse. Kui juurutate NFS-i tootmises ja jagate mõistlikke andmeid, on hea mõte lubada kerberose autentimine.

NFS-i alternatiivina saate kasutada SSHFS-i kaugkataloogide ühendamiseks SSH-ühenduse kaudu. SSHFS on vaikimisi krüptitud ja seda on palju lihtsam konfigureerida ja kasutada.

Kui teil on küsimusi, jätke julgelt kommentaar.

OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...