Android

Nfs-palvelimen asentaminen ja määrittäminen ubuntu 18.04: een

Introduction to Amazon Web Services by Leo Zhadanovsky

Introduction to Amazon Web Services by Leo Zhadanovsky

Sisällysluettelo:

Anonim

Verkkotiedostojärjestelmä (NFS) on hajautettu tiedostojärjestelmäprotokolla, jonka avulla voit jakaa etähakemistot verkon välityksellä. NFS: n avulla voit asentaa etähakemistot järjestelmään ja työskennellä etäkoneella olevien tiedostojen kanssa kuin ne olisivat paikallisia tiedostoja.

NFS-protokollaa ei ole salattu oletuksena, ja toisin kuin Samba, se ei tarjoa käyttäjän todennusta. Palvelimen käyttöä rajoittavat asiakkaan IP-osoitteet tai isäntänimet.

Tässä opetusohjelmassa käydään läpi kuinka määrittää NFSv4-palvelin Ubuntu 18.04: lle. Osoitamme sinulle myös, kuinka NFS-tiedostojärjestelmä asennetaan asiakkaaseen.

edellytykset

Tässä esimerkissä oletetaan, että sinulla on yksi palvelin, joka käyttää Ubuntu 18.04 -käyttöjärjestelmää, ja toinen palvelin käyttää mitä tahansa muuta Linux-jakelua. Palvelimen ja asiakkaiden tulisi voida kommunikoida keskenään yksityisen verkon kautta. Jos palveluntarjoajasi ei tarjoa yksityisiä IP-osoitteita, voit käyttää julkisia IP-osoitteita ja määrittää palvelimen palomuurin sallimaan liikenteen portissa 2049 vain luotettavista lähteistä.

Tämän esimerkin koneilla on seuraavat IP: t:

NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range

Asenna NFS-palvelin

Aloitamme asentamalla ja määrittämällä NFS-palvelin.

NFS-palvelimen asentaminen

Päivitä pakettihakemisto ja asenna NFS-palvelinpaketti:

sudo apt update sudo apt install nfs-kernel-server

Kun asennus on valmis, NFS-palvelut käynnistyvät automaattisesti.

Oletuksena Ubuntu 18.04 -käyttöjärjestelmässä NFS-versio 2 on poistettu käytöstä. Versiot 3 ja 4 ovat käytössä. Voit varmistaa, että suoritat seuraavan cat :

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

NFSv2 on nyt melko vanha, eikä sitä ole syytä ottaa käyttöön.

NFS-palvelimen määritysasetukset asetetaan tiedostoihin /etc/default/nfs-kernel-server ja /etc/default/nfs-common . Oletusasetukset ovat tässä tapauksessa riittävät.

Tiedostojärjestelmien luominen

Kun määrität NFSv4-palvelimen, on hyvä käytäntö käyttää globaalia NFS-juurihakemistoa ja sitoa todelliset hakemistot liittää jakoasennuspisteeseen. Tässä esimerkissä käytämme /srv/nfs4 NFS-juurina.

Aiomme jakaa kaksi hakemistoa ( /var/www ja /opt/backups ), joilla on erilaiset määritysasetukset, jotta voimme selittää paremmin, kuinka NFS-liitännät voidaan määrittää.

/var/www/ on käyttäjän omistama ja ryhmä www-data ja /opt/backups omistaa root .

Luo vientitiedostojärjestelmä mkdir komennolla:

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

Asenna todelliset hakemistot:

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

Jos haluat tehdä sidontatelineet pysyviksi, avaa /etc/fstab tiedosto:

sudo nano /etc/fstab

ja lisää seuraavat rivit:

/ Etc / fstab

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

Tiedostojärjestelmien vieminen

Seuraava vaihe on määritellä tiedostojärjestelmät, jotka NFS-palvelin vie, jakoasetukset ja asiakkaat, joilla on pääsy kyseisiin tiedostojärjestelmiin. Avaa näin tiedosto /etc/exports :

sudo nano /etc/exports /etc/exports tiedosto sisältää myös kommentteja, jotka kuvaavat hakemiston viemistä.

Meidän tapauksessamme meidän on vietävä www ja backups ja sallittava pääsy vain 192.168.33.0/24 asiakkaille:

