Zainstaluj serwer i klient NFS na Ubuntu 18.04 LTS


NFS lub Network File System to protokół rozproszonego systemu plików, pierwotnie zbudowany z wyjątkiem Sun Microsystems. Dzięki NFS możesz pozwolić systemowi na udostępnianie katalogów i plików innym osobom w sieci. Podczas udostępniania plików NFS użytkownicy, a nawet programy mogą uzyskiwać dostęp do informacji na zdalnych systemach prawie tak, jakby rezydowały na komputerze lokalnym.

NFS działa w środowisku klient-serwer, w którym serwer jest odpowiedzialny za zarządzanie uwierzytelnianiem, autoryzacją i zarządzaniem klientami, a także za wszystkie dane współdzielone w określonym systemie plików. Po autoryzacji dowolna liczba klientów może uzyskać dostęp do udostępnionych danych, tak jakby były one obecne w ich pamięci wewnętrznej. Konfigurowanie serwera NFS w systemie Ubuntu jest bardzo proste. Wszystko, co musisz zrobić, to wykonać niezbędne instalacje i konfiguracje, zarówno na serwerze, jak i na komputerach klienckich, i gotowe.

W tym artykule objaśnimy krok po kroku, jak skonfigurować serwer i klient NFS, który pozwoli ci udostępniać pliki z jednego systemu Ubuntu do drugiego.

Uruchomiliśmy polecenia i procedury opisane w tym artykule w systemie Ubuntu 18.04 LTS. Ponieważ używamy wiersza polecenia Ubuntu, terminala, do wykonywania wszystkich operacji; możesz go otworzyć za pomocą myślnika systemowego lub skrótu Ctrl + Alt + T.

Konfigurowanie serwera hosta

Aby skonfigurować system hosta do udostępniania katalogów, będziemy musieli zainstalować na nim serwer jądra NFS, a następnie utworzyć i wyeksportować katalogi, do których systemy klienckie mają mieć dostęp. Wykonaj następujące kroki, aby bezproblemowo skonfigurować stronę hosta:

Krok 1: Zainstaluj serwer jądra NFS

Przed zainstalowaniem serwera jądra NFS musimy zaktualizować indeks repozytorium naszego systemu za pomocą Internetu za pomocą następującej komendy apt as sudo:

$ sudo apt-get update

Powyższe polecenie pozwala nam zainstalować najnowszą dostępną wersję oprogramowania za pośrednictwem repozytoriów Ubuntu.

Teraz uruchom następującą komendę, aby zainstalować serwer jądra NFS w twoim systemie:

$ sudo apt install nfs-kernel-server

System wyświetli monit z opcją T / N, aby potwierdzić, czy chcesz kontynuować instalację. Wpisz Y, a następnie naciśnij Enter, aby kontynuować, po czym oprogramowanie zostanie pomyślnie zainstalowane w systemie.

Krok 2: Utwórz katalog eksportu

Katalog, który chcemy udostępnić systemowi klienta, nazywa się katalogiem eksportu. Możesz nazwać go zgodnie ze swoim wyborem; tutaj tworzymy katalog eksportu o nazwie „folder współdzielony” w katalogu mnt (mount) naszego systemu.

Użyj następującego polecenia, określając nazwę folderu montowania zgodnie z potrzebami, poprzez następujące polecenie jako root:

$ sudo mkdir -p /mnt/sharedfolder

Ponieważ chcemy, aby wszyscy klienci mieli dostęp do katalogu, usuniemy restrykcyjne uprawnienia do folderu eksportu za pomocą następujących poleceń:

$ sudo chown nobody:nogroup /mnt/sharedfolder
$ sudo chmod 777 /mnt/sharedfolder

Teraz wszyscy użytkownicy ze wszystkich grup w systemie klienta będą mogli uzyskać dostęp do naszego „folderu współdzielonego”.

Możesz utworzyć tyle podfolderów w folderze eksportu, ile chcesz, aby uzyskać do nich dostęp klient.

Krok 3: Przydziel dostęp do serwera klientowi za pomocą pliku eksportu NFS

Po utworzeniu folderu eksportu będziemy musieli udzielić klientom uprawnień dostępu do komputera serwera hosta. To uprawnienie jest zdefiniowane w pliku eksportu znajdującym się w folderze / etc twojego systemu. Aby otworzyć ten plik za pomocą edytora Nano, użyj następującego polecenia:

$ sudo nano /etc/exports

Edycja tego pliku wymaga dostępu do katalogu głównego; dlatego będziesz musiał używać sudo ze swoim poleceniem. Możesz także otworzyć plik w dowolnym osobistym ulubionym edytorze tekstu.

Po otwarciu pliku możesz zezwolić na dostęp do:

  • Pojedynczego klienta, dodając następujący wiersz do pliku:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
  • Wielu klientów, dodając następujące wiersze w pliku:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
  • Wielu klientów, określając całą podsieć, do której należą klienci:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)

