GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat klienta a server NFS na Ubuntu 20.04

Network File System nebo zkratka NFS je protokol distribuovaného systému souborů, který vám umožňuje připojit vzdálené adresáře na váš server. NFS umožňuje přístup k souborům a složkám z jiného serveru nebo klienta. Na tento server můžete zapisovat z více klientů nebo vzdálených systémů přes síť. Tato technologie vám poskytuje flexibilitu sdílení prostředků na více systémech.

V tomto tutoriálu se naučíme, jak nastavit server NFS a jak připojit sdílené složky NFS na klienta pomocí Ubuntu 20.04.

Předpoklady

  • Dva systémy Ubuntu 20.04. Každý server by měl mít uživatele bez oprávnění root s právy sudo a nastaveným firewallem UFW.
  • Server i klienta můžete nastavit prostřednictvím privátní sítě. V našem tutoriálu použiji host_ip k označení host_ip adresu a ip_klienta odkazovat na IP adresu Klienta.

Krok 1 – Instalace NFS na server a klienta

Hostitel

Potřebujeme nainstalovat nfs-kernel-server balíček na hostiteli, abyste mohli sdílet své adresáře.

$ sudo apt update
$ sudo apt install nfs-kernel-server

Klient

Pro klienta nainstalujeme nfs-common balíček, který klientovi umožňuje připojit hostitelský adresář, ale nemůže hostovat samotný adresář.

$ sudo apt update
$ sudo apt install nfs-common

Krok 2 – Vytvoření sdílených adresářů na hostiteli

Existují dva způsoby, jak můžete klientovi udělit přístup k adresářům na hostiteli. Ve výchozím nastavení server NFS neumožňuje operace, které vyžadují oprávnění sudo. To znamená, že superuživatelé na klientovi nemohou zapisovat soubory jako root, měnit přiřazení vlastnictví nebo provádět úkoly, které vyžadují zvýšená oprávnění.

Někdy však klient potřebuje provést určité operace na hostiteli, které vyžadují zvýšená oprávnění, ale nepotřebuje k tomu přístup superuživatele.

První metoda

Toto je výchozí způsob sdílení adresářů. Pro uživatele root na klientovi je obtížné komunikovat s hostitelem pomocí zvýšených oprávnění.

Nejprve vytvořte sdílený adresář.

$ sudo mkdir /var/nfs/general -p

Pokud na klientovi provedete nějaké operace root, pak je NFS přeloží do nobody:nogroup přihlašovací údaje na hostitelském počítači. Proto musíme sdílenému adresáři přidělit příslušné vlastnictví.

$ sudo chown nobody:nogroup /var/nfs/general

Druhá metoda

Zde sdílíme hostitelský domovský adresář s klientem. To umožní uživatelům root na klientovi správný přístup k hostiteli.

Protože domovský adresář již na hostitelském serveru existuje, nemusíme jej vytvářet. Není potřeba měnit ani oprávnění, protože to způsobí mnoho problémů pro uživatele na hostitelském počítači.

Krok 3 – Konfigurace NFS na hostiteli

Je čas nakonfigurovat NFS pro nastavení sdílení.

Otevřete soubor /etc/exports na hostitelském serveru.

$ sudo nano /etc/exports

Přidejte následující řádky na konec, každý jeden, pro každý adresář, který sdílíte.

/var/nfs/general    client_ip(rw,sync,no_subtree_check)
/home               client_ip(rw,sync,no_root_squash,no_subtree_check)

Pojďme si projít všechny tyto možnosti a co znamenají.

  • rw :Toto poskytuje klientovi přístup pro čtení a zápis do hostitelských adresářů.
  • synchronizovat :Tato možnost nutí NFS, aby zapsal změny před odpovědí. To znamená, že NFS nejprve dokončí zápis do hostitelského adresáře a poté odpoví klientovi. To zajišťuje, že se odráží skutečný stav hostitelského serveru, ale může zpomalit rychlost operací se soubory.
  • no_subtree_check :Tato možnost zakáže kontrolu podstromu. Kontrola podstromu je operace, kdy s každým požadavkem NFS musí server zkontrolovat, zda je přítomen zpřístupňovaný soubor a zda je v exportovaném stromu. Tato operace způsobuje problémy při přejmenování souborů, ke kterým klient přistupuje. Proto je ve většině případů nejlepší ponechat jej vypnutý. Má určité mírné bezpečnostní důsledky, ale může zlepšit spolehlivost.
  • no_root_squash :Ve výchozím nastavení NFS převádí všechny operace provedené klientem jako root na neprivilegovaného uživatele na serveru. Děje se tak se záměrem zlepšit bezpečnost. Tato možnost zakáže toto chování pro určité sdílené položky.

Až budete hotovi, zavřete soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Chcete-li použít změny, restartujte server NFS.

$ sudo systemctl restart nfs-kernel-server

Krok 4 – Konfigurace brány firewall hostitele

Osvědčeným postupem s NFS je povolit jej specificky pro IP adresu každého klienta zvlášť, místo aby k ní byl povolen přístup odkudkoli.

NFS používá port 2049. Povolte přístup pro NFS následujícím příkazem.

$ sudo ufw allow from client_ip to any port nfs