/ Etc / vienti

/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)

Ensimmäinen rivi sisältää fsid=0 joka määrittelee NFS-päähakemiston /srv/nfs . Tämän NFS-taltion käyttöoikeus on sallittu vain asiakkaille 192.168.33.0/24 aliverkossa. crossmnt vaihtoehto vaaditaan jakamaan hakemistoja, jotka ovat vietyjen hakemistojen alihakemistoja.

Toisessa rivissä näytetään kuinka määrittää useita vientisääntöjä yhdelle tiedostojärjestelmälle. Se vie hakemiston /srv/nfs4/backups ja sallii vain luku-pääsyn koko 192.168.33.0/24 ja sekä luku- että kirjoitusoikeudet hakemistoon 192.168.33.3 . sync käskee NFS: n kirjoittamaan muutokset levylle ennen vastaamista.

Viimeisen rivin tulisi olla itsestään selvä. Lisätietoja kaikista käytettävissä olevista vaihtoehdoista kirjoita man exports päätteeseesi.

Tallenna tiedosto ja vie osakkeet:

sudo exportfs -ra

Sinun täytyy suorittaa yllä oleva komento joka kerta, kun muokkaat /etc/exports tiedostoa. Jos virheitä tai varoituksia on, ne näytetään terminaalissa.

Voit tarkastella nykyistä aktiivista vientiä ja sen tilaa käyttämällä:

sudo exportfs -v

Tuotos sisältää kaikki osakkeet optioillaan. Kuten huomaat, on myös vaihtoehtoja, joita emme ole määritelleet /etc/exports tiedostossa. Ne ovat oletusasetuksia, ja jos haluat muuttaa niitä, sinun on asetettava nämä asetukset nimenomaisesti.

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

Ubuntussa root_squash on oletuksena käytössä. Tämä on yksi tärkeimmistä vaihtoehdoista NFS-tietoturvan suhteen. Se estää asiakkaista kytketyillä pääkäyttäjillä juurioikeudet asennetuissa jakeissa. Se kartoittaa juuri- UID ja GID : n nobody / nogroup UID / GID .

Jotta asiakaskoneiden käyttäjillä olisi pääsy, NFS odottaa asiakkaan käyttäjän ja ryhmätunnusten vastaavan palvelimen käyttäjiä. Toinen vaihtoehto on käyttää NFSv4-tunnistuskarttaominaisuutta, joka kääntää käyttäjän ja ryhmän tunnukset nimiksi ja päinvastoin.

Se siitä. Tässä vaiheessa olet asentanut NFS-palvelimen Ubuntu-palvelimelle. Voit nyt siirtyä seuraavaan vaiheeseen, määrittää asiakkaita ja muodostaa yhteyden NFS-palvelimeen.

Palomuurin kokoonpano

Olettaen, että käytät UFW tä hallitaksesi palomuuria salliaksesi pääsyn 192.168.33.0/24 aliverkkoon, sinun on suoritettava seuraava komento:

sudo ufw allow from 192.168.33.0/24 to any port nfs

Varmista muutoksen ajo:

sudo ufw status

Tuloksen tulisi osoittaa, että liikenne satamassa 2049 on sallittua:

To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)

Asenna NFS-asiakkaat

Nyt kun NFS-palvelin on asennettu ja osakkeet viedään, seuraavassa vaiheessa määritetään asiakkaat ja asennetaan etätiedostojärjestelmät.

Voit myös asentaa NFS-osan MacOS- ja Windows-koneisiin, mutta keskitymme Linux-järjestelmiin.

NFS-asiakkaan asentaminen

Asiakaskoneisiin meidän on asennettava vain työkalut, joita tarvitaan etäkäyttöisten NFS-tiedostojärjestelmien asentamiseen.

  • Asenna NFS-asiakasohjelma Debianiin ja Ubuntuun

    Sen paketin nimi, joka sisältää ohjelmat NFS-tiedostojärjestelmien asentamiseksi Debian-pohjaisiin jakeluihin, on nfs-common . Asenna se suorittaa:

    sudo apt update sudo apt install nfs-common

    Asenna NFS-asiakasohjelma CentOS: iin ja Fedoraan

    Asenna Red Hat ja sen johdannaiset nfs-utils pakettiin:

    sudo yum install nfs-utils

