NFS, původně vyvinutý společností Sun Microsystems, je zkratka pro Network File System. Jedná se o distribuovaný protokol, který umožňuje uživateli na klientském počítači přistupovat ke sdíleným souborům ze vzdáleného serveru téměř stejným způsobem, jakým by přistupovali k souborům umístěným lokálně na svém počítači. Protokol NFS poskytuje pohodlný způsob sdílení souborů v rámci místní sítě (LAN). V této příručce vás provedeme instalací serveru NFS na Ubuntu 20.04 LTS (Focal Fossa). Poté si ukážeme, jak můžete přistupovat k souborům na serveru z klientského systému.
Nastavení laboratoře
NFS Server IP: 192.168.2.103 Ubuntu 20.04 Client System IP: 192.168.2.105 Ubuntu 20.04
Krok 1) Nainstalujte balíček serveru jádra NFS
Abychom mohli začít, nainstalujeme balíček jaderného serveru NFS na Ubuntu, který jej ve skutečnosti změní na server NFS. Nejprve však aktualizujme seznam balíčků, jak je uvedeno.
$ sudo apt update
Poté spusťte následující příkaz a nainstalujte balíček serveru jádra NFS.
$ sudo apt install nfs-kernel-server
Tím se nainstalují další balíčky, jako jsou keyutils, nfs-common, rpcbind a další závislosti potřebné k tomu, aby server NFS fungoval podle očekávání.
Můžete ověřit, zda služba nfs-server běží, jak je uvedeno
$ sudo systemctl status nfs-server
Krok 2) Vytvořte sdílený adresář NFS
Dalším krokem bude vytvoření sdíleného adresáře NFS. Toto je adresář, do kterého umístíme soubory ke sdílení v místní síti. Vytvoříme jej v adresáři /mnt/, jak je znázorněno níže. Zde se náš sdílený adresář NFS nazývá /my_shares. Svému adresáři můžete přiřadit libovolný název.
$ sudo mkdir /mnt/my_shares
Protože chceme, aby všechny soubory byly přístupné všem klientům, přiřadíme následující vlastnictví a oprávnění adresáře.
$ sudo chown nobody:nogroup /mnt/my_shares $ sudo chmod -R 777 /mnt/my_shares
Tato oprávnění jsou rekurzivní a budou platit pro všechny soubory a podadresáře, které vytvoříte.
Krok 3) Udělte serveru NFS přístup klientům
Po vytvoření sdíleného adresáře NFS a přiřazení požadovaných oprávnění a vlastnictví musíme povolit klientským systémům přístup k serveru NFS. Toho dosáhneme úpravou souboru /etc/exports, který byl vytvořen během instalace balíčku nfs-kernel-server.
Otevřete tedy soubor /etc/exports.
$ sudo vi /etc/exports
Chcete-li povolit přístup k jednomu klientovi, přidejte řádek níže a nahraďte parametr client-IP skutečnou IP klienta.
/mnt/my_shares client-IP(rw,sync,no_subtree_check)
Chcete-li do seznamu přidat další klienty, jednoduše zadejte více řádků, jak je znázorněno:
/mnt/my_shares client-IP-1(rw,sync,no_subtree_check) /mnt/my_shares client-IP-2(rw,sync,no_subtree_check) /mnt/my_shares client-IP-3(rw,sync,no_subtree_check)
Kromě toho můžete zadat celou podsíť, jak je znázorněno.
/mnt/my_shares 192.168.0.0/24 (rw,sync,no_subtree_check)
To umožňuje všem klientům v podsíti 192.168.0.0 přístup k serveru. V našem případě udělíme všem klientům přístup k serveru NFS, jak je znázorněno
/mnt/my_shares 192.168.2.0/24(rw,sync,no_subtree_check)
Pojďme si krátce projít oprávnění a co znamenají.
- rw (čtení a zápis)
- synchronizace (zapište změny na disk, než je použijete)
- no_subtree_check (Vyhněte se kontrole podstromu)
Krok 4 ) Export sdíleného adresáře
Chcete-li exportovat adresář a zpřístupnit jej, vyvolejte příkaz:
$ sudo exportfs -a
Krok 5) Nakonfigurujte pravidlo brány firewall pro server NFS
Pokud jste za UFW firewallem, musíte povolit NFS provoz přes firewall pomocí zobrazené syntaxe.
$ sudo ufw allow z [client-IP or client-Subnet-IP] do libovolného portu nfs
V našem případě bude příkaz vypadat následovně:
$ sudo ufw allow from 192.168.2.0/24 to any port nfs
Nyní jsme všichni v pořádku s konfigurací serveru NFS. Dalším krokem je konfigurace klienta a otestování, zda vaše konfigurace funguje. Pojďme tedy pokračovat a nakonfigurovat klienta.
Krok 5) Nakonfigurujte klientský systém
Nyní se přihlaste do klientského systému a aktualizujte index balíčku, jak je znázorněno.
$ sudo apt update
Dále nainstalujte balíček nfs-common podle obrázku.
$ sudo apt install nfs-common
Poté ve složce /mnt vytvořte adresář, do kterého připojíte sdílenou složku NFS ze serveru.
$ sudo mkdir -p /mnt/client_shared_folder
Nakonec připojte vzdálený sdílený adresář NFS do adresáře klienta následovně.
$ sudo mount 192.168.2.103:/mnt/my_shares /mnt/client_shared_folder
Krok 6) Testování nastavení NFS Share
Abychom otestovali, zda naše konfigurace funguje, vytvoříme testovací soubor v adresáři NFS, jak je znázorněno
$ cd /mnt/my_shares $ touch nfs_share.txt
Nyní se vraťme k našemu klientovi a podívejme se, zda vidíme soubor v našem připojeném adresáři
$ ls /mnt/client_shared_folder/
A voila! Zde je náš soubor, jak je znázorněno na úryvku níže. Toto je potvrzení, že naše nastavení bylo úspěšné.
To je pro dnešek vše. Doufáme, že tento průvodce byl pro vás přínosem a že můžete pohodlně sdílet soubory pomocí NFS ve vaší síti.