Zkontrolujte stav pro ověření.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                 
2049                       ALLOW       167.100.34.78        
OpenSSH (v6)               ALLOW       Anywhere (v6)

Krok 5 – Vytvoření přípojných bodů na klientovi

Nyní, když je náš hostitel nakonfigurován, je čas nastavit klienta.

Vytvořte dva adresáře pro připojení na klientovi.

$ sudo mkdir -p /nfs/general
$ sudo mkdir -p /nfs/home

Nyní, když jsme vše nastavili na konec hostitele, můžeme sdílené složky připojit pomocí adresy IP hostitele.

$ sudo mount host_ip:/var/nfs/general /nfs/general
$ sudo mount host_ip:/home /nfs/home

Můžete zkontrolovat, zda byly úspěšně připojeny pomocí následujícího příkazu.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000
123.175.112.87:/var/nfs/general  25G   18G  6.3G  74% /nfs/general
123.175.112.87:/home             25G   18G  6.3G  74% /nfs/home

Obě připojené sdílené položky můžete vidět ve spodní části seznamu. Protože byly oba připojeny ze stejného souborového systému, zobrazují plné využití disku a nikoli skutečné využití připojených adresářů.

Chcete-li zjistit, kolik skutečného prostoru se využívá pod každým připojením, použijte následující příkaz.

$ du -sh /nfs/general
36K     /nfs/general

Krok 6 – Test sdílení NFS

Vytvořte testovací soubor do /var/nfs/general sdílet.

$ sudo touch /nfs/general/general.test

Zkontrolujte jeho vlastnictví.

$ ls -l /nfs/general/general.test
-rw-r--r-- 1 nobody nogroup 0 Aug  1 13:31 /nfs/general/general.test

Toto bylo připojeno pomocí výchozích možností NFS a protože jsme soubor vytvořili pomocí root z klientského počítače, vlastnictví na hostiteli bylo převedeno na nobody:nogroup . Zde klientský uživatel nemůže provádět administrativní úlohy na počítači hostitele.

Vytvořte testovací soubor pro sdílenou složku /nfs/home.

$ sudo touch /nfs/home/home.test

Zkontrolujte jeho vlastnictví.

$ ls -l /nfs/home/home.test
-rw-r--r-- 1 root root 0 Aug  1 13:32 /nfs/home/home.test

Protože jsme vytvořili testovací soubor pomocí root z klientského počítače, bylo vlastnictví zachováno na hostitelském počítači. Bylo to proto, že jsme použili no_root_squash příznak, který umožnil uživateli root na klientském počítači jako uživatele root také na hostitelském počítači.

Krok 7 – Připojení sdílených složek NFS během spouštění

Po zavedení klientského počítače nebudou tato připojení zachována. Aby byly trvalé, musíme upravit /etc/fstab soubor.

Otevřete /etc/fstab soubor pro úpravy.

$ sudo nano /etc/fstab

Vložte následující řádky do spodní části souboru. Každý řádek odpovídá každému adresáři, který chceme připojit při spouštění.

. . .
host_ip:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
host_ip:/home               /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Chcete-li se dozvědět o těchto možnostech, podívejte se na manuálovou stránku nfs .

$ man nfs

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Restartujte server a zkontrolujte připojení.

$ sudo reboot

Přihlaste se na klient-server a ověřte, že jsou přítomna připojení.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000
123.175.112.87:/var/nfs/general  25G   18G  6.3G  74% /nfs/general
123.175.112.87:/home             25G   18G  6.3G  74% /nfs/home

Krok 8 – Odpojení sdílených složek NFS

Jakmile nepotřebujete připojení NFS, můžete je odpojit pomocí následujícího příkazu.

$ sudo umount /nfs/home
$ sudo umount /nfs/general

Častou chybou je použití unmount místo umount což je skutečný příkaz.

Ověřte, že byly správně odpojeny.

$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            448M     0  448M   0% /dev
tmpfs                            99M  664K   98M   1% /run
/dev/vda1                        25G  3.2G   21G  14% /
tmpfs                           491M     0  491M   0% /dev/shm
tmpfs                           5.0M     0  5.0M   0% /run/lock
tmpfs                           491M     0  491M   0% /sys/fs/cgroup
tmpfs                            99M     0   99M   0% /run/user/1000

Budete také muset smazat jejich záznamy z /etc/fstab aby se při bootování znovu nepřipojily. Můžete také jednoduše odkomentovat jejich příspěvky umístěním # znak vpředu pro případ, že byste potřebovali znovu použít úchyty.

Závěr

Tímto končí náš tutoriál, kde jsme se naučili, jak vytvořit připojení NFS na hostitelském počítači a jak k nim přistupovat z různých klientských počítačů. Pokud máte nějaké dotazy, napište je do komentářů níže.


Ubuntu
  1. Jak nainstalovat NTP server a klienta na Ubuntu 18.04 LTS

  2. Nainstalujte UrBackup Server a klienta na Ubuntu 20.04 - Jak na to?

  3. Jak nastavit server a klienta NFS na Ubuntu 20.04

  1. Jak nainstalovat Chef Server, Workstation a Chef Client na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  3. Nainstalujte vnc server a klienta na Ubuntu

  1. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04