Android

Nfs-palvelimen asentaminen ja määrittäminen centos 8: 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 tarvittavat vaiheet NFSv4-palvelimen asentamiseksi CentOS 8: een. Osoitamme sinulle myös, kuinka NFS-tiedostojärjestelmä asennetaan asiakkaaseen.

edellytykset

Oletamme, että sinulla on palvelin, jolla on CentOS 8, johon me perustamme NFS-palvelimen ja muut koneet, jotka toimivat NFS-asiakkaina. 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.148 NFS Clients IPs: From the 192.168.33.0/24 range

Asenna NFS-palvelin

Tässä osassa selitetään kuinka asentaa tarvittavat paketit, luoda ja viedä NFS-hakemistot ja määrittää palomuuri.

NFS-palvelimen asentaminen

”Nfs-utils” -paketti tarjoaa NFS-apuohjelmat ja demonit NFS-palvelimelle. Asenna se suorittamalla seuraava komento:

sudo dnf install nfs-utils

Kun asennus on valmis, ota NFS-palvelu käyttöön ja käynnistä se kirjoittamalla:

sudo systemctl enable --now nfs-server

Oletusarvoisesti CentOS 8 NFS -versiot 3 ja 4.x ovat käytössä, versio 2 on poistettu käytöstä. NFSv2 on nyt melko vanha, eikä sitä ole syytä ottaa käyttöön. Suorita seuraava cat sen varmistamiseksi:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

NFS-palvelimen määritysasetukset asetetaan /etc/nfsmount.conf ja /etc/nfs.conf . Oletusasetukset ovat riittävät opetusohjelmaamme.

Tiedostojärjestelmien luominen

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

Jotta NFS-asennukset voidaan määrittää paremmin, jaamme kaksi hakemistoa ( /var/www ja /opt/backups ), joilla on erilaiset asetusasetukset.

/var/www/ on käyttäjän omistama, ja apache ja /opt/backups omistaa root .

Luo vientitiedostojärjestelmä mkdir komennolla:

sudo mkdir -p /srv/nfs4/{backups, www}

Asenna todelliset hakemistot:

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

Lisää sidontatelineet pysyviksi lisäämällä seuraavat merkinnät tiedostoon /etc/fstab :

sudo nano /etc/fstab / 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

Vie www ja backups ja salli 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.

Toinen rivi näyttää kuinka määrittää useita vientisääntöjä yhdelle tiedostojärjestelmälle. Se vie hakemiston /srv/nfs4/backups ja sallii vain lukuoikeudet 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ä. Jos haluat lisätietoja kaikista käytettävissä olevista vaihtoehdoista, kirjoita man exports terminaaliin.

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 olemassa myös vaihtoehtoja, joita emme ole määritelleet tiedostoon /etc/exports . Ne ovat oletusasetuksia, ja jos haluat muuttaa niitä, sinun on asetettava nämä asetukset nimenomaisesti.

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash 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 käyttöoikeus, NFS odottaa asiakkaan käyttäjän ja ryhmän 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 CentOS-palvelimelle. Voit nyt siirtyä seuraavaan vaiheeseen, määrittää asiakkaita ja muodostaa yhteyden NFS-palvelimeen.

Palomuurin kokoonpano

FirewallD on Centos 8: n oletuspalomuuriratkaisu.

NFS-palvelu sisältää ennalta määritetyt säännöt pääsyn sallimiseksi NFS-palvelimelle.

Seuraavat komennot sallivat pysyvän pääsyn 192.168.33.0/24 :

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

Asenna NFS-asiakkaat

Nyt kun NFS-palvelin on asennettu ja jaokset 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

Asenna asiakkaan koneisiin NFS-etäjärjestelmien asentamiseen tarvittavat työkalut.

  • 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 suorittamalla:

    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 /srv/nfs4/www ja kirjoitusoikeus tiedostoon /srv/nfs4/www ja vain luku /srv/nfs4/backups tiedostoon /srv/nfs4/backups .

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.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Missä 192.168.33.148 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 jätettävä NFS-päähakemisto pois, 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:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/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.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/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 jokaisessa 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

root_squash käyttäjä omistaa /var/www hakemiston, ja tässä osuudessa on asetettu root_squash asetus, joka kuvaa pääkäyttäjän nogroup käyttäjälle ja ryhmälle, jolla ei ole kirjoitusoikeuksia nogroup .

Jos oletetaan, että asiakaskoneessa on käyttäjän apache samalla UID ja GID kuin etäpalvelimella (tämän pitäisi olla tapaus, jos olet asentanut apachen molemmille koneille), voit testata luodaksesi tiedoston käyttäjän apache tiedostona kanssa:

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

Komento ei tuota tulosta, mikä tarkoittaa, että tiedosto luotiin onnistuneesti.

Vahvista se luettelossa /srv/www hakemistossa olevat tiedostot:

ls -la /srv/www

Tulosteessa tulisi näyttää vasta luotu tiedosto:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 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 käytät NFS: ää 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ää.

centos nfs -päätelaite