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ärskendus
sudo 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 / varukoopiad
sudo mkdir -p / srv / nfs4 / www
Siduge kataloogid jagamise ühenduspunktidesse:
sudo mount --bind / opt / backups / srv / nfs4 / backups
sudo 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.
Installige NFS-i klient Debiani ja Ubuntu
Paketi nimi, mis sisaldab programme NFS-failisüsteemide paigaldamiseks Debiani-põhistele jaotustele, on
nfs-tavaline
. Selle installimiseks käivitage:sudo apt värskendus
sudo apt install nfs-common
Installige NFS-i klient CentOS-i ja Fedorasse
Red Hatile ja selle derivaatidele installige
nfs-utils
pakend:sudo yum installige nfs-utils
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 / varukoopiad
sudo 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 / varukoopiad
sudo 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 / fstab192.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.