Linux

NFS-kiszolgáló telepítése és konfigurálása az Ubuntu 20-on.04

NFS-kiszolgáló telepítése és konfigurálása az Ubuntu 20-on.04

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

Alapértelmezés szerint az NFS protokoll nincs titkosítva, és nem nyújt felhasználói hitelesítést. A kiszolgálóhoz való hozzáférést az ügyfél IP-címei vagy gazdagépnevei korlátozzák.

Ez a cikk elmagyarázza, hogyan kell beállítani az NFSv4 kiszolgálót az Ubuntu 20 rendszeren.04. Megmutatjuk azt is, hogy hogyan lehet NFS fájlrendszert csatlakoztatni az ügyfélgépre.

Előfeltételek #

Két gépet fogunk használni, az egyik az Ubuntu 20-at futtatja.04, amely NFS-kiszolgálóként fog működni, és egy másik, amely bármely más Linux disztribúciót futtat, amelyre a megosztást csatlakoztatjuk. A szervernek és az ügyfeleknek képesnek kell lenniük arra, hogy privát hálózaton keresztül kommunikáljanak egymással. Használhatja a nyilvános IP-címeket és konfigurálhatja a kiszolgáló tűzfalát a forgalom engedélyezéséhez a porton 2049 csak megbízható forrásokból.

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

NFS szerver IP: 192.168.33.10 NFS kliens IP: A 192-től.168.33.0/24 tartomány 

Az NFS-kiszolgáló beállítása

Az első lépés az NFS-kiszolgáló beállítása. Telepítjük a szükséges csomagokat, létrehozzuk és exportáljuk az NFS könyvtárakat, és konfiguráljuk a tűzfalat.

Az NFS szerver telepítése #

Az NFS kiszolgálócsomag biztosítja az NFS kernelkiszolgáló futtatásához szükséges felhasználói tér támogatást. A csomag telepítéséhez futtassa:

sudo apt frissítéssudo apt install nfs-kernel-server

A telepítés befejezése után az NFS-szolgáltatások automatikusan elindulnak.

Az Ubuntu 20-on.04, az NFS 2. verziója le van tiltva. A 3. és 4. verzió engedélyezve van. Ezt a következők futtatásával ellenőrizheti macska parancs:

sudo cat / proc / fs / nfsd / verziók
-2 +3 +4 +4.1 +4.2 

Az NFSv2 most már elég régi, és nincs miért engedélyezni.

Az NFS-kiszolgáló konfigurációját a / etc / default / nfs-kernel-server és / etc / default / nfs-common fájlokat. Az alapértelmezett beállítások a legtöbb helyzetben elegendőek.

A fájlrendszerek létrehozása #

Az NFSv4 szerver globális gyökérkönyvtárat használ, és az exportált könyvtárak ehhez a könyvtárhoz viszonyítva vannak. A megosztáscsatlakozási pontot összekapcsolhatja az exportálni kívánt könyvtárakkal a kötési tartók segítségével.

Ebben a példában a / srv / nfs4 könyvtár NFS gyökérként. Az NFS-tartók konfigurálásának jobb megértéséhez két könyvtárat fogunk megosztani (/ var / www és / opt / backups) különböző konfigurációs beállításokkal. A / var / www / a felhasználó tulajdonában van www-adatok, és / opt / backups tulajdonosa gyökér.

Először hozza létre a gyökérkönyvtárat és a megosztási csatolási pontokat:

sudo mkdir -p / srv / nfs4 / biztonsági mentéseksudo mkdir -p / srv / nfs4 / www

A könyvtárakat kösse össze a megosztási csatolási pontokkal:

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

Ha a kötési tartókat állandóvá akarja tenni az újraindítás során, nyissa meg a / etc / fstab fájl:

sudo nano / etc / fstab

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

/ 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 exportálandó fájlrendszerek hozzáadása, és az ügyfelek számára engedélyezett hozzáférés ezekhez a megosztásokhoz a / etc / export fájl.

Az exportált fájlrendszer minden sorának formája a következő:

export állomás (opciók) 

Hol export az exportált könyvtár, házigazda egy gazdagépnév vagy IP-cím / tartomány, amely hozzáférhet az exportáláshoz, és opciók a gazdagép opciói.

Nyissa meg a / etc / export fájlt, és adja hozzá a következő sorokat:

sudo nano / etc / export
/ etc / export
/ srv / nfs4 192.168.33.0/24 (rw, sync, no_subtree_check, crossmnt, fsid = 0) / srv / nfs4 / biztonsági mentések 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.20 (rw, sync, no_subtree_check) 

