NFS Systém vzdáleného přístupu v Linuxovém operačním systému

Základní návod nastavení pro distribuce založené na Ubuntu.

 
Na serveru je nejprve potřeba nainstalovat balíky nfs-kernel-server, rpcbind a nfs-common.

apt-get install nfs-kernel-server nfs-common

konfigurační soubor nfs-serveru je /etc/exports, kde každý nezakomentovaný řádek představuje jedno sdílení.

/sklad 192.168.0.0/255.255.255.0(rw,no_root_squash,sync)

Dále je třeba si nastavení trochu vysvětlit:

  • 192.168.0.0/255.255.255.0 … povolíme sdílení pro celou síť 192.168.0
  • 192.168.1.2 … v uvedeném příkladu povolíme sdílení jen počítači s ip 192.168.1.2(shrnuto, zde nastavujeme ip adresy, které mají přístup)
  • rw … právo čtení a zápisu
  • no_root_squash … obecně je to trochu složitější, v tomto případě to znamená, že pokud se přihlásí root přes klienta bude root i na serveru, vysvětlení je provedeno níže
  • sync … synchronní režim

Squashování UID/GID znamená, že pokud se na adresář snaží přistoupit user s UID 100, tak na NFS serveru bude mít UID 65435. UID se překlopí ke konci rozsahu. Stejně to funguje i pro GID. Lze nastavit i konkrétní UID číslo, na které se budou všichni klienti přemapovávat. NFS rozlišuje mezi squashováním obyčejných uživatelů (all_squash) a roota (no_root_squash). Squashování pro uživatele je ve výchozím nastavení vypnuté a pro roota zapnuté. Jestli pro Roota vypnout záleží na konkrétní situaci v konkrétním nasazení.
Dále nahodíme potřebné služby

service nfs-kernel-server start

Upravíme pravidla firewallu:

Povolit TCP a UDP port 2049 for NFS.


Jak na to pro Ubuntu

sudo ufw status
sudo ufw allow nfs

Nastavíme klienta

Klient potřebuje nainstalovat balíky rpcbind a nfs-common.

apt-get install rpcbind nfs-common

Vytvoříme přípojný bod například:

mkdir /media/data

A můžeme připojit:

mount 192.168.1.2:/sklad /media/data

Zápis pro trvalé připojení do fstab:

192.168.1.2:/sklad /media/data_server nfs sync,rw,exec 0 0

Klient potřebuje povolený port firewallu 111.