Środowisko wielo-serwerowe linux

Laboratoria mają na celu uruchomienie współdzielenia zasobów sieciowych pomiędzy serwerami Linux z wykorzystaniem protokołu NFS oraz stworzenie jednorodnego środowiska użytkownika tej sieci z wykorzystaniem usługi katalogowej OpenLDAP.

Wymagania laboratorium:

  • dwa serwery linux
  • zainstalowanie na jednym z nich usługi OpenLDAP
  • przygotowanie udostępnienia NFS Share dla drugiego serwera

Przygotowanie nowego serwera Ubuntu – klient usługi.

Bazując na wcześniejszych laboratoriach ( lab 4 i lab 1) przygotuj nową maszynę wirtualną Ubuntu 20.04 o podanych poniżej parametrach wraz z zainstalowanym systemem operacyjnym Ubuntu.

  • CPU: 2 wirtualny procesor
  • RAM: 2 GB pamięci
  • DYSK: 10 GB jako urządzenie SCSI

Po zakończonej instalacji systemu proszę w pierwszej kolejności zaktualizować system  i następnie doinstalować na kliencie pakiet nfs-common. Będzie on niezbędny do wykonania montowania (przyłączenia) udziału udostępnionego po NFS.

 


Przygotowanie serwera NFS

Na maszynie wirtualnej którą aktualnie używasz (poprzednie laboratoria) po aktualizacji systemu ( apt update; apt upgrade) zainstaluj pakiet nfs-kernel-server. Jest to usługa dystrybucji folderów i plików na zdalną maszynę (klienta) z wykorzystaniem protokołu NFS

Po zainstalowaniu pakietu należy skonfigurować udostępnienia. W tym celu edytuj plik /etc/exports i wewnątrz dodaj na końcu wpis udostępnienia folderu /home.

odpowiednio należy wskazać w konfiguracji:

  • ścieżka do udostępnienia
  • adres IP klienta dla którego udostępniamy
  • parametry udostępnienia: rw – odczyt/zapis; sync – tryb natychmiastowej synchronizacji; no_subtree_check – brak sprawdzania struktury folderów; no_root_squash – nie odejmowanie uprawnień użytkownika root = na każdym serwerze tj. kliencie i serwerze NFS root ma te same prawa do udostępnienia

Na obrazku jest przykładowy adres IP – Ty będziesz miał inny adres IP 😉

Zapisz konfigurację i zrestartuj usługę nfs-kernet-server

Na serwerze klienta możesz sprawdzić czy udział jest dla ciebie dostępny poprzez polecenia showmount

Przetestuj możliwość podłączenia do swojego systemu udostępnienia przy pomocy polecenia

mount -t nfs adres_ip_maszyny_serwera_nfs:/home /mnt

Wykonując polecenie mount zobaczysz przypięte systemy plików w tym podłączony udział

lub używając polecenia df -h także możesz potwierdzić poprawność przyłączenia

po stronie klienta możesz zobaczyć zawartość folderu home z serwera NFS który został podłączony do folderu /mnt

Zauważyć możesz również że nie poprawnie wyświetlane są dane o właścicielach i grupach. Powodem problemu jest niezgodność baz danych o użytkownikach i grupach.

Aby to wyeliminować i doprowadzić do integralności danych należy uruchomić usługę integrującą w postaci usług katalogowych OpenLDAP

 


