Android

Jak nainstalovat a nakonfigurovat server nfs na centos 8

Stream Media Files to PS4 with Media Server | Synology

Stream Media Files to PS4 with Media Server | Synology

Obsah:

Anonim

Network File System (NFS) je distribuovaný protokol systému souborů, který umožňuje sdílet vzdálené adresáře v síti. S NFS můžete připojit vzdálené adresáře do systému a pracovat se soubory na vzdáleném počítači, jako by to byly místní soubory.

Protokol NFS není ve výchozím nastavení šifrován a na rozdíl od Samby neposkytuje ověření uživatele. Přístup na server je omezen IP adresami nebo názvy hostitelů.

V tomto tutoriálu projdete kroky nezbytné k nastavení serveru NFSv4 na CentOS 8. Ukážeme vám také, jak připojit klientský souborový systém NFS.

Předpoklady

Předpokládáme, že máte server se systémem CentOS 8, na kterém nastavíme server NFS a další počítače, které budou fungovat jako klienti NFS. Server a klienti by měli být schopni komunikovat mezi sebou prostřednictvím soukromé sítě. Pokud váš poskytovatel hostingu nenabízí soukromé adresy IP, můžete použít veřejné adresy IP a nakonfigurovat bránu firewall serveru tak, aby umožňovala provoz na portu 2049 pouze z důvěryhodných zdrojů.

Stroje v tomto příkladu mají následující adresy IP:

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

Nastavte server NFS

Tato část vysvětluje, jak nainstalovat potřebné balíčky, vytvořit a exportovat adresáře NFS a nakonfigurovat bránu firewall.

Instalace serveru NFS

Balíček „nfs-utils“ poskytuje obslužné programy a démony NFS pro server NFS. Chcete-li jej nainstalovat, spusťte následující příkaz:

sudo dnf install nfs-utils

Po dokončení instalace povolte a spusťte službu NFS zadáním:

sudo systemctl enable --now nfs-server

Ve výchozím nastavení jsou na CentOS 8 NFS verze 3 a 4.x povoleny, verze 2 je zakázána. NFSv2 je nyní docela starý a není důvod jej aktivovat. Chcete-li jej ověřit, spusťte následující příkaz cat :

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Možnosti konfigurace serveru NFS jsou nastaveny v /etc/nfsmount.conf a /etc/nfs.conf . Výchozí nastavení je dostatečné pro náš tutoriál.

Vytváření systémů souborů

Při konfiguraci serveru NFSv4 je dobré používat globální kořenový adresář NFS a svázat skutečné adresáře s připojovacím bodem sdílené položky. V tomto příkladu /srv/nfs4 jako kořen NFS kořenový adresář /srv/nfs4 .

Abychom lépe vysvětlili, jak lze konfigurovat připojení NFS, budeme sdílet dva adresáře ( /var/www a /opt/backups ) s různým nastavením konfigurace.

/var/www/ je ve vlastnictví uživatele a skupiny apache a /opt/backups vlastnictví root .

Vytvořte souborový systém exportu pomocí příkazu mkdir :

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

Připojte skutečné adresáře:

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

Chcete-li, aby vazby byly trvalé, přidejte do souboru /etc/fstab následující položky:

sudo nano /etc/fstab / etc / fstab

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

Export souborových systémů

Dalším krokem je definování souborových systémů, které budou exportovány serverem NFS, možností sdílení a klientů, kteří mají povolený přístup k těmto souborovým systémům. Otevřete soubor /etc/exports :

sudo nano /etc/exports

Exportujte adresáře www a backups a povolte přístup pouze klientům v síti 192.168.33.0/24 :

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

První řádek obsahuje fsid=0 který definuje kořenový adresář NFS /srv/nfs . Přístup k tomuto svazku NFS je povolen pouze klientům ze podsítě 192.168.33.0/24 . Možnost crossmnt je vyžadována pro sdílení adresářů, které jsou podadresáři exportovaného adresáře.

Druhý řádek ukazuje, jak určit více exportních pravidel pro jeden souborový systém. /srv/nfs4/backups adresář /srv/nfs4/backups a umožňuje pouze přístup ke čtení do celého rozsahu 192.168.33.0/24 a přístup ke čtení i zápisu do 192.168.33.3 . Možnost sync řekne NFS, aby zapisoval změny na disk před odpovědí.

Poslední řádek by měl být samovysvětlující. Chcete-li získat další informace o všech dostupných možnostech, zadejte do svého terminálu man exports .

Uložte soubor a exportujte sdílené položky:

sudo exportfs -ra

Pokaždé, když upravíte soubor /etc/exports musíte spustit příkaz výše. Pokud se vyskytnou nějaké chyby nebo varování, zobrazí se na terminálu.

Chcete-li zobrazit aktuální aktivní vývoz a jejich stav, použijte:

sudo exportfs -v

Výstup bude zahrnovat všechny sdílené položky s jejich možnostmi. Jak vidíte, existují také možnosti, které jsme v souboru /etc/exports nedefinovali. Toto jsou výchozí možnosti a pokud je chcete změnit, budete je muset explicitně nastavit.

/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 je jednou z nejdůležitějších možností zabezpečení NFS. Zabraňuje uživatelům root připojeným z klientů mít oprávnění root pro připojené sdílené položky. Bude mapovat kořenové UID a GID na UID / GID na nobody / nogroup .

