Aby zainstalować i skonfigurować serwer oraz klienta NFS na systemie Ubuntu, należy wykonać kilka precyzyjnych kroków, które pozwalają na bezpieczne, efektywne udostępnianie zasobów sieciowych pomiędzy różnymi komputerami w sieci lokalnej.
Wprowadzenie – Czym jest NFS?
NFS (Network File System) to protokół umożliwiający współdzielenie plików między komputerami w sieci lokalnej na zasadzie modelu klient-serwer. Pozwala na montowanie zdalnych katalogów tak, jakby były lokalne.
Wymagania
- Dwa lub więcej komputerów z Ubuntu (np. Ubuntu 22.04/24.04).
- Uprawnienia administratora (
sudo
). - Oba komputery muszą znajdować się w tej samej sieci lokalnej.
Instalacja i konfiguracja serwera NFS (na komputerze-serwerze)
1. Instalacja pakietu NFS Kernel Server
Zaktualizuj indeks pakietów:
sudo apt update
Zainstaluj serwer NFS:
sudo apt install nfs-kernel-server -y
Po instalacji usługa powinna uruchomić się automatycznie.
Aby sprawdzić status usługi:
sudo systemctl status nfs-kernel-server
2. Utworzenie katalogu do współdzielenia
Załóż katalog, który będzie udostępniany klientom NFS:
sudo mkdir -p /mnt/nfsdir
Ustaw właściciela katalogu na publicznego użytkownika (opcjonalnie dla testów):
sudo chown nobody:nogroup /mnt/nfsdir
Nadanie pełnych uprawnień (Tylko do testów! W produkcji ustaw własne prawa dostępu!):
sudo chmod 777 /mnt/nfsdir
3. Konfiguracja eksportów NFS
Edytuj plik /etc/exports
, by określić, które katalogi i z jakimi uprawnieniami będą udostępniane. Dodaj wiersz, np.:
/mnt/nfsdir 192.168.1.0/24(rw,sync,no_subtree_check)
- rw – prawa zapisu i odczytu
- sync – zapis synchroniczny
- nosubtreecheck – bez sprawdzania poddrzew (zalecane przy prostym udostępnianiu)
Możesz także udostępnić tylko konkretnemu adresowi IP:
/mnt/nfsdir 192.168.1.10(rw,sync,no_subtree_check)
4. Zastosowanie zmian w eksporcie
Zaktualizuj konfigurację eksportów:
sudo exportfs -ra
Sprawdź, co jest eksportowane:
sudo exportfs -v
5. Konfiguracja zapory sieciowej (Firewall)
Jeśli korzystasz z UFW:
sudo ufw allow from 192.168.1.0/24 to any port nfs
Instalacja klienta NFS (na komputerze-kliencie)
1. Instalacja pakietu klienta NFS
Zaktualizuj indeks pakietów:
sudo apt update
Zainstaluj pakiet nfs-common
:
sudo apt install nfs-common -y
2. Utworzenie punktu montowania
Załóż katalog, w którym będzie montowany zasób z serwera:
sudo mkdir -p /mnt/nfsclient
3. Ręczne montowanie zasobu NFS
Zamontuj katalog współdzielony z serwera NFS:
sudo mount 192.168.1.XX:/mnt/nfsdir /mnt/nfsclient
Gdzie 192.168.1.XX
to adres IP serwera NFS.
Sprawdź, czy montowanie powiodło się:
df -h /mnt/nfsclient
4. Automatyczne montowanie przy starcie systemu (opcja)
Dodaj wpis w pliku /etc/fstab
klienta:
192.168.1.XX:/mnt/nfsdir /mnt/nfsclient nfs defaults 0 0
Dzięki temu montowanie zasobu odbywa się przy każdym uruchomieniu systemu.
Testowanie działania
- Utwórz plik w katalogu
/mnt/nfsclient
po stronie klienta. Sprawdź, czy pojawia się w/mnt/nfsdir
na serwerze. - Usuń plik – sprawdź, czy znika po obu stronach.
Najważniejsze opcje konfiguracyjne
- rw – pozwala na odczyt/zapis.
- ro – tylko do odczytu.
- sync vs async – sync gwarantuje integralność danych, async może przyspieszyć operacje (ale niezalecany przy krytycznych danych).
- norootsquash – pozwala klientowi mieć uprawnienia root na zasobie; Uwaga! Ryzyko bezpieczeństwa.
- nosubtreecheck – upraszcza udostępnianie podkatalogów.
Zabezpieczenia i dobre praktyki
- Udostępniaj katalogi wyłącznie konkretnym adresom IP lub podsieciom.
- Ogranicz uprawnienia (nie używaj
chmod 777
w produkcji). - Monitoruj logi systemowe oraz status usługi
nfs-server
.
Podsumowanie
Instalacja i konfiguracja NFS na Ubuntu pozwala na szybkie i efektywne dzielenie plików pomiędzy komputerami w sieci lokalnej. Stosując powyższe kroki oraz zalecenia dotyczące bezpieczeństwa, można zbudować stabilny i bezpieczny system współdzielenia plików na bazie NFS.