GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a nakonfigurovat server Linux Ubuntu NFS

Hledáte aplikaci, která vám umožní sdílet soubory a adresáře po síti? Pro více klientů? Pravděpodobně potřebujete NFS (Network File System)! Server Ubuntu NFS vám umožňuje vytvářet sdílené adresáře pro různé klienty s dalším řízením přístupu.

Nejste čtenář? Podívejte se na tento související video tutoriál! Nevidíte video? Ujistěte se, že máte vypnutý blokovač reklam.

V tomto tutoriálu se naučíte, jak nastavit server NFS a bezpečně sdílet soubory mezi více počítači.

Připraveni? Čtěte dál a začněte s bezpečným sdílením souborů!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Chcete-li pokračovat, ujistěte se, že máte následující požadavky:

  • Server Linux a klient ve stejné síti – Tato ukázka používá server Ubuntu 20.04 s názvem hostitele nfs-server a klienta Ubuntu 20.04 s názvem hostitele client . Můžete však použít jinou distribuci Linuxu, jako je Debian, CentOS nebo Fedora.
  • Uživatel bez oprávnění root s právy sudo.

Instalace serveru Ubuntu NFS

NFS umožňuje bezpečný přístup k souborům na vzdálených systémech uživatelům, jako by to byly pouze lokálně uložené soubory. Před sdílením souborů a adresářů však nejprve nainstalujete server Ubuntu NFS. Na Ubuntu si nainstalujete nfs-kernel-server balíček na nfs-server stroj.

Některé příkazy ve výukovém programu nemají výstupy. Ale výsledek nashromážděných kroků, které jste podnikli, se zobrazí v posledním kroku každé sekce.

1. Přihlaste se k serveru Linux a spusťte sudo su příkaz níže, abyste získali oprávnění root.

sudo su

2. Spusťte níže uvedené příkazy na update index balíčku pro vaše úložiště a nainstalujte serverový balíček Ubuntu NFS (nfs-kernel-server ).

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

3. Nakonec spusťte systemctl níže uvedené příkazy ke spuštění a povolení služby NFS nfs-kernel-server a poté ověřte nfs-kernel-server stav služby je aktivní.

# start and enable NFS service
sudo systemctl enable --now nfs-kernel-server.service

# verify status NFS service
sudo systemctl status nfs-kernel-server.service

Jak vidíte níže, aktivní (ukončeno) stav označuje, že je spuštěna služba NFS. Ukončeno zpráva vám říká, že správce systemd nemůže najít žádného démona, který by mohl monitorovat.

Nastavení sdíleného adresáře NFS

Po instalaci balíčku serveru NFS nyní nastavíte sdílený adresář NFS vytvořením nových adresářů. Tyto adresáře budete sdílet s klienty a přidáte nové konfigurace do /etc/exports soubor.

1. Spuštěním níže uvedeného příkazu vytvořte nový sdílený adresář NFS. V tomto příkladu budete sdílet /srv/data adresář a /srv/test klientům.

sudo mkdir -p /srv/{data,test}

2. Dále spusťte chown příkaz níže ke změně vlastnictví sdíleného adresáře NFS /srv/data/srv/test uživateli nobody a skupina nogroup . Tento příkaz zajišťuje, že do sdíleného adresáře NFS mohou klienti zapisovat. sudo chown -R nobody:nogroup /srv/{data,test}

Tento příkaz zajišťuje, že do sdíleného adresáře NFS mohou klienti zapisovat.

sudo chown -R nobody:nogroup /srv/{data,test}

3. Upravte konfiguraci NFS /etc/exports pomocí preferovaného editoru a naplňte soubor s následující konfigurací.

Níže uvedená konfigurace umožňuje klientským počítačům přístup ke sdílenému adresáři NFS se zadaným uživatelským přístupem pro čtení i zápis (rw ) nebo jen pro čtení (ro ). Nezapomeňte změnit adresy IP (172.16.1.25 a 172.16.1.0/24 ) s IP adresami klientských počítačů.

# sync - forces NFS to write change from the shared directory to disk immediately.
# no_subtree_check - disabling the subtree checking to get more performance.

# rw - set read/write access to NFS shared directory for clients.
# share /srv/data to client 172.16.1.25 with read and write access.
/srv/data 172.16.1.25(rw,sync,no_subtree_check,root_squash)

