Jak zainstalować i użyć NFS?
W poniższego artykułu dowiesz się czym jest NFS, jak go skonfigurować, zabezpieczyć i bezpiecznie wykorzystywać w sowim środowisku. W artykule zostały użyte dwie maszyny wirtualne z systemem Linux Ubuntu 22.04 LTS. Jedna pełni rolę serwera, który udostępnia pliki, druga to maszyna klient który podłącza się celem uzyskania dostępu do plików. W pierwszej części opisano jak zainstalować i użyć NFS, w drugiej zawarto porady dotyczące implementacji mechanizmów bezpieczeństwa. Do utworzenia maszyn testowych z systemem Linux Ubuntu użyłem opisany tutaj Virtualbox.
Moja adresacja sieciowa:
- 172.16.1.50 – serwer NFS
- 172.16.1.51 – klient NFS
Co to jest NFS?
NFS (Network File System) to protokół udostępniania plików. Protokół NFS pozwala nam na udostępnianie dowolnych plików za pośrednictwem sieci przy użyciu różnych dystrybucji systemu Linux.
Do czego wykorzystać NFS?
- Udostępnianie plików w sieci lokalnej: NFS umożliwia łatwe udostępnianie plików i katalogów pomiędzy różnymi komputerami w sieci lokalnej. Może to być przydatne w biurach, gdzie wiele komputerów musi mieć dostęp do tych samych danych.
- Zapewnienie dostępu do danych w chmurze obliczeniowej: Firmy często korzystają z usług chmury obliczeniowej do przechowywania danych. NFS może być używany do udostępniania tych danych wewnątrz firmy, umożliwiając pracownikom dostęp do nich bezpośrednio z własnych komputerów.
- Tworzenie kopii zapasowych: NFS może być używany do tworzenia kopii zapasowych danych na zdalnych serwerach. Przez montowanie zdalnego systemu plików, można łatwo kopiować dane na zdalne urządzenia, co zwiększa bezpieczeństwo danych w przypadku awarii sprzętu lub innego rodzaju utraty danych.
- Wirtualizacja: W środowiskach wirtualizacji, takich jak VMware czy Microsoft Hyper-V, NFS może być używany do przechowywania maszyn wirtualnych i dzielenia ich pomiędzy różnymi hostami. Dzięki temu możliwe jest łatwe zarządzanie i skalowanie infrastruktury wirtualnej.
Instalacja serwera NFS
Poniższe kroki należy wykonać na instancji która ma pełnić rolę maszyny udostępniającej pliki.
Zainstaluj wymagane pakiety:
sudo apt install nfs-kernel-server
Dodaj usługę do listy startowej żeby uruchomiła się automatycznie:
sudo systemctl enable nfs-server
Zweryfikuj czy usług jest uruchomiona:
sudo systemctl status nfs-server
Komunikat jak pokazano poniżej pokazuję poprawnie uruchomioną usługę.
Jeśli masz informację taką:
Wykonaj poniższe polecenie które uruchomi usługę nfs-server:
sudo systemctl start nfs-server
Konfiguracja serwera NFS
W ramach konfiguracji serwera NFS należy utworzyć katalog, który zostanie udostępniony w dla innych komputerów.
sudo mkdir /mnt/tematyka.it
sudo chown nobody:nogroup /mnt/tematyka.it
sudo chmod 777 /mnt/tematyka.it
W kolejnym kroku należy dodać konfigurację do pliku /etc/exports która umożliwi podłączenie maszyny klienta do zasobów:
/mnt/tematyka.it 172.16.1.0/255.255.255.0(rw,sync,no_subtree_check)
Dostosuj nazwę folderu, adresację do swojego środowiska.
Znaczenie poszczególnych elementów wpisu:
- /mnt/tematyka.it – folder źródłowy który na być udostępniony
- 172.16.1.0/255.255.255.0 – adres IP lub adresacja sieci z której można się podłączyć do zasobu
- rw – zezwolenie na odczytywanie i zapisywanie plików na zasobie
- sync – serwer NFS nie będzie odpowiadać na żądania, zanim zmiany wprowadzone w poprzednich żądaniach nie zostaną zapisane na dysku
Następnie należy zastosować zmiany:
sudo exportfs -a
Konfiguracja klienta NFS
Zainstaluj niezbędne pakiety na maszynie klienta:
sudo apt install nfs-common
Dodaj punkt montowania, w którym będą dostępne zasoby z serwera:
sudo mkdir /mnt/zdalny
Montowanie zasobów
Zamontuj zasoby za pomocą poniższego polecenia:
sudo mount -t nfs 172.16.1.50:/mnt/tematyka.it /mnt/zdalny
Pamiętaj żeby dostosować parametry do swojego środowiska, zmieniając adres IP oraz ścieżki montowania.
Test
Prosty test czy wszystko działa można wykonać za pomocą polecenia touch:
touch /mnt/zdalny/tematyka.it
Jeśli coś nie działa – sprawdź konfigurację firewall
Jeśli używasz firewall w maszynie lokalnej na serwerze NFS należy odblokować możliwość łączenia się do portu używanego przez NFS za pomocą:
sudo ufw allow from 172.16.1.0/24 to any port nfs
Podsumowanie – jak zainstalować i użyć NFS
NFS nadal jest przydatny, chociaż są inne metody udostępniania plików. W podstawowej konfiguracji dość mocno pominięte są aspekty związane z bezpieczeństwem a konkretnie z szyfrowaniem komunikacji. W podstawowej konfiguracji szczególny nacisk należy zwrócić na firewall i na opcje udostępniania zasobów. Najlepsze są bardzo precyzyjne reguły określające dostęp, czyli wskazujące konkretny folder oraz konkretną stację jaka może się do tego folderu podłączyć.