Android

Hogyan telepítsünk és konfiguráljunk egy nfs szervert az ubuntu 18.04-en

Ubuntu Szerver - Fájlmegosztás #1 (NFS)

Ubuntu Szerver - Fájlmegosztás #1 (NFS)

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 protokoll alapértelmezés szerint nincs titkosítva, é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óanyagban bemutatjuk, hogyan állíthatunk be egy NFSv4 szervert az Ubuntu 18.04-en. Megmutatjuk azt is, hogyan lehet NFS fájlrendszert telepíteni az ügyfélre.

Előfeltételek

Ez a példa feltételezi, hogy az egyik kiszolgálón az Ubuntu 18.04 fut, a másik pedig bármely más Linux disztribúción. 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.10 NFS Clients IPs: From the 192.168.33.0/24 range

Állítsa be az NFS szervert

Először az NFS-kiszolgáló telepítésével és konfigurálásával kezdjük.

Az NFS szerver telepítése

Frissítse a csomagok indexét és telepítse az NFS kiszolgáló csomagot:

sudo apt update sudo apt install nfs-kernel-server

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

Alapértelmezés szerint az Ubuntu 18.04 NFS 2. verziója le van tiltva. A 3. és a 4. verzió engedélyezve van. Ellenőrizheti, hogy futtatja-e a következő cat parancsot:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Az NFSv2 már nagyon régi, és nincs oka annak engedélyezésére.

Az NFS-kiszolgáló konfigurációs beállításai az /etc/default/nfs-kernel-server és az /etc/default/nfs-common fájlokban vannak /etc/default/nfs-common . Az alapértelmezett beállítások esetünkben elegendőek.

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.

Két könyvtárat ( /var/www és /opt/backups ) osztunk meg, különböző konfigurációs beállításokkal, hogy jobban megmagyarázzuk, hogyan konfigurálhatók az NFS-csatlakozók.

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

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

sudo mkdir -p /srv/nfs4/backups sudo mkdir -p /srv/nfs4/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 nyissa meg az /etc/fstab fájlt:

sudo nano /etc/fstab

és adjuk 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 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 Az /etc/exports fájl hozzászólásokat tartalmaz, amelyek leírják, hogyan kell exportálni egy könyvtárat.

Esetünkben ki kell exportálnunk a www és a backups könyvtárakat, és csak a 192.168.33.0/24 hálózat ügyfeleit szabad hozzáférést engednünk:

/ 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 sorban 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 az egész 192.168.33.0/24 tartományhoz teszi lehetővé az olvasási hozzáférést, valamint az 192.168.33.0/24 olvasási és írási hozzáférést is. 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. Ha többet szeretne tudni az elérhető lehetőségekről, írja be az man exports a terminálon.

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 is, 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 azokat kifejezetten be kell állítania.

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

Az Ubuntun a root_squash alapértelmezés szerint engedélyezve van. Ez 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 .

Annak érdekében, 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 az Ubuntu-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ó

Feltételezve, hogy UFW kezeli a tűzfalat, hogy lehetővé tegye a hozzáférést a 192.168.33.0/24 alhálózatból, a következő parancsot kell futtatnia:

sudo ufw allow from 192.168.33.0/24 to any port nfs

A változás futásának ellenőrzése:

sudo ufw status

A kimenetnek meg kell mutatnia, hogy a 2049 -es porton a forgalom megengedett:

To Action From -- ------ ---- 2049 ALLOW 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-kiszolgáló telepítve van, és a megosztások exportálásra kerülnek, a következő lépés a kliensek konfigurálása és a távoli fájlrendszerek telepítése.

Az NFS megosztást MacOS és Windows gépekre is fel lehet szerelni, de a Linux rendszerekre koncentrálunk.

Az NFS kliens telepítése

Az ügyfélgépeken csak azokat az eszközöket kell telepíteni, amelyek a távoli NFS fájlrendszerek beillesztéséhez szükségesek.

  • 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 az /srv/nfs4/backups fájlrendszerhez /srv/nfs4/backups .

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

Ahol a 192.168.33.10 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 hagynia 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:

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

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.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

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

Vizsgáljuk meg a megosztásokhoz való hozzáférést, hozzuk létre mindegyiknek 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

Feltételezve, hogy a kliens gépen www-data használ ugyanazzal a UID és GID mint a távoli kiszolgálón (erre akkor lenne szükség, ha például az nginx-et mindkét gépen telepítette), akkor megpróbálhatja létrehozni egy fájlt felhasználóként www-data :

sudo -u www-data 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 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

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 jó ötlet 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.

ubuntu nfs csatlakozó terminál