# r0 - set read-only access to NFS shared directory for clients.
# share /srv/test to network 172.16.1.0/24 with read only access.
/srv/test 172.16.1.0/24(ro,sync,no_subtree_check)

4. Spuštěním níže uvedeného příkazu použijte sdílený adresář a ověřte /etc/exports konfigurační soubor. Pokud neobdržíte žádné výstupní zprávy, konfigurace NFS je správná.

sudo exportfs -a

5. Nyní spusťte systemctl příkazem níže restartujte nfs-kernel-server servis.

sudo systemctl restart nfs-kernel-server

6. Nakonec spusťte showmount příkaz níže k zobrazení seznamu sdílených adresářů na serveru Ubuntu NFS. Ujistěte se, že jste změnili IP adresu (172.16.1.20 ) s IP adresou serveru NFS.

showmount --exports 172.16.1.20

Nyní byste měli vidět seznam sdílených adresářů na serveru NFS s IP adresou, která vám umožnila přístup k serveru Ubuntu NFS.

Zabezpečení sdíleného adresáře NFS pomocí brány UFW Firewall

Nakonfigurovali jste sdílený adresář NFS, ale obvykle byste chtěli zabránit náhodným uživatelům v přístupu ke sdílenému adresáři.

Ujistěte se, že ke sdílenému adresáři má přístup pouze povolená IP adresa. Jak? Nastavením brány firewall UFW a zadáním adresy IP k portu NFS.

1. Spuštěním následujících příkazů otevřete port NFS (2049 ) a povolit klientům na IP adresách 172.16.1.25172.16.1.0/24 přístup k serveru Ubuntu NFS. Nezapomeňte nahradit IP adresu IP adresou vašeho klienta.

# allow client IP 172.16.1.25 to access NFS server
sudo ufw allow from 172.16.1.25 to any port nfs

# allow network 172.16.1.0/24 to access NFS server
sudo ufw allow from 172.16.1.0/24 to any port nfs

2. Dále spusťte ufw příkazem níže znovu načtěte UFW firewall a použijte novou konfiguraci.

sudo ufw reload

3. Nakonec spusťte ufw příkaz níže pro ověření stavu brány firewall UFW.

sudo ufw status

Níže vidíte, že port serveru NFS 2049 je přidán do brány firewall a je přístupný pouze z klientské IP adresy 172.16.1.25 a sítě 172.16.1.0/24.

Připojení sdíleného adresáře NFS na klientský počítač

V tomto okamžiku jste plně nakonfigurovali server Ubuntu NFS. Ale jak mohou klientské počítače přistupovat ke sdílenému adresáři NFS? Spuštění mount příkaz pro přístup ke sdílenému adresáři NFS udělá svůj trik. Nejprve však nainstalujete nfs-common (pro distribuci Debian Linux) nebo nfs-utils (pro RHEL, distribuci CentOS) do klientského počítače.

1. Přihlaste se ke svému klientskému počítači, otevřete terminál a spusťte sudo su příkaz k získání práv roota.

sudo su

2. Dále spusťte některý z níže uvedených příkazů a nainstalujte balíčky NFS na klientský počítač v závislosti na vašem operačním systému.

# for Ubuntu/Debian based distribution
sudo apt install nfs-common -y

# for RHEL/CentOS/Fedora Linux distribution
sudo dnf install nfs-utils -y

3. Spuštěním níže uvedeného příkazu vytvořte cílový adresář pro připojení. Sdílený adresář NFS bude připojen na klientský počítač /data/test adresáře v tomto příkladu.

mkdir -p /{data,test}

4. Spusťte každý mount níže uvedené příkazy pro přístup ke sdílenému adresáři NFS.

-t nfs možnost určuje typ systému souborů je server NFS. Tento příkaz připojí /srv/data sdílený adresář na serveru Ubuntu NFS do adresáře místního klienta (/data ). A /srv/test sdíleného adresáře do místního adresáře pro kliknutí /test .

# mount shared directory `/srv/data on the nfs server 172.16.1.20
# to the local client directory /data
sudo mount -t nfs 172.16.1.20:/srv/data /data