Tiedostojärjestelmien asennus

Työskentelemme asiakaskoneella IP 192.168.33.110 jolla on luku- ja kirjoitusoikeudet tiedostoon /srv/nfs4/www ja vain /srv/nfs4/www tiedostojärjestelmään pääsy.

Luo kaksi uutta hakemistoa kiinnityspisteille. Voit luoda nämä hakemistot missä tahansa haluat.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Asenna viedyt tiedostojärjestelmät mount komennolla:

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

Missä 192.168.33.10 on NFS-palvelimen IP. Voit käyttää isäntänimeä myös IP-osoitteen sijasta, mutta sen on oltava asiakaskoneen ratkaistava. Tämä tehdään yleensä kartoittamalla isäntänimi IP: lle /etc/hosts tiedostossa.

Kun asennat NFSv4-tiedostojärjestelmää, sinun on poistettava NFS-juurihakemisto, joten käytettävä /srv/nfs4/backups backups-tiedoston /srv/nfs4/backups sijaan.

Varmista, että etätiedostojärjestelmät on asennettu onnistuneesti joko mount- tai df komennolla:

df -h

Komento tulostaa kaikki asennetut tiedostojärjestelmät. Kaksi viimeistä riviä ovat kiinnitetyt osakkeet:

Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/www 9.7G 1.2G 8.5G 13% /srv/www

Jos haluat kiinnitysten olevan pysyviä uudelleenkäynnistyksen yhteydessä, avaa /etc/fstab tiedosto:

sudo nano /etc/fstab

ja lisää seuraavat rivit:

/ Etc / fstab

192.168.33.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

Jos haluat lisätietoja käytettävissä olevista vaihtoehdoista NFS-tiedostojärjestelmää asennettaessa, kirjoita man nfs päätteeseesi.

Toinen vaihtoehto etätiedostojärjestelmien asentamiseksi on käyttää joko autofs työkalun käyttöä tai luoda järjestelmäyksikkö.

NFS-pääsyn testaaminen

Testattava pääsy osakkeisiin luomalla uusi tiedosto jokaiselle niistä.

Yritä ensin luoda testitiedosto /backups -hakemistoon touch :

sudo touch /backups/test.txt

/backup viedään vain luku -tyyppisenä ja odotetusti näet Permission denied virheilmoituksen:

touch: cannot touch '/backups/test': Permission denied

Seuraavaksi yritä luoda testitiedosto hakemistoon /srv/www juurina sudo komennolla:

sudo touch /srv/www/test.txt

Näet jälleen Permission denied viesti.

touch: cannot touch '/srv/www': Permission denied

Olettaen, että asiakaskoneellasi on www-data käyttö samoilla UID ja GID kuin etäpalvelimella (tämän pitäisi olla tapaus, jos olet esimerkiksi asentanut nginx molemmille koneille), voit testata luodaksesi tiedoston käyttäjänä www-data :

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

Komento ei tuota tulosta, mikä tarkoittaa, että tiedoston luominen onnistui.

Vahvista se luettelossa /srv/www hakemistossa olevat tiedostot:

ls -la /srv/www

Tulosteessa tulisi näyttää vasta luotu tiedosto:

drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 0 Jun 23 22:18 test.txt

NFS-tiedostojärjestelmän irrottaminen

sudo umount /backups

Jos asennuspiste on määritetty tiedostossa /etc/fstab , muista poistaa rivi tai kommentoida sitä lisäämällä # rivin alkuun.

johtopäätös

Tässä opetusohjelmassa olemme osoittaneet, kuinka NFS-palvelin määritetään ja kuinka etätiedostojärjestelmät asennetaan asiakaskoneisiin. Jos otat NFS: n käyttöön tuotannossa ja jaat järkevää tietoa, on hyvä idea ottaa Kerberos-todennus käyttöön.

Vaihtoehtona NFS: lle voit käyttää SSHFS: ää etähakemistojen asentamiseen SSH-yhteyden yli. SSHFS on salattu oletuksena, ja sitä on paljon helpompi määrittää ja käyttää.

Jätä kommentti, jos sinulla on kysyttävää.

ubuntu nfs -päätelaite