Android

Az nfs szerver telepítése és konfigurálása a centos 8 rendszeren

FreeIPA Server Installation on Redhat 7 || Centos 7

FreeIPA Server Installation on Redhat 7 || Centos 7

Tartalomjegyzék:

Anonim

A Network File System (NFS) egy elosztott fájlrendszer-protokoll, amely lehetővé teszi a távoli könyvtárak megosztását egy hálózaton keresztül. Az NFS segítségével a távoli könyvtárakat felveheti a rendszerére, és úgy működhet a távoli számítógépen lévő fájlokkal, mintha azok helyi fájlok lennének.

Az NFS protokollt alapértelmezés szerint nem titkosítja, és a Sambától eltérően nem nyújt felhasználói hitelesítést. A kiszolgálóra való belépést az ügyfelek IP-címei vagy gazdanevei korlátozzák.

Ebben az oktatóprogramban végigmegy az NFSv4 szerver beállításához a CentOS 8 rendszeren szükséges lépések. Megmutatjuk azt is, hogyan kell NFS fájlrendszert telepíteni az ügyfélen.

Előfeltételek

Feltételezzük, hogy van egy olyan kiszolgálója, amely CentOS 8-at futtat, amelyen beállítjuk az NFS-kiszolgálót és más gépeket, amelyek NFS-ügyfelekként működnek. A szervernek és az ügyfeleknek képesnek kell lenniük arra, hogy privát hálózaton keresztül kommunikáljanak. Ha a tárhely szolgáltatója nem kínál magán IP-címeket, akkor használhatja a nyilvános IP-címeket és konfigurálhatja a kiszolgáló tűzfalat, hogy csak a megbízható forrásokból engedélyezze a 2049 -es porton történő forgalmat.

A példában szereplő gépek a következő IP-kkel rendelkeznek:

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

Állítsa be az NFS szervert

Ez a szakasz ismerteti a szükséges csomagok telepítését, az NFS könyvtárak létrehozását és exportálását, valamint a tűzfal konfigurálását.

Az NFS szerver telepítése

Az „nfs-utils” csomag biztosítja az NFS segédprogramokat és démonokat az NFS szerver számára. A telepítéshez futtassa a következő parancsot:

sudo dnf install nfs-utils

A telepítés befejezése után engedélyezze és indítsa el az NFS szolgáltatást a következő gépeléssel:

sudo systemctl enable --now nfs-server

Alapértelmezés szerint a CentOS 8 NFS 3 és 4.x verziói engedélyezve vannak, a 2. verzió le van tiltva. Az NFSv2 már nagyon régi, és nincs oka annak engedélyezésére. Ennek ellenőrzéséhez futtassa a következő cat parancsot:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Az NFS szerver konfigurációs beállításai az /etc/nfsmount.conf és az /etc/nfs.conf fájlokban vannak beállítva. Az alapértelmezett beállítások elegendőek az oktatóanyaghoz.

A fájlrendszerek létrehozása

Az NFSv4 szerver konfigurálásakor jó gyakorlat, ha egy globális NFS gyökérkönyvtárat használunk, és a tényleges könyvtárakat csatoljuk a megosztási csatolási ponthoz. Ebben a példában az /srv/nfs4 Director-ot fogjuk használni NFS gyökérként.

Az NFS-csatlakozók konfigurálásának pontosabb megismerése érdekében két könyvtárat ( /var/www és /opt/backups ) osztunk meg, különböző konfigurációs beállításokkal.

A /var/www/ a felhasználó, a csoport apache és az /opt/backups pedig a root tulajdonában van.

Hozza létre az export fájlrendszert az mkdir paranccsal:

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

Helyezze be a tényleges könyvtárakat:

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

A kötési csatolások állandóvá tételéhez adja hozzá a következő bejegyzéseket az /etc/fstab fájlhoz:

sudo nano /etc/fstab / Etc / fstab

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

A fájlrendszerek exportálása

A következő lépés az NFS-kiszolgáló által exportálandó fájlrendszerek, a megosztási lehetőségek és az azokhoz a fájlrendszerekhez hozzáféréssel rendelkező ügyfelek meghatározása. Ehhez nyissa meg az /etc/exports fájlt:

sudo nano /etc/exports