# mount shared directory `/srv/test on the nfs server 172.16.1.20
# to the local client directory /test
sudo mount -t nfs 172.16.1.20:/srv/test /test

5. Spusťte df příkaz níže k ověření seznamu připojených souborových systémů na klientském počítači.

sudo df -h

Ve výstupu níže uvidíte, že sdílený adresář NFS /srv/data je připojen k adresáři /data na klientském počítači. Současně je sdílený adresář (/srv/test) připojen k místnímu adresáři (/test) na klientském počítači.

6. Dále spusťte níže uvedené příkazy a přejděte do cílového adresáře pro připojení (/data ) a vytvořte soubor s názvem file.txt .

Od sdíleného adresáře (/srv/data ) má oprávnění ke čtení a zápisu, můžete vytvořit nový soubor.

# navigate to /data directory
cd /data

# create a new file with "This file from client machine!" as content
echo "This file from client machine!" > file.txt

7. Spusťte lscat pomocí níže uvedených příkazů ověřte, zda je soubor dostupný v adresáři připojení /data .

# list files on the current directory
ls -lah

# showing the content of the file.txt
cat file.txt

8. Nakonec spusťte každý níže uvedený příkaz a přejděte do adresáře pro připojení (/test) a vytvořte soubor s názvem file.txt . Tento příkaz vám umožňuje otestovat omezení přístupu pro zápis na souborovém systému pouze pro čtení.

# navigate to /test directory
cd /test

# create new file
echo "Test create a file on Read-only filesystem" > file.txt

Stejně jako výstup níže se zobrazí chybová zpráva, protože sdílený adresář (/srv/test) má oprávnění pouze pro čtení.

Trvalé připojení sdíleného adresáře NFS

Nyní jste úspěšně připojili sdílený adresář NFS na klientský počítač, ale po restartování systému zmizí. Jak trvale připojit sdílený adresář NFS? Definováním sdíleného adresáře NFS v /etc/fstab soubor.

1. Upravte soubor /etc/fstab konfiguračního souboru pomocí preferovaného editoru a přidejte následující konfiguraci. Změňte adresu IP pomocí adresy IP serveru NFS, sdíleného adresáře a cílového adresáře připojení.

# rw/ro - allow read and write or read-only to the target mount.
# hard - enable client machine to always try to connect to the NFS whenever fail.
# noexec - disable binary file execution on the file system.
# rsize - maximum READ requests that client machine can handle.
# wzise - maximum WRITE requests that client machine can handle.
# timeo - timeout for NFS client before retries requests to the NFS server.

# NFS Shared Directory - target - type - options - dump - pass
172.16.1.20:/srv/data /data nfs rw,hard,noexec,rsize=8192,wsize=8192,timeo=14 0 0
172.16.1.20:/srv/test /test nfs ro,hard,noexec,rsize=8192,wsize=8192,timeo=14 0 0

2. Dále spusťte mount příkaz níže k připojení celého souborového systému na /etc/fstab a ověřte /etc/fstab konfigurace. Pokud se neobjeví žádné chybové hlášení, je konfigurace správná.

sudo mount -a

3. Spusťte df příkaz níže k ověření připojeného souborového systému na klientském počítači.

sudo df -h

Podobně jako ve výstupu níže byste měli vidět, že sdílený adresář NFS je automaticky připojen k vašemu klientskému počítači.

4. Nakonec spusťte reboot příkaz k restartování klientského počítače. Po restartování se přihlaste a znovu spusťte df stejně jako v kroku 3 pro ověření sdíleného adresáře NFS.

sudo df -h

Jak vidíte níže, sdílený adresář NFS je stále trvale připojen k počítači klienta.

Závěr

V tomto kurzu jste se naučili, jak nastavit server NFS na serveru Linux pro bezpečné sdílení adresáře. Také jste se dotkli trvalého připojení sdíleného adresáře NFS, takže nebudete muset ručně připojovat sdílený adresář pokaždé, když restartujete počítač.

V tuto chvíli máte plně funkční NFS server. Takže, co bude dál? Možná se naučit přidat vrstvu zabezpečení pro NFS pomocí ověřování Kerberos?


Linux
  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat server SVN na Ubuntu a LinuxMint

  3. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Nagios na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 18.04