Aby uživatelé na klientských počítačích měli přístup, NFS očekává, že se ID uživatele a skupiny klienta shodují s těmi na serveru. Další možností je použití funkce mapování NFSv4, která převádí ID uživatelů a skupin na jména a naopak.

A je to. V tomto okamžiku jste na serveru CentOS nastavili server NFS. Nyní můžete přejít na další krok a nakonfigurovat klienty a připojit se k serveru NFS.

Konfigurace firewallu

FirewallD je výchozí řešení brány firewall na Centos 8.

Služba NFS obsahuje předdefinovaná pravidla pro povolení přístupu k serveru NFS.

Následující příkazy trvale povolí přístup z podsítě 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

Nastavení klientů NFS

Nyní, když je server NFS nastaven a sdílené položky jsou exportovány, v dalším kroku nakonfigurujte klienty a připojte vzdálené souborové systémy.

Můžete také připojit sdílenou složku NFS na počítačích MacOS a Windows, ale my se zaměříme na systémy Linux.

Instalace klienta NFS

Na klientských počítačích nainstalujte nástroje potřebné k připojení vzdálených systémů souborů NFS.

  • Nainstalujte klienta NFS na Debian a Ubuntu

    Název balíčku, který obsahuje programy pro připojení systémů souborů NFS v distribucích založených na Debianu, je nfs-common . Chcete-li jej nainstalovat, spusťte:

    sudo apt update sudo apt install nfs-common

    Nainstalujte klienta NFS na CentOS a Fedora

    Na Red Hat a jeho deriváty nainstalujte balíček nfs-utils :

    sudo yum install nfs-utils

Montáž souborových systémů

Budeme pracovat na klientském počítači s IP 192.168.33.110 , který má přístup pro čtení a zápis do systému souborů /srv/nfs4/www a přístup pouze pro čtení do systému souborů /srv/nfs4/backups .

Vytvořte dva nové adresáře pro připojovací body. Tyto adresáře můžete vytvořit na libovolném místě.

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

Připojte exportované souborové systémy příkazem mount :

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

Kde 192.168.33.148 je IP serveru NFS. Místo adresy IP můžete také použít název hostitele, ale musí být vyřešen klientským počítačem. To se obvykle provádí mapováním názvu hostitele na IP v souboru /etc/hosts .

Při připojování souborového systému NFSv4 je třeba vynechat kořenový adresář NFS, takže místo /srv/nfs4/backups musíte použít /backups .

Ověřte, zda jsou vzdálené systémy souborů úspěšně připojeny pomocí příkazu mount nebo df :

df -h

Příkaz vytiskne všechny připojené souborové systémy. Poslední dvě řádky jsou připojené sdílené položky:

… 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

Chcete-li, aby byly přípojky trvalé po restartu, otevřete soubor /etc/fstab :

sudo nano /etc/fstab

a přidejte následující řádky:

/ 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

Chcete-li najít další informace o dostupných možnostech při připojování systému souborů NFS, zadejte do terminálu man nfs .

Další možností připojení vzdálených souborových systémů je použití nástroje autofs nebo vytvoření jednotky systemd.

Testování přístupu NFS

Vyzkoušejte přístup ke sdíleným položkám vytvořením nového souboru v každém z nich.

Nejprve zkuste vytvořit zkušební soubor do adresáře /backups pomocí příkazu touch :

sudo touch /backups/test.txt

Systém souborů /backup je exportován jako pouze ke čtení a podle očekávání se zobrazí chybová zpráva o Permission denied :

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

Dále zkuste vytvořit testovací soubor do adresáře /srv/www jako root pomocí příkazu sudo :

sudo touch /srv/www/test.txt

Znovu se zobrazí zpráva Permission denied .

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

Adresář /var/www je ve vlastnictví uživatele apache a tato sdílená root_squash má nastavenou možnost root_squash , která mapuje uživatele root na nobody uživatele a skupinu nogroup která nemá oprávnění ke zápisu do vzdálené sdílené složky.

Za předpokladu, že uživatelská apache existuje na klientském počítači se stejným UID a GID jako na vzdáleném serveru (což by měl být případ, pokud jste například nainstalovali apache na obou počítačích), můžete vyzkoušet vytvoření souboru jako uživatelská apache s:

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

Příkaz nezobrazí žádný výstup, což znamená, že soubor byl úspěšně vytvořen.

Chcete-li jej ověřit, /srv/www soubory v adresáři /srv/www :

ls -la /srv/www

Výstup by měl zobrazovat nově vytvořený soubor:

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

Odpojení systému souborů NFS

sudo umount /backups

Pokud je přípojný bod definován v souboru /etc/fstab , ujistěte se, že jste řádek odstranili nebo jej přidali na začátek řádku #.

Závěr

V tomto tutoriálu jsme vám ukázali, jak nastavit server NFS a jak připojit vzdálené systémy souborů na klientských počítačích. Pokud implementujete NFS do výroby a sdílení citlivých dat, je vhodné povolit autentizaci pomocí kerberos.

Jako alternativu k NFS můžete použít SSHFS k připojení vzdálených adresářů přes připojení SSH. SSHFS je ve výchozím nastavení šifrován a mnohem snadněji konfigurovatelný a použitelný.

Pokud máte nějaké dotazy, neváhejte a zanechte komentář.

terminál centos nfs