GNU/Linux >> Znalost Linux >  >> Linux

Naučte se NFS prostřednictvím konfigurace serveru a klienta

NFS používám roky v omezené kapacitě. S tímto konceptem jsem byl obeznámen a přistupoval jsem ke sdíleným složkám NFS, ale nikdy jsem žádné ve skutečnosti nekonfiguroval. Je pravděpodobné, že v tom nejsem sám. Myslel jsem, že se naučím, jak to všechno zařídit, a dokonce vás všechny přivedu s sebou. Začněme průvodcem pro začátečníky k učení NFS.

Co je to NFS?

Network File System (NFS) je distribuovaný systém souborů, který umožňuje různým vzdáleným systémům přístup ke sdílené složce. Všichni víme, že soubory by měly být kvůli bezpečnosti a snadnému zálohování uloženy na centrálním serveru. NFS nám poskytuje službu sdílení souborů, která se snadno spravuje a řídí přístup klientů ke zdrojům.

Co je potřeba?

Než začneme, musíme si ujasnit několik předpokladů. Nejprve potřebujeme dva různé systémy, které jsou schopny spolu komunikovat přes síť. Protože NFS používá vztah mezi serverem a klientem, použijeme následující:

  • Server NFS – server.example.com – 172.25.1.5
  • Klient NFS – klient.example.com – 172.25.1.4

Můžete použít ping příkaz k potvrzení komunikace mezi dvěma systémy. Mám tyto dva stroje v síti NAT a otestoval jsem připojení oběma způsoby.

Poté se ujistěte, že oba naše systémy jsou aktuální. Protože se jedná o systémy RHEL 8.2 a Fedora 32, použijeme na serveru i klientovi následující příkaz:

[root@rhel tcarrigan]# sudo yum -y update

A nakonec musíme nainstalovat nfs-utils balíček do obou našich systémů.

[root@rhel tcarrigan]# sudo yum -y install nfs-utils (must do on both servers)
Updating Subscription Management repositories.
Last metadata expiration check: 0:55:54 ago on Wed 24 Jun 2020 11:53:45 AM EDT.
Package nfs-utils-1:2.3.3-31.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

*Poznámka:balíček je již nainstalován ve výše uvedeném příkladu.

Nyní přejdeme ke konfiguraci serveru.

Nakonfigurujte server

Krok 1:Spusťte a povolte nově nainstalovaný nfs-utils službu.

[tcarrigan@rhel ~]$ sudo systemctl start nfs-server.service
[tcarrigan@rhel ~]$ sudo systemctl enable nfs-server.service

Krok 2:Potvrďte nfs-server služba je v provozu.

[tcarrigan@rhel ~]$ sudo systemctl status nfs-server.service
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabl>
   Active: active (exited) since Wed 2020-06-24 12:50:23 EDT; 18min >
 Main PID: 61026 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 50657)
   Memory: 0B
   CGroup: /system.slice/nfs-server.service
    
 Jun 24 12:50:23 server.example.com systemd[1]: Starting NFS server a>
 Jun 24 12:50:23 server.example.com systemd[1]: Started NFS server an>
lines 1-10/10 (END)

Krok 3:Ověřte verzi NFS (tyto informace můžete vidět ve sloupci dva).

[tcarrigan@rhel ~]$ rpcinfo -p | grep nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl

*Všimněte si, že konfigurační soubory démona NFS můžete najít na /etc/nfs.conf . Konfigurační soubor pro připojení také můžete najít na /etc/nfsmount.conf .

Služba NFS je nyní na vašem serveru spuštěna. Dále vytvoříme sdílenou složku NFS.

Vytvořte a exportujte sdílenou složku

Nejprve musíme určit složku pro sdílení. Protože žádný v mém systému ještě neexistuje, vytvořím adresář ke sdílení.

[tcarrigan@rhel ~]$ sudo mkdir -p /test/nfs_share/docs

Nyní jsem se z několika pokusů a omylů a následně dobře napsaných zdrojů naučil, že se můžete vyhnout mnoha bolestem hlavy, když změníte oprávnění a vlastnictví tak, aby odpovídaly následujícímu:

[tcarrigan@rhel ~]$ sudo chown -R nobody: /test/nfs_share/docs/
[tcarrigan@rhel ~]$ sudo chmod -R 777 /test/nfs_share/docs/

*Poznámka:Je možné, že to nebudete moci provést v produkčním prostředí z důvodu zabezpečení. Před odstraněním všech omezení ze souboru nebo adresáře se ujistěte, že víte, co děláte.

Dále musíme vytvořit /etc/exports soubor.

[root@server docs]# vi /etc/exports

V novém souboru proveďte následující položku:

/test/nfs_share   172.25.1.0/24(rw,sync,no_all_squash,root_squash)