Exportálja a www és a backups könyvtárait, és csak a 192.168.33.0/24 hálózaton keresztül tegye lehetővé az ügyfelek hozzáférését:

/ Etc / export

/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)

Az első sor fsid=0 tartalmaz, amely meghatározza az NFS gyökér könyvtárat /srv/nfs . Az NFS köteten való hozzáférés csak az 192.168.33.0/24 alhálózaton található ügyfelek számára engedélyezett. A crossmnt opcióra szükség van olyan könyvtárak megosztására, amelyek az exportált könyvtárak alkönyvtárai.

A második sor bemutatja, hogyan lehet több export szabályt meghatározni egy fájlrendszerre. /srv/nfs4/backups az /srv/nfs4/backups könyvtárat, és csak a teljes 192.168.33.0/24 tartományhoz engedélyezi az olvasást, és mind az 192.168.33.3 olvasási, mind írási hozzáférést. A sync opció azt mondja az NFS-nek, hogy válaszolása előtt írjon változtatásokat a lemezre.

Az utolsó sornak magától értetődőnek kell lennie. Az összes elérhető opcióval kapcsolatos további információkért gépelje be az man exports terminálját.

Mentse el a fájlt és exportálja a megosztásokat:

sudo exportfs -ra

A fenti parancsot minden alkalommal el kell futtatnia, amikor módosítja az /etc/exports fájlt. Ha vannak hibák vagy figyelmeztetések, akkor ezek megjelennek a terminálon.

Az aktuális aktív export és állapotuk megtekintéséhez használja:

sudo exportfs -v

A kimenet tartalmazza az összes részvényt és opcióikat. Mint láthatja, vannak olyan lehetőségek, amelyeket még nem határozunk meg az /etc/exports fájlban. Ezek alapértelmezett beállítások, és ha meg akarja változtatni, akkor ezeket a beállításokat kifejezetten be kell állítania.

/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 az NFS biztonságát illetően az egyik legfontosabb lehetőség. Megakadályozza, hogy az ügyfelekből csatlakoztatott gyökér felhasználók root jogokkal rendelkezzenek a csatolt megosztásokon. nogroup gyökér UID és a GID et nobody / nem nogroup UID / GID .

Ahhoz, hogy az ügyfélgépek felhasználói hozzáférjenek, az NFS elvárja, hogy az ügyfél felhasználói és csoportazonosítói megegyezjenek a kiszolgálón lévőkkel. Egy másik lehetőség az NFSv4 azonosító funkció használata, amely lefordítja a felhasználói és csoportazonosítókat nevekre és fordítva.

Ez az. Ezen a ponton beállított egy NFS-kiszolgálót a CentOS-kiszolgálón. Most továbbléphet a következő lépésre, konfigurálhatja az ügyfeleket, és csatlakozhat az NFS-kiszolgálóhoz.

Tűzfal konfiguráció

A FirewallD az alapértelmezett tűzfalmegoldás a Centos 8-on.

Az NFS szolgáltatás előre meghatározott szabályokat tartalmaz az NFS szerverhez való hozzáférés engedélyezéséhez.

A következő parancsok véglegesen lehetővé teszik a hozzáférést a 192.168.33.0/24 alhálózatból:

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

Az NFS-ügyfelek beállítása

Most, hogy az NFS-kiszolgáló telepítve van és a megosztások exportálva vannak, a következő lépés konfigurálja az ügyfeleket és telepítse a távoli fájlrendszereket.

Az NFS-megosztás MacOS és Windows gépekre is csatlakoztatható, de a Linux rendszerekre koncentrálunk.

Az NFS kliens telepítése

Az ügyfél gépein telepítse a távoli NFS fájlrendszerek beillesztéséhez szükséges eszközöket.

  • Telepítse az NFS klienst a Debian és az Ubuntu alkalmazásokra

    Az NFS fájlrendszerek Debian alapú disztribúciókra történő telepítésére szolgáló programokat tartalmazó csomag neve nfs-common . Futtatásához telepítse:

    sudo apt update sudo apt install nfs-common

    Telepítse az NFS klienst a CentOS-ra és a Fedora-ra

    A Red Hat-on és származékain telepítse az nfs-utils csomagot:

    sudo yum install nfs-utils

Szerelő fájlrendszerek

