A Sun Microsystems NFS (Network File System) egy RPC-alapú elosztott fájlrendszer-struktúra, amely lehetővé teszi a hálózati eszközök számára, hogy a hálózaton keresztül NFS-t futtató kiszolgálókat helyi meghajtóként használják.

Íme egy lépésről lépésre szóló útmutató az NFS-kiszolgáló beállításához és konfigurálásához Linuxos gépeken.

Mi az a hálózati fájlrendszer?

Az NFS fájlrendszer négy protokollal rendelkezik. Amikor a szerver készen áll, értesíti a portmap-et (a protokollt portszámokká alakító szervert) a használni kívánt portról, és megadja a vezérelt RPC program számát.

Ha beágyazott Linux rendszert használ, nagyon kényelmes az eszköz elindítása NFS fájlmegosztáson keresztül a hálózaton keresztül ahelyett, hogy közvetlenül a tárolóeszközről indítaná el (NAND flash, eMMC, MMC, stb.).

Bár ritkább, érdemes lehet NFS-megosztást csatlakoztatni és fájlmegosztásokat végrehajtani a rendszerindítás után, még akkor is, ha nem közvetlenül az NFS-megosztásról indítja el a rendszert. Ahhoz, hogy mindkét forgatókönyv működjön, először telepítenie kell egy NFS-kiszolgálót arra a számítógépre, amelyen fejleszt.

instagram viewer

Hogyan telepítsünk NFS-t Linuxra

Ha Ön a Debian alapú rendszer mint például az Ubuntu vagy a Linux Mint, telepítenie kell a nfs-kernel-server csomag az alábbiak szerint:

sudo apt telepítés nfs-kernel-szerver

Arch Linuxon:

sudo pacman -S nfs-utils

Fedora, CentOS és RHEL rendszeren:

sudo dnf -y telepítés nfs-utils

A folyamat végén az NFS-kiszolgáló automatikusan elindul. Azonban ezen a ponton még nem tudja, hogy számítógépe mely könyvtárait szeretné megosztani a hálózaton keresztül. Ezért alapértelmezés szerint nem biztosít megosztást.

Ugyanazon a kiszolgálón több könyvtárat is megnyithat, hogy lehetővé tegye a hálózati megosztást különböző jogosultságokkal és korlátozásokkal.

Az NFS-kiszolgáló konfigurálása Linux rendszeren

Bármely címtár megosztásához az NFS-kiszolgálón, be kell állítani egy címtárral kapcsolatos beállítást a /etc/exports fájlt. Nyissa meg a fájlt tetszőleges szövegszerkesztővel. Ügyeljen arra, hogy hozzáadja a sudo előtagot a parancshoz.

sudo vim /etc/export

Kíváncsi lehet, mit jelentenek az itt látható leképezési lehetőségek:

  • root_squash: A sudo jogosult kliensfelhasználókat senki felhasználóként és csoportként jelöli meg az NFS-en
  • no_root_squash: Letiltja a gyökérösszenyomódást
  • all_squash: A root_squash-tól eltérően lehetővé teszi, hogy az összes felhasználót senki felhasználóként és csoportként lehessen leképezni. Általában nyilvános hozzáférésre használják.
  • no_all_squash: Az all_squash ellentéte; ez az opció az alapértelmezett

Amikor az NFS-kiszolgálón az /etc/exports fájlban engedélyezett IP-tartományokon kívül eső rendszer megpróbál hozzáférni a megfelelő erőforráshoz, az NFS-kiszolgáló elutasítja a kérést.

A beágyazott rendszerre való csatlakoztatás során előfordulhat, hogy "szerver megtagadta a hozzáférést" üzenetet kaphat. Az alábbiakhoz hasonló hibaüzenetek jelennek meg a végén /var/log/syslog fájl azon a számítógépen, amelyen az NFS-kiszolgáló fut:

rpc.mountd[1041]: visszautasította a csatolási kérelmet tól től192.168.2.2számára /home/example/casper/target (/home/példa/casper/cél): páratlan gazdagép

Ha a fentihez hasonló páratlan gazdagép naplóüzenetet lát, bontsa ki a megfelelő szabály IP/hálózati maszk részét az /etc/exports fájlban, vagy használja a csillag (*) speciális karakter, ha hozzáférést szeretne biztosítani az összes IP-címhez.