Az első sor a fsid = 0 beállítás, amelyek meghatározzák az NFS gyökérkönyvtárát (/ srv / nfs4). Ehhez az NFS-kötethez csak a kliensek férhetnek hozzá 192.168.33.0/24 alhálózat. A crossmnt opció szükséges az olyan könyvtárak megosztásához, amelyek egy exportált könyvtár alkönyvtárai.

A második sor megmutatja, hogyan adhat meg több exportálási szabályt egy fájlrendszerhez. Az egész olvasási hozzáférés engedélyezett 192.168.33.0/24 tartomány, és olvasási és írási hozzáférés is csak a 192.168.33.3 IP-cím. A szinkronizál Az opció megadja az NFS-nek, hogy a válasz előtt írja be a lemezre a változásokat.

Az utolsó sor magától értetődő. További információ az összes rendelkezésre álló opcióról az ember exportál a terminálodban.

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

sudo exportfs -ar

A fenti parancs minden egyes módosításakor futtatnia kell / etc / export fájl. Ha bármilyen hiba vagy figyelmeztetés van, akkor azok megjelennek a terminálon.

A jelenlegi aktív export és állapotuk megtekintéséhez használja:

sudo exportfs -v

A kimenet tartalmazza az összes részvényt opcióikkal. Mint látható, vannak olyan opciók is, amelyeket még nem definiáltunk a / etc / export fájl. Ezek az alapértelmezett beállítások, és ha meg akarja változtatni őket, akkor kifejezetten be kell állítania ezeket az opciókat.

/ srv / nfs4 / backups 192.168.33.3 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, biztonságos, root_squash, no_all_squash) / srv / nfs4 / www 192.168.33.20 (rw, wdelay, root_squash, no_subtree_check, sec = sys, rw, biztonságos, 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, biztonságos, root_squash, no_all_squash) / srv / nfs4 / biztonsági mentések 192.168.33.0/24 (ro, wdelay, root_squash, no_subtree_check, sec = sys, ro, biztonságos, root_squash, no_all_squash) 

Az Ubuntun, root_squash alapértelmezés szerint engedélyezve van. Ez az egyik legfontosabb lehetőség az NFS biztonságával kapcsolatban. Megakadályozza, hogy az ügyfelektől összekapcsolt root felhasználók root jogosultságokkal rendelkezzenek a csatlakoztatott megosztásokon a root leképezésével UID és GID nak nek senki/nocsoport UID/GID.

Annak érdekében, hogy az ügyfélgépeken lévő felhasználók hozzáférhessenek, az NFS elvárja, hogy az ügyfél felhasználói és csoportazonosítói megegyezzenek a szerveren lévőkkel. Egy másik lehetőség az NFSv4 idmapping szolgáltatás használata, amely a felhasználói és csoport azonosítókat nevekre fordítja és fordítva.

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

Tűzfal konfigurációja

Ha egy távoli Ubuntu szerverre telepíti a Jenkins szolgáltatást, amelyet tűzfal véd, akkor engedélyeznie kell a forgalmat az NFS porton:

sudo ufw allow 192-től.168.33.0/24 bármelyik nfs portra

Ellenőrizze a változást:

sudo ufw állapot

A kimenetnek azt kell mutatnia, hogy a forgalom a porton van 2049 megengedett:

- ---------- 2049-ig MEGHATÁROZHATÓ 192.168.33.0/24 22 / tcp ALLOW Anywhere 22 / tcp (v6) ALLOW Anywhere (v6) 

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

Most, hogy az NFS szerver be van állítva és a megosztások exportálva vannak, a következő lépés az ügyfelek konfigurálása és a távoli fájlrendszerek csatlakoztatása.

A Linux rendszerekre fogunk összpontosítani, de az NFS megosztást csatolhatja macOS és Windows gépekre is.

Az NFS kliens telepítése

Az ügyfélgépeken csak a távoli NFS fájlrendszer csatlakoztatásához szükséges eszközöket kell telepítenünk.

Fájlrendszerek csatlakoztatása #

Dolgozni fogunk az ügyfélgépen IP-vel 192.168.33.20, amely olvasási és írási hozzáféréssel rendelkezik a / srv / nfs4 / www fájlrendszer és írásvédett hozzáférés a / srv / nfs4 / backups fájlrendszer.

Hozzon létre két új könyvtárat a csatlakozási pontokhoz:

sudo mkdir -p / biztonsági mentéseksudo mkdir -p / srv / www

A könyvtárakat tetszőleges helyen létrehozhatja.

Csatlakoztassa az exportált fájlrendszereket a hegy parancs:

sudo mount -t nfs -o vers = 4 192.168.33.10: / biztonsági mentések / biztonsági mentéseksudo mount -t nfs -o vers = 4 192.168.33.10: / www / srv / www