Dolgozunk az IP 192.168.33.110 IP kliens gépen, amely olvasási és írási hozzáférést biztosít az /srv/nfs4/www fájlrendszerhez, és csak olvasható hozzáférést biztosít az /srv/nfs4/backups fájlrendszerhez.

Hozzon létre két új könyvtárat a csatlakozási pontokhoz. A könyvtárakat bármikor létrehozhatja a kívánt helyre.

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

Szerelje fel az exportált fájlrendszereket a mount paranccsal:

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

Ahol a 192.168.33.148 az NFS szerver IP-je. Az IP-cím helyett a hostnevet is használhatja, de az ügyfélgépnek meg kell oldania. Ez általában úgy történik, hogy a gazdagépnevét leképezi az IP-re az /etc/hosts fájlban.

Az NFSv4 fájlrendszer telepítésekor el kell hagyni az NFS gyökérkönyvtárat, tehát az /srv/nfs4/backups helyett a /srv/nfs4/backups kell használni.

Ellenőrizze, hogy a távoli fájlrendszerek telepítése sikeres volt-e a mount vagy a df paranccsal:

df -h

A parancs kinyomtatja az összes csatolt fájlrendszert. Az utolsó két sor a rögzített részvények:

… 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

Annak érdekében, hogy a csatolások állandóak legyenek az újraindításkor, nyissa meg az /etc/fstab fájlt:

sudo nano /etc/fstab

és adjuk hozzá a következő sorokat:

/ 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

Az NFS fájlrendszer telepítésekor elérhető opciókról további információért gépelje be a man nfs terminált.

A távoli fájlrendszerek beillesztésének másik lehetősége az autofs eszköz használata vagy a systemd egység létrehozása.

Az NFS hozzáférés tesztelése

Teszteljük a részvényekhez való hozzáférést azáltal, hogy mindegyikben létrehozunk egy új fájlt.

Először próbáljon meg létrehozni egy tesztfájlt a /backups könyvtárba az touch paranccsal:

sudo touch /backups/test.txt

A /backup fájlrendszer csak olvashatóként kerül exportálásra, és a várakozásnak megfelelően megjelenik az Permission denied hibaüzenet:

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

Ezután próbáljon meg létrehozni egy tesztfájlt a /srv/www könyvtárba gyökérként a sudo paranccsal:

sudo touch /srv/www/test.txt

Megint megjelenik az Permission denied üzenet.

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

A /var/www könyvtár az apache felhasználó tulajdonában van, és ennek a megosztásnak a root_squash beállítása van, amely a gyökér felhasználót olyan nobody felhasználóhoz és nogroup csoporthoz nogroup amelynek nincs írási jogosultsága a távoli megosztáshoz.

Feltételezve, hogy felhasználói ügyfelek léteznek az ügyfélgépen ugyanazzal a UID és GID mint a távoli szerveren (ez akkor állhat fenn, ha például az apache-t mindkét gépen telepítette), akkor tesztelhet egy fájlt felhasználói apache val vel:

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

A parancs nem jelenít meg kimenetet, ami azt jelenti, hogy a fájl sikeresen létrejött.

Ennek igazolásához sorolja fel a /srv/www könyvtárban található fájlokat:

ls -la /srv/www

A kimeneten az újonnan létrehozott fájlt kell megjeleníteni:

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

Az NFS fájlrendszer leválasztása

sudo umount /backups

Ha a csatlakozási pontot az /etc/fstab fájl határozza meg, akkor feltétlenül távolítsa el a sort vagy kommentálja azt a # elejével a sor elejére.

Következtetés

Ebben az oktatóanyagban megmutattuk, hogyan állítson be egy NFS-kiszolgálót, és hogyan telepítse a távoli fájlrendszereket az ügyfélgépekre. Ha az NFS-t a termelésben valósítja meg, és ésszerű adatokat oszt meg, akkor érdemes engedélyezni a kerberos hitelesítést.

Az NFS alternatívájaként az SSHFS segítségével távoli könyvtárakat csatlakoztathat SSH kapcsolaton keresztül. Az SSHFS alapértelmezés szerint titkosítva, és sokkal könnyebben konfigurálható és használható.

Ha bármilyen kérdése van, nyugodtan írjon megjegyzést.

centos nfs csatlakozó terminál