A módosítások elvégzése után újra kell indítania az NFS szolgáltatást /etc/exports fájl:

sudo szolgáltatás nfs-kernel-server újraindítás

Vagy ha a disztribúció a systemctl-lel érkezik, futtassa a következő parancsot:

sudosystemctlújrakezdnfs-szerver.szolgáltatás

Azt is megadhatod a -r paramétert a exportfs parancsot, így újra megosztja azokat a könyvtárakat, amelyek megváltoztatták a megosztással kapcsolatos beállításokat:

sudo exportfs -r

A rögzítési késleltetési probléma megoldása

Ha az NFS protokoll 4-es vagy újabb verzióját használja a szerveren, akár 15 másodperces késések is előfordulhatnak a kliensoldali beillesztési folyamat hagyományos működési forgatókönyvekben az NFS alapértelmezett konfigurációival szerver. Ez a probléma a Debian, Fedora és Ubuntu egyes verzióiban jelentkezhet.

Ha hasonló mount késést tapasztal, megteheti ellenőrizze a szerveroldali naplófájlokat (/var/log/syslog, /var/log/messages) a következőhöz hasonló naplóüzenethez:

... RPC: AUTH_GSS felhívás időtúllépést ért el

Ez az üzenet azt jelzi, hogy a Kerberos hitelesítés meghiúsult, és időtúllépés történt. Valószínűleg nem lesz szüksége a Kerberos protokollra a hálózati biztonsági hitelesítéshez a környezetében. Még akkor sem kell engedélyeznie a Kerberos hitelesítést, ha egy ilyen módon konfigurált hálózaton van, legalábbis a beágyazott Linux rendszerekkel.

Bár a probléma megoldására kínáltak alternatívákat a GSSD szolgáltatás NFS-sel történő futtatására, ezek a megközelítések nem ugyanaz a hatás minden disztribúcióra és csomagverzióra, ezért a legracionálisabb ezt a problémát a gyökér.

Le kell tiltania (vagy feketelistára kell helyeznie) a rpcsec_gss_krb5 kernel modul betöltése a Linux rendszeren, ahol az NFS-kiszolgáló fut.

Ha azt szeretné, hogy ez a beállítás minden alkalommal érvénybe lépjen, amikor újraindítja a számítógépet, hozzon létre egy új fájlt hívott /etc/modprobe.d/nfs-gss-blacklist.conf és add hozzá a következő sorokat:

feketelista rpcsec_gss_krb5

A fájl mentése és a rendszer újraindítása után a beillesztési késleltetési probléma megszűnik.

Miért érdemes NFS szervert használni?

Az NFS beállítása egyszerű és megfizethető. Lehetővé teszi a központosított felügyeletet, ami csökkenti a további szoftverek és tárhely igényét az egyes felhasználók számítógépén. Egyetlen gépen több felhasználó is megoszthatja ugyanazt a lemezterületet. Ezeket a lemezeket a fájlrendszerük tetejére helyezhetik a tárterület növelése érdekében.

Az NFS-megosztás lehetővé teszi a nagy tárhelyet igénylő programok egyetlen kiszolgálón történő csoportosítását. Ez hatalmas lemezterület-megtakarítást eredményezhet. Míg a korábbi NFS-verziók sebezhetőek, az újabb verziók további védelmi szinteket vezettek be, beleértve a Kerberos hitelesítést.

Van azonban néhány hátránya is. Az NFS bizonyos esetekben lelassul a nagy hálózati forgalom során. A Windows rendszerrel való megosztás lehetséges, de szükség lehet néhány harmadik féltől származó alkalmazásra. De ez biztonsági szempontból nem túl ésszerű gyakorlat. Ha a konfiguráció nem megfelelő, illetéktelen hozzáférés léphet fel.

Könnyű fájlrendszer-megosztás Linuxon NFS használatával

A biztonsági problémák ismerete és megoldások keresése a rendszergazdák egyik legkritikusabb feladata. Ismerni kell az összes fájlmegosztó rendszer és kezelőeszköz biztonsági eljárásait, nem csak az NFS-t.