Hol 192.168.33.10 az NFS szerver IP-je. Az IP-cím helyett használhatja a hosztnevet is, de azt az ügyfélgépnek meg kell oldania. Ez általában úgy történik, hogy a gazdagép nevét hozzárendeli az IP-hez a / etc / hosts fájl.

NFSv4 fájlrendszer csatlakoztatásakor hagyja ki az NFS gyökérkönyvtárát. Használat / biztonsági mentések, ahelyett / srv / nfs4 / backups.

A mount vagy a gombbal ellenőrizze, hogy a távoli fájlrendszereket sikeresen csatlakoztatták-e df parancs:

df -h

A parancs kinyomtatja az összes csatlakoztatott fájlrendszert. Az utolsó két sor a kapcsolt részvény:

Használt fájlrendszer méret Elérhető Használat% udev 951M 0 951M 0% / dev tmpfs-re szerelve 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: / biztonsági mentések 124G 2.8G 115G 3% / biztonsági másolatok 192.168.33.10: / www 124G 2.8G 115G 3% / srv / www

Ha a tartókat újraindításkor állandóvá akarja tenni, nyissa meg a / etc / fstab fájlt, és adja hozzá a következő sorokat:

sudo nano / etc / fstab
/ etc / fstab
192.168.33.10: / backups / backups nfs alapértelmezett értékek, timeo = 900, retrans = 5, _netdev 0 0 192.168.33.10: / www / srv / www nfs alapértelmezett értékek, timeo = 900, retrans = 5, _netdev 0 0 

Az NFS fájlrendszer telepítésekor elérhető opciókról írja be a következőt: ember nfs a terminálodban.

A távoli fájlrendszerek csatlakoztatásának másik lehetősége a autofok eszköz vagy egy systemd egység létrehozásához.

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

Teszteljük a megosztásokhoz való hozzáférést úgy, hogy mindegyiken létrehozunk egy új fájlt.

Először próbáljon létrehozni egy tesztfájlt a / biztonsági mentések könyvtár segítségével érintés parancs:

sudo touch / backups / test.txt

A /biztonsági mentés a fájlrendszert csak olvasható formában exportálják, és a várakozásoknak megfelelően a Hozzáférés megtagadva hiba üzenet:

touch: nem érintheti meg a '/ backups / test' elemet: Az engedély megtagadva 

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

sudo touch / srv / www / test.txt

Ismét meglátod Hozzáférés megtagadva üzenet.

touch: nem lehet megérinteni a '/ srv / www' szót: Az engedély megtagadva 

Ha felidézi, a / var / www könyvtár a www-adatok felhasználó, és ennek a megosztásnak van root_squash opció, amely a gyökér felhasználót a senki felhasználó és nocsoport csoport, amely nem rendelkezik írási engedéllyel a távoli megosztásra.

Feltéve, hogy van egy www-adatok használni az ügyfélgépen ugyanazokkal UID és GID mint a távoli kiszolgálón (ennek akkor kell lennie, ha például mindkét gépre telepítette az nginx szoftvert), megpróbálhat felhasználói fájlként létrehozni egy fájlt www-adatok:

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

A parancs nem jelenít meg kimenetet, ami azt jelenti, hogy a fájl sikeresen elkészült.

Ennek ellenőrzéséhez sorolja fel a fájlokat a / srv / www Könyvtár:

ls -la / srv / www

A kimenetnek az újonnan létrehozott fájlt kell mutatnia:

drwxr-xr-x 3 www-data www-data 4096 április 10, 22:18 . drwxr-xr-x 3 gyökérgyökér 4096 április 10. 22: 29… -rw-r - r-- 1 www-data www-data 0. április 10. 21:58 index.html -rw-r - r-- 1 www-data www-data 0 április 10. 22:18 teszt.txt 

Az NFS fájlrendszer leválasztása #

Ha a távoli NFS megosztásra már nincs szükség, leválaszthatja azt, mint bármely más csatlakoztatott fájlrendszert a umount parancs.

Például a /biztonsági mentés megosztani, akkor futna:

sudo umount / backups

Ha a csatlakozási pontot a / etc / fstab fájlt, győződjön meg róla, hogy eltávolította a sort, vagy hozzáadásával megjegyezte # a sor elején.

Következtetés

Megmutattuk, hogyan kell beállítani egy NFS-kiszolgálót, és hogyan kell csatlakoztatni a távoli fájlrendszereket az ügyfélgépekre. Ha az NFS-t implementálja a termelésbe, és ésszerű adatokat oszt meg, akkor célszerű engedélyezni a kerberos hitelesítést.

Az NFS alternatívájaként használhatja az SSHFS-t távoli könyvtárak SSH-kapcsolaton keresztül történő csatlakoztatásához. Az SSHFS alapértelmezés szerint titkosított, és sokkal könnyebben konfigurálható és használható.

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

Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...