Uruchomienie usługi OpenLDAP WYŁĄCZNIE po stronie serwera usługi NFS

    1. Zainstaluj pakiety:
      • slapd” (zapyta o hasło dla administratora LDAP)
      • ldap-utils
    2. Poniżej wykonaj:
      • wykonaj „dpkg-reconfigure slapd”
      • Ekran 1 : NIE
      • Ekran 2 : zamień domenę „nodomain” na „lab.pl”
      • Ekran 3 : zamień „nodomain” na „lab.pl”
      • Ekran 4 : Podaj hasło administratora bazy LDAP
      • Ekran 5 : Powtórz hasło
      • Ekran 6 : „Remove old …” : NIE
      • Ekran 7 : „Move old data” : TAK
    3. Instalacja SLAPD w folderze /etc/ldap poprawiamy zawartość pliku ldap.conf uzupełniając BASE i URI właściwymi informacjami (zauważ do czego służy znak „#”):
      • BASE dc=lab,dc=pl
      • URI ldap://localhost
    4. Ze strony http://jxplorer.org/pobrać JXplorer w aktualnej wersji dla systemu Windows lub jeśli instalacja jest nie możliwa to pobierz zip ze strony googla i rozpakuj go w katalogu, a następnie uruchom jxplorer.bat
    5. Należy zainstalować JXplorer (Dla WI uruchom program dostępny na serwerze terminali windows – dysk H: folder jxplorer)
    6. Konfiguracja połączenia:
      • Host: 192.168.203.xxx
      • Port: 389
      • Base DN: dc=lab,dc=pl
      • Level: User + Password
      • User DN: cn=admin,dc=lab,dc=pl
      • Password: (hasło podane w czasie instalacji pakietu slapd)

7. Po wykonaniu połączenia będzie widoczne drzewo usługi z użytkownikiem admin

8. Tworzenie nowego użytkownika (na obiekcie kontener -> menu kontekstowe /prawy klawisz myszy/ -> New — wybieramy podane ponizej clasy):

      • Nazwa: user1
      • UIDNumber: 10000
      • GIDNumber: 100
      • HomeDirectory: /home/user1
      • UID: user1
      • Sn: jakieś nazwisko
      • userPassword: u1
      • Kasy obiektu LDAP: Top, Person, PosixAccount, SimpleSecurityObject

 

9. Po zakończeniu tworzenia konta zatwierdzamy wprowadzone dane poprzez SUBMIT

10. Wracamy do konsoli PuTTy

11. Testujemy działanie komend ldapsearch
Wymagane parametry:

      • –x
      • –LLL

12. Wynikiem powinno być wyświetlenie całej zawartości drzewa LDAP

(jeśli masz błąd (32) to sprawdź wpisy w pkt 3.)

13. Tworzymy folder użytkownika user1 który będzie jego katalogiem domowym (/home/user1) i nadajemy uprawnienia do tego folderu tj.:

chown 10000:100 /home/user1

Przy wykorzystaniu LDAP uzyskać można wspólną bazę usług katalogowych dla wielu serwerów



Podpięcie systemu do usługi OpenLDAP – operacja dla serwera i klienta

Uruchamiamy integrację systemu operacyjnego z LDAP. W tym celu musimy zainstalować dodatek rozszerzający możliwości systemu operacyjnego:

  • libnss-ldap

2. W trakcie instalacji system poprosi o podanie danych pozwalających na przyłączenie się do LDAP (podaj wyłącznie w tej linii !!!!! : 127.0.0.1 dla serwera, a w przypadku uruchamiania na kliencie podaj adres IP serwera):

UWAGA! : zmieniona domena LDAP na: dc=lab,dc=pl

LDAP version: 3

Ustawiamy konto root jako admina LDAP

Włączamy wymaganie logowania do dostępu do bazy LDAP

LDAP account for root: cn=admin,dc=lab,dc=pl

Podać właściwe hasło dla użytkownika ADMIN (podane w poprzednim laboratorium)

Wskazać jako użytkownika uprzywilejowanego na: cn=admin,dc=lab,dc=pl

Podać właściwe hasło (jak było wcześniej)

3. Zmieniamy ustawienia w pliku „/etc/ldap.conf

  • Przestawiamy SCOPE na „SUB”

  • Włączamy obsługę przesyłania jawnych haseł

  • Zapisujemy modyfikacje w pliku…

4. Dopisujemy obsługę LDAP do „/etc/nsswitch.conf

  • Dopisujemy wykorzystanie bazy LDAP

  • Zapisujemy modyfikacje…

5. Jeżeli wykonaliśmy wszystko poprawnie powinni być widoczni użytkownicy z bazy LDAP. Można to sprawdzić przy pomocy polecenia „id” ze wskazaniem nazwy użytkownika np.:

id user1

W wyniku otrzymamy informacje o użytkowniku user1 (jego UID i GID)

uid=10000(user1) gid=100(users) grupy=100(users)


6. Powtarzamy powyższe czynności dla drugiej maszyny wirtualnej (klienta) – TUTAJ

 



Umożliwienie uwierzytelnienia do usługi OpenLDAP – operacja dla serwera i klienta

1. Zainstaluj pakiet „libpam-ldap„. Prawdopodobnie otrzymasz komunikat, że pakiet jest już zainstalowany. Został dołączony przy poprzednim laboratorium.

2. Następujące polecenia powinny być rozpoznawane prawidłowo w systemie:

id user1
cd ~user1    (tylko po ponownym zalogowaniu się do putty)

3. System PAM wykorzystuje ten sam plik konfiguracji („/etc/ldap.conf„) jak libnss-LDAP. System automatycznie również skonfiguruje dostęp w systemie PAM wewnątrz katalogu /etc/pam.d należy jedynie sprawdzić poprawność wpisów.
NIE WOLNO NIC ZMIENIAĆ – tylko sprawdzić !!!!!!!!!!!!! czy występują w każdym pliku pozycje na czerwono !!! Jeśli tak o wszystko OK.

4. Prawidłowa postać wszystkich wpisów:

common-account:


common-auth:


common-password:


common-session:


common-session-noninteractive:


5. Prawidłowo wykonane wpisy po zrestartowaniu usługi SSH powinny pozwolić na zalogowanie się przy pomocy użytkownika z LDAP do systemu.

restart: service ssh restart

6. Połączenie wykonujemy przez kolejną sesję SSH (nowa sesja) i logowaniu się użytkownikiem i hasłem z LDAP

7. Powtarzamy czynność umożliwienia uwierzytelnienia na maszynie wirtualnej klienta – TUTAJ


Test kompetencji

Do wykonania testu niezbędne jest uzyskanie oceny z poprzedniego 3-ciego testu dostępnego na tej samej platformie https://e-edukacja.zut.edu.pl/course/view.php?id=976

Link do testu: https://e-edukacja.zut.edu.pl/mod/quiz/view.php?id=23071