W tym przykładzie określamy całą podsieć wszystkich klientów, którym chcemy udzielić dostępu do naszego folderu eksportu (folder współdzielony) :

Dodaj wymagane linie do pliku eksportu, a następnie zapisz go, naciskając Ctrl + X, wpisując Y, a następnie naciskając Enter.

Zezwolenia „rw, synchronizacja, no_subtree_check” zdefiniowane w tym pliku oznaczają, że klient (-y) może wykonać:

  • rw : operacje odczytu i zapisu
  • synchronizacja : przed wprowadzeniem zmiany zapisać dysk it
  • no_subtree_check : zapobiegaj sprawdzaniu poddrzewa

Krok 4: Eksportuj współdzielony katalog

Po wykonaniu wszystkich powyższych konfiguracji w systemie hosta, nadszedł czas na wyeksportowanie współdzielonego katalogu za pomocą następującego polecenia jako sudo:

$ sudo exportfs -a

Wreszcie, aby wszystkie konfiguracje zadziałały, zrestartuj serwer jądra NFS w następujący sposób:

$sudo systemctl restart nfs-kernel-server

Krok 5: Otwórz zaporę dla klienta (-ów)

Ważnym krokiem jest sprawdzenie, czy zapora ogniowa serwera jest otwarta dla klientów, aby mogli uzyskać dostęp do udostępnionej zawartości. Następujące polecenie skonfiguruje zaporę, aby umożliwić dostęp do klientów za pośrednictwem NFS:

$ sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

W naszym przykładzie dajemy dostęp do całej podsieci komputerów klientów za pomocą następującego polecenia:

$ sudo ufw allow from 192.168.100/24 to any port nfs

Teraz, kiedy sprawdź status zapory sieciowej Ubuntu za pomocą następującego polecenia, będziesz mógł zobaczyć status akcji jako „Zezwól” na adres IP klienta.

$ sudo ufw status

Serwer hosta jest teraz gotowy do wyeksportowania folderu współdzielonego do określonych klientów przez serwer jądra NFS.

Konfigurowanie komputera klienckiego

Teraz nadszedł czas na wykonanie kilku prostych konfiguracji na komputerze klienckim, aby udostępniony folder z hosta mógł zostać podłączony do klienta, a następnie płynnie dostępny.

Krok 1: Zainstaluj wspólny system plików NFS

Przed zainstalowaniem wspólnej aplikacji systemu plików NFS musimy zaktualizować indeks repozytorium naszego systemu o indeks internetowy za pomocą następującego polecenia apt as sudo:

$ sudo apt-get update

Powyższe polecenie pozwala nam zainstalować najnowsza dostępna wersja oprogramowania za pośrednictwem repozytoriów Ubuntu.

Teraz uruchom następującą komendę, aby zainstalować klienta wspólnego NFS w systemie:

$ sudo apt-get install nfs-common

System wyświetli monit z opcją T / N, aby potwierdzić, czy chcesz kontynuować instalację. Wpisz Y, a następnie naciśnij Enter, aby kontynuować, po czym oprogramowanie zostanie pomyślnie zainstalowane w systemie.

Krok 2: Utwórz punkt montowania dla folderu współdzielonego hosta NFS

System twojego klienta potrzebuje katalogu, w którym można uzyskać dostęp do wszystkich treści udostępnianych przez serwer hosta w folderze eksportu. Możesz utworzyć ten folder w dowolnym miejscu w systemie. Tworzymy folder montowania w katalogu mnt na komputerze naszego klienta:

$ sudo mkdir -p /mnt/sharedfolder_client

Krok 3: Montowanie udostępnionego katalogu na kliencie

Folder, który utworzyłeś w powyższym kroku, jest jak każdy inny folder w twoim systemie chyba że podłączysz katalog współdzielony z twojego hosta do tego nowo utworzonego folderu.

Użyj następującego polecenia, aby zamontować folder współdzielony z hosta w folderze zamontowania na kliencie:

$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client

W naszym przykładzie uruchamiamy następujące polecenie, aby wyeksportować nasz „folder współdzielony” z serwera do folder instalacji „sharedfolder_client” na komputerze klienckim:

$ sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client

Krok 4: przetestuj połączenie

Utwórz lub zapisz plik w folderze eksportu serwera hosta NFS. Teraz otwórz folder montowania na komputerze klienckim; powinieneś być w stanie zobaczyć ten sam plik udostępniony i dostępny w tym folderze.

Wniosek

Konfigurowanie środowiska klient-serwer NFS w systemach Ubuntu jest łatwym zadaniem. W tym artykule dowiedziałeś się, jak zainstalować wymagane pakiety NFS zarówno na serwerze, jak i na klientach. Nauczyłeś się także, jak konfigurować serwer NFS i komputery klienckie, aby foldery mogły być współużytkowane, a następnie płynnie uzyskiwane bez zapory lub usterki związanej z uprawnieniami. Teraz możesz łatwo udostępniać zawartość z jednego systemu Ubuntu do drugiego za pomocą protokołu NFS.

Komentarze