GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nakonfigurovat server NFS na CentOS 8

Network File System (NFS) je protokol distribuovaného systému souborů, který umožňuje sdílet vzdálené adresáře v síti. Pomocí NFS můžete připojit vzdálené adresáře na váš systém 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 k serveru je omezen IP adresami nebo názvy hostitelů klientů.

V tomto tutoriálu projdete kroky nutné k nastavení serveru NFSv4 na CentOS 8. Ukážeme vám také, jak připojit systém souborů NFS na klienta.

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 spolu komunikovat přes privátní síť. Pokud váš poskytovatel hostingu nenabízí soukromé IP adresy, můžete použít veřejné IP adresy a nakonfigurovat bránu firewall serveru tak, aby umožňovala provoz na portu 2049 pouze z důvěryhodných zdrojů.

Počítače v tomto příkladu mají následující IP adresy:

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

Nastavení serveru NFS #

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

Instalace serveru NFS #

Balíček „nfs-utils“ poskytuje nástroje 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 povolovat. Pro ověření spusťte následující cat příkaz:

sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

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

Vytvoření systémů souborů #

Při konfiguraci serveru NFSv4 je dobrou praxí použít globální kořenový adresář NFS a svázat připojení skutečných adresářů ke sdílenému přípojnému bodu. V tomto příkladu použijeme /srv/nfs4 adresář jako kořenový adresář NFS.

Abychom lépe vysvětlili, jak lze nakonfigurovat 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 je ve vlastnictví root .

Vytvořte exportní souborový systém pomocí mkdir příkaz:

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

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

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

Chcete-li, aby připojení vazby byla trvalá, přidejte následující položky do /etc/fstab soubor:

sudo nano /etc/fstab
/etc/fstab
/opt/backups /srv/nfs4/backups  none   bind   0   0
/var/www     /srv/nfs4/www      none   bind   0   0

Exportování systémů souborů #

Dalším krokem je definovat systémy souborů, které budou exportovány serverem NFS, možnosti sdílení a klienty, kteří mají k těmto systémům souborů povolen přístup. Chcete-li tak učinit, otevřete /etc/exports soubor:

sudo nano /etc/exports

Exportujte www a backups adresářů a umožňují přístup pouze klientům na 192.168.33.0/24 síť:

/etc/exports
/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/nfs4 . Přístup k tomuto svazku NFS je povolen pouze klientům z 192.168.33.0/24 podsíť. crossmnt volba je vyžadována pro sdílení adresářů, které jsou podadresáři exportovaného adresáře.

Druhý řádek ukazuje, jak zadat více pravidel exportu pro jeden souborový systém. Exportuje /srv/nfs4/backups adresář a umožňuje pouze přístup pro čtení k celému 192.168.33.0/24 rozsah a přístup pro čtení i zápis na 192.168.33.3 . sync volba říká NFS, aby zapsal změny na disk, než odpoví.

Poslední řádek by měl být samozřejmý. Další informace o všech dostupných možnostech získáte zadáním man exports ve vašem terminálu.

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

sudo exportfs -ra

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

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

sudo exportfs -v

Výstup bude zahrnovat všechny akcie s jejich opcemi. Jak vidíte, existují také možnosti, které jsme nedefinovali v /etc/exports soubor. Toto jsou výchozí možnosti, a pokud je chcete změnit, budete muset tyto možnosti 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ů, aby měli oprávnění root na připojených sdílených položkách. Mapuje kořenový UID a GID nobody /nogroup UID /GID .

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

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

Konfigurace brány firewall #

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 umožní přístup z 192.168.33.0/24 podsíť:

sudo firewall-cmd --new-zone=nfs --permanentsudo firewall-cmd --zone=nfs --add-service=nfs --permanentsudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanentsudo firewall-cmd --reload

Nastavení klientů NFS #

Nyní, když je NFS server nastaven a sdílené složky jsou exportovány, je dalším krokem konfigurace klientů a připojení vzdálených souborových systémů.

Sdílený NFS můžete připojit také na počítačích MacOS a Windows, ale my se zaměříme na systémy Linux.

Instalace klienta NFS #

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

  • Nainstalujte klienta NFS na Debian a Ubuntu

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

    sudo apt updatesudo apt install nfs-common
  • Nainstalujte klienta NFS na CentOS a Fedoru

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

    sudo yum install nfs-utils

Připojení 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 /srv/nfs4/www souborový systém a přístup pouze pro čtení k /srv/nfs4/backups souborový systém.

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

sudo mkdir -p /backupssudo mkdir -p /srv/www

Připojte exportované systémy souborů pomocí mount příkaz:

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backupssudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

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

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

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

df -h

Příkaz vytiskne všechny připojené systémy souborů. Poslední dva řá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 připojení byla při restartu trvalá, otevřete /etc/fstab soubor:

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 zjistit další informace o dostupných možnostech při připojování systému souborů NFS, zadejte man nfs ve vašem terminálu.

Další možností, jak připojit vzdálené systémy souborů, je použít buď autofs nástroj nebo vytvořit systémovou jednotku.

Testování přístupu NFS #

Pojďme otestovat přístup ke sdíleným složkám vytvořením nového souboru v každé z nich.

Nejprve zkuste vytvořit testovací soubor do /backups adresář pomocí touch příkaz:

sudo touch /backups/test.txt

/backup souborový systém je exportován pouze pro čtení a podle očekávání se zobrazí Permission denied chybová zpráva:

touch: cannot touch ‘/backups/test’: Permission denied

Dále zkuste vytvořit testovací soubor do /srv/www adresář jako kořenový adresář pomocí sudo příkaz:

sudo touch /srv/www/test.txt

Opět uvidíte Permission denied zprávu.

touch: cannot touch ‘/srv/www’: Permission denied

/var/www adresář je vlastněn apache uživatel a tato sdílená položka má root_squash sada možností, která mapuje uživatele root na nobody uživatel a nogroup skupina, která nemá oprávnění k zápisu do vzdálené sdílené složky.

Za předpokladu, že uživatel 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 oba počítače), můžete otestovat vytvoření souboru jako uživatel apache s:

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

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

Pro ověření uveďte soubory v /srv/www adresář:

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 #

Pokud již nepotřebujete vzdálenou sdílenou složku NFS, můžete ji odpojit jako jakýkoli jiný připojený souborový systém pomocí příkazu umount. Chcete-li například odpojit /backup sdílení, které byste spustili:

sudo umount /backups

Pokud je bod připojení definován v /etc/fstab soubor, ujistěte se, že jste odstranili řádek nebo jej okomentovali přidáním # na začátku řádku.


Cent OS
  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Gitlab na CentOS 8

  3. Jak nainstalovat a nakonfigurovat Postgres 13 na Centos 8

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat VNC na CentOS 7

  1. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  2. Jak nainstalovat a nakonfigurovat VNC na CentOS 8

  3. Jak nainstalovat a nakonfigurovat FreeIPA na CentOS 7 Server