Abychom lépe porozuměli zde použitým parametrům, pojďme je rozebrat jeden po druhém.

  • rw – Umožňuje nám číst a zapisovat do sdílené složky NFS.
  • synchronizace – Vyžaduje zápis změn na disk před dokončením jakýchkoli dalších operací.
  • no_all_squash – Mapuje všechna UID a GID z požadavku klienta na identická UID a GID na serveru NFS.
  • root_squash – Mapuje požadavky uživatele root na straně klienta na anonymní UID/GID.

Nyní, když jsme vytvořili sdílenou složku, pojďme ji exportovat do klienta (klientů).

[root@server docs]# exportfs -rav
exporting 172.25.1.0/24:/test/nfs_share

Všimněte si, že jsem zde zmapoval celou podsíť. Pokud chcete, můžete zde uvést pouze jednu IP adresu nebo název hostitele.

Upravte bránu firewall

Nainstalovali jsme server a poté vytvořili a exportovali sdílenou složku. Dále nakonfigurujeme tunel přes firewall. Budeme přidávat pravidla pro nfs , rpc-bind a mountd . Po dokončení nezapomeňte znovu načíst konfiguraci brány firewall.

K vidění zde:

[root@server]# firewall-cmd --permanent --add-service=nfs
success
[root@server]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@server]# firewall-cmd --permanent --add-service=mountd
success
[root@server]# firewall-cmd --reload
success

Po dokončení na straně serveru se nyní můžeme soustředit na klientský počítač.

Nakonfigurujte klienta

*Poznámka:všechny budoucí kroky se provádějí na klientském počítači.

Protože jsme již aktualizovali náš systém a nainstalovali nfs-utils balíčku, mělo by to být docela jednoduché.

Začneme vytvořením položky v /etc/hosts pro server NFS. Mělo by to vypadat podobně jako toto:

[root@client]# cat /etc/hosts
127.0.0.1  localhost
::1        localhost
172.25.1.5 localhost

Nyní se podívejme, zda je něco sdíleno ze serveru NFS. Pokud jste postupovali podle předchozích sekcí, měli byste vidět /test/nfs_share/docs jako sdílený adresář.

[root@client ~]# showmount --exports nfs-server
Export list for nfs-server: 
/test/nfs_share/docs 172.25.1.0/24

Dále vytvořte na klientském počítači adresář pro připojení vzdálené sdílené složky.

[tcarrigan@client ~]$ sudo  mkdir p /test/client_share

Nyní, když jsme vytvořili mount adresář, pojďme připojit sdílenou složku.

[tcarrigan@client ~]$ sudo mount -t nfs 172.25.1.5:/test/nfs_share/docs /home/tcarrigan/test/client_share

Spusťte následující příkaz k ověření sdílené položky:

[tcarrigan@client ~]$ sudo mount | grep -i nfs

Nakonec, abyste zajistili, že připojení bude trvalé po restartování, přidejte následující řádek do /etc/fstab soubor:

172.25.0.5:/test/nfs_share/docs /home/tcarrigan/test/client_share  nfs defaults 0 0 

Klidný den.

Důkaz konceptu

Jako vyvrcholení našeho snažení pojďme otestovat nakonfigurovaný sdílení. Vytvořte soubor na serveru v /test/nfs_share/docs s názvem test_doc .

[tcarrigan@server docs]$ ls -lrt
total 4
-rw-r--r--. 1 root root 39 Jun 25 16:21 test_doc

Podívejme se, zda náš test_doc je exportován do našeho klientského počítače prostřednictvím NFS.

Na klientském počítači:

[tcarrigan@client ~]$ cd test/client_share/
[tcarrigan@client client_share]$ ls
docs
[tcarrigan@client client_share]$ ls docs/
test_doc
[tcarrigan@client client_share]$

Zde vidíme test_doc existuje na serveru NFS.

Pro testování opačným směrem vytvořím na klientovi soubor s názvem client-test-doc .

[tcarrigan@client docs]$ vi client-test-doc

Přeskočíme na server a uvidíme, jestli můžeme zobrazit nově vytvořený soubor.

NFS server:

[tcarrigan@server docs]$ ls -lrt
   total 8
   -rw-r--r--. 1 root      root      39 Jun 25 16:21 test_doc
   -rw-rw-r--. 1 tcarrigan tcarrigan  5 Jul  6 13:25 client-test-doc

Vidíme jak původní soubor test_doc stejně jako nově vytvořený soubor client-test-doc .

Gratulujeme k nastavení fungujícího páru server/klient NFS.

[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]


Linux
  1. Jak nastavit NFS server a klienta na Rocky/Alma Linux 8

  2. Nainstalujte vnc server a klienta na Ubuntu

  3. CentOS / RHEL 7 :Konfigurace serveru NFS a klienta NFS

  1. Instalace serveru a klienta NFS na CentOS 7

  2. Nastavení serveru a klienta NFS na Debian 9 (Stretch)

  3. Základní zabezpečení NFS – NFS, no_root_squash a SUID

  1. Nastavení serveru a klienta NFS v systému Scientific Linux 6.3

  2. Nastavení serveru a klienta NFS na CentOS 6.3

  3. Nastavení serveru a klienta NFS na OpenSUSE 12.2