Instalace z ISO (debian)
Obsah:
- Předpoklady
- Nastavte server NFS
- Instalace serveru NFS
- Vytváření systémů souborů
- Export souborových systémů
- Konfigurace firewallu
- Nastavení klientů NFS
- Instalace klienta NFS
- Montáž souborových systémů
- Testování přístupu NFS
- Odpojení systému souborů NFS
- Závěr
Network File System (NFS) je distribuovaný protokol systému souborů, který umožňuje sdílet vzdálené adresáře v síti. S NFS můžete připojit vzdálené adresáře do systému 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 na server je omezen IP adresami klientů nebo jmény hostitelů.
V tomto tutoriálu se podíváme, jak nastavit server NFSv4 na Ubuntu 18.04. Ukážeme vám také, jak připojit klientský systém souborů NFS.
Předpoklady
Tento příklad předpokládá, že máte jeden server se systémem Ubuntu 18.04 a druhý se spuštěnou jinou distribucí systému Linux. Server a klienti by měli být schopni komunikovat mezi sebou prostřednictvím soukromé sítě. Pokud váš poskytovatel hostingu nenabízí soukromé adresy IP, můžete použít veřejné adresy IP a nakonfigurovat bránu firewall serveru tak, aby umožňovala provoz na portu
2049
pouze z důvěryhodných zdrojů.
Stroje v tomto příkladu mají následující adresy IP:
NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range
Nastavte server NFS
Začneme instalací a konfigurací serveru NFS.
Instalace serveru NFS
Aktualizujte index balíčků a nainstalujte balíček serveru NFS:
sudo apt update
sudo apt install nfs-kernel-server
Po dokončení instalace se služby NFS spustí automaticky.
Ve výchozím nastavení je na Ubuntu 18.04 NFS verze 2 zakázána. Verze 3 a 4 jsou povoleny. Můžete to ověřit spuštěním následujícího příkazu
cat
:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
NFSv2 je nyní docela starý a není důvod jej aktivovat.
Možnosti konfigurace serveru NFS jsou nastaveny v
/etc/default/nfs-kernel-server
a
/etc/default/nfs-common
. Výchozí nastavení je v našem případě dostačující.
Vytváření systémů souborů
Při konfiguraci serveru NFSv4 je vhodné používat globální kořenový adresář NFS a svázat skutečné adresáře s připojovacím bodem sdílené položky. V tomto příkladu
/srv/nfs4
jako kořen NFS kořenový adresář
/srv/nfs4
.
Budeme sdílet dva adresáře (
/var/www
a
/opt/backups
) s různými nastaveními konfigurace, abychom lépe vysvětlili, jak lze konfigurovat připojení NFS.
/var/www/
je ve vlastnictví uživatele a skupina
www-data
a
/opt/backups
je ve vlastnictví
root
.
Vytvořte souborový systém exportu pomocí příkazu
mkdir
:
sudo mkdir -p /srv/nfs4/backups
sudo mkdir -p /srv/nfs4/www
Připojte skutečné adresáře:
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
Chcete-li, aby se vázání připojilo jako trvalé, otevřete soubor
/etc/fstab
:
sudo nano /etc/fstab
a přidejte následující řádky:
/ etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
Export souborových systémů
Dalším krokem je definování souborových systémů, které budou exportovány serverem NFS, možností sdílení a klientů, kteří mají povolený přístup k těmto souborovým systémům. Otevřete soubor
/etc/exports
:
sudo nano /etc/exports
Soubor
/etc/exports
také obsahuje komentáře, které popisují, jak exportovat adresář.
V našem případě musíme exportovat adresáře
www
a
backups
a povolit přístup pouze od klientů v síti
192.168.33.0/24
:
/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/nfs
. Přístup k tomuto svazku NFS je povolen pouze klientům ze podsítě
192.168.33.0/24
. Možnost
crossmnt
je vyžadována pro sdílení adresářů, které jsou podadresáři exportovaného adresáře.
Na druhém řádku je uvedeno, jak určit více exportních pravidel pro jeden souborový systém.
/srv/nfs4/backups
adresář
/srv/nfs4/backups
a umožňuje pouze přístup ke čtení do celého rozsahu
192.168.33.0/24
a přístup ke čtení i zápisu do
192.168.33.3
. Možnost
sync
řekne NFS, aby zapisoval změny na disk před odpovědí.
Poslední řádek by měl být samovysvětlující. Chcete-li získat další informace o všech dostupných možnostech, zadejte
man exports
do vašeho terminálu.
Uložte soubor a exportujte sdílené položky:
sudo exportfs -ra
Pokaždé, když upravíte soubor
/etc/exports
musíte spustit příkaz výše. Pokud se vyskytnou nějaké chyby nebo varování, zobrazí se na terminálu.
Chcete-li zobrazit aktuální aktivní vývoz a jejich stav, použijte:
sudo exportfs -v
Výstup bude zahrnovat všechny sdílené položky s jejich možnostmi. Jak vidíte, existují také možnosti, které jsme v souboru
/etc/exports
nedefinovali. Toto jsou výchozí možnosti a pokud je chcete změnit, musíte je explicitně nastavit.
/srv/nfs4/backups 192.168.33.3(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(rw, wdelay, crossmnt, root_squash, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(ro, wdelay, root_squash, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
Na Ubuntu je ve výchozím nastavení povolen
root_squash
. Toto je jedna z nejdůležitějších možností týkajících se zabezpečení NFS. Zabraňuje uživatelům root připojeným z klientů mít oprávnění root pro připojené sdílené položky. Bude mapovat kořenové
UID
a
GID
na
UID
/
GID
na
nobody
/
nogroup
.
Aby uživatelé na klientských počítačích měli přístup, NFS očekává, že se ID uživatele a skupiny klienta shodují s těmi na serveru. Další možností je použití funkce mapování NFSv4, která převádí ID uživatelů a skupin na jména a naopak.
A je to. Nyní máte na serveru Ubuntu nastaven server NFS. Nyní můžete přejít na další krok a nakonfigurovat klienty a připojit se k serveru NFS.
Konfigurace firewallu
Za předpokladu, že ke správě brány firewall používáte
UFW
a umožňuje přístup ze podsítě
192.168.33.0/24
, musíte spustit následující příkaz:
sudo ufw allow from 192.168.33.0/24 to any port nfs
Chcete-li ověřit běh změn:
sudo ufw status
Výstup by měl ukazovat, že přenos na portu
2049
je povolen:
To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
Nastavení klientů NFS
Nyní, když je server NFS nastaven a sdílené položky jsou exportovány, v dalším kroku nakonfigurujte klienty a připojte vzdálené systémy souborů.
Můžete také připojit sdílenou složku NFS na počítačích MacOS a Windows, ale zaměříme se na systémy Linux.
Instalace klienta NFS
Na klientských počítačích potřebujeme nainstalovat pouze nástroje potřebné k připojení vzdálených systémů souborů NFS.
-
Nainstalujte klienta NFS na Debian a Ubuntu
Název balíčku, který obsahuje programy pro připojení systémů souborů NFS v distribucích založených na Debianu, je
nfs-common
. Chcete-li jej nainstalovat, spusťte:sudo apt update
sudo apt install nfs-common
Nainstalujte klienta NFS na CentOS a Fedora
Na Red Hat a jeho deriváty nainstalujte balíček
nfs-utils
:sudo yum install nfs-utils
Montáž 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 souborového systému
/srv/nfs4/www
a přístup pouze pro čtení do souborového systému
/srv/nfs4/backups
.
Vytvořte dva nové adresáře pro připojovací body. Tyto adresáře můžete vytvořit na libovolném místě.
sudo mkdir -p /backups
sudo mkdir -p /srv/www
Připojte exportované souborové systémy příkazem
mount
:
sudo mount -t nfs -o vers=4 192.168.33.10:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www
Kde
192.168.33.10
je IP serveru NFS. Místo adresy IP můžete také použít název hostitele, ale musí být vyřešen klientským počítačem. To se obvykle provádí mapováním názvu hostitele na IP v souboru
/etc/hosts
.
Při připojování souborového systému NFSv4 je třeba vynechat kořenový adresář NFS, takže místo
/srv/nfs4/backups
musíte použít
/backups
.
Ověřte, zda jsou vzdálené systémy souborů úspěšně připojeny pomocí příkazu mount nebo
df
:
df -h
Příkaz vytiskne všechny připojené souborové systémy. Poslední dvě řádky jsou připojené sdílené položky:
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/www 9.7G 1.2G 8.5G 13% /srv/www
Chcete-li, aby byly přípojky trvalé po restartu, otevřete soubor
/etc/fstab
:
sudo nano /etc/fstab
a přidejte následující řádky:
/ etc / fstab
192.168.33.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0
Chcete-li najít další informace o dostupných možnostech při připojování systému souborů NFS, zadejte do terminálu
man nfs
.
Další možností připojení vzdálených souborových systémů je použití nástroje
autofs
nebo vytvoření jednotky systemd.
Testování přístupu NFS
Vyzkoušejte přístup ke sdíleným položkám vytvořením nového souboru pro každou z nich.
Nejprve zkuste vytvořit zkušební soubor do adresáře
/backups
pomocí příkazu
touch
:
sudo touch /backups/test.txt
Systém souborů
/backup
je exportován jako pouze ke čtení a podle očekávání se zobrazí chybová zpráva o
Permission denied
:
touch: cannot touch '/backups/test': Permission denied
Dále zkuste vytvořit testovací soubor do adresáře
/srv/www
jako root pomocí příkazu
sudo
:
sudo touch /srv/www/test.txt
Znovu se zobrazí zpráva
Permission denied
.
touch: cannot touch '/srv/www': Permission denied
Za předpokladu, že máte na klientském počítači použití
www-data
se stejným
UID
a
GID
jako na vzdáleném serveru (což by mělo být například v případě, že jste nainstalovali nginx na obou počítačích), můžete vyzkoušet vytvoření souboru jako uživatele
www-data
s:
sudo -u www-data touch /srv/www/test.txt
Příkaz nezobrazí žádný výstup, což znamená, že soubor byl úspěšně vytvořen.
Chcete-li jej ověřit,
/srv/www
soubory v adresáři
/srv/www
:
ls -la /srv/www
Výstup by měl zobrazovat nově vytvořený soubor:
drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 0 Jun 23 22:18 test.txt
Odpojení systému souborů NFS
sudo umount /backups
Pokud je přípojný bod definován v souboru
/etc/fstab
, ujistěte se, že jste řádek odstranili nebo jej přidali na začátek řádku #.
Závěr
V tomto tutoriálu jsme vám ukázali, jak nastavit server NFS a jak připojit vzdálené systémy souborů na klientských počítačích. Pokud implementujete NFS do výroby a sdílení citlivých dat, je vhodné povolit autentizaci pomocí kerberos.
Jako alternativu k NFS můžete použít SSHFS k připojení vzdálených adresářů přes připojení SSH. SSHFS je ve výchozím nastavení šifrován a mnohem snadněji konfigurovatelný a použitelný.
Pokud máte nějaké dotazy, neváhejte a zanechte komentář.
Ubuntu nfs připojovací terminálJak nainstalovat a nakonfigurovat server nfs na centos 8
V tomto tutoriálu projdete kroky nezbytné k nastavení serveru NFSv4 na CentOS 8. Ukážeme vám také, jak připojit klientský souborový systém NFS.
Jak nainstalovat a nakonfigurovat redmine na Ubuntu 18.04
Redmine je jedním z nejpopulárnějších softwarových nástrojů pro správu projektů s otevřeným zdrojovým kódem a pro sledování problémů. Tento tutoriál popisuje, jak nainstalovat a nakonfigurovat nejnovější verzi Redmine na serveru Ubuntu 18.04.
Jak nainstalovat a nakonfigurovat vnc na Ubuntu 18.04
Tato příručka popisuje kroky nezbytné pro instalaci a konfiguraci serveru VNC v systému Ubuntu 18.04. Také vám ukážeme, jak se bezpečně připojit k serveru VNC tunelem SSH.