Blog (17)
Komentarze (120)
Recenzje (0)

Jak trwoga to do "boga" cz. 1 - VirtualBox, Ubuntu, Bind9

Strona główna@themamuthJak trwoga to do "boga" cz. 1 - VirtualBox, Ubuntu, Bind9
20.07.2016 17:18

Leo, whay... - wstępKtoś mógłby się zapytać dlaczego przygotowałem te filmiki i niniejszy wpis. Odpowiedź jest prosta, to chęć sławy zmobilizowała mnie do utworzenia mam nadzieję że, nie za długiego wpisu. Odkładając jednak żarty na bok i zdradzając prawdziwy powód powstania wpisu wyłania się na światło dzienne chęć niesienia pomocy młodszym koleżankom i kolegom ze studiów. Materiał jest zatem odpowiedzią na liczne ich pytania o pomoc w opracowaniu i wytłumaczeniu zagadnień poruszanych w prezentowanych laboratoriach.

Dodatkowo pragnę zaznaczyć że, skorzystać mogą z poniższych materiałów wszyscy, nie tylko te osoby które chcą zaliczyć dany przedmiot na ocenę co najmniej pozytywną.

Tak o to powstały filmiki przygotowane i opublikowane na youtube a wpis ten jest swoistym uzupełnieniem, opisem lub nawet można nazwać go komentarzem którego, umieszczenie w filmie wydłużyło by go jeszcze bardziej.

bDTUIuvb

Miejsce akcji w którym będziemy się poruszać można powiedzieć że, jest dwojakie i uzależnione od głównego bohatera którym, jest student Zachodniopomorskiego Uniwersytetu Technologicznego - Wydział Informaty... lub Zachodniopomorskiej Szkoły Biznesu - Wydział Informatyki.

Scenariusz napisało życie a dokładnie to dr inż. Grzegorz Śliwiński o którym, możecie przeczytać na jego stronie. Laboratoria w obu przypadkach są identyczne z małym wyjątkiem dla studentów ZPSB gdzie muszą oni zainstalować maszynę wirtualna na platformie VirtualBox lub VMware Player wraz z proponowanym systemem operacyjnym którym, w tym przypadku jest Ubuntu Serwer. Studenci ZUT mają tą przyjemność pracować na zainstalowanych już środowiskach (również wirtualnych) wraz z skonfigurowanym serwerem SSH. Wszystko jednak zostanie opisane w niniejszym wpisie tak jak już wspominałem na początku. Zatem nie przedłużając tego wstępu zaczynamy.

Studenci ZUT mają jeszcze jedno ułatwienie, gdyż mogą objaśniane prze zemnie laboratoria wykonywać w dwuosobowych grupach (choć z doświadczenia w pomaganiu przy tych laboratoriach nie jest to chyba ułatwieniem - szczególnie tam gdzie dwóch początkujących administratorów, tam nie ma prawa nic działać :))

Czasem by nauczyć się chodzić trzeba pobiec

Laboratoria w zależności od wyboru uczelni różnią się tylko przygotowaniami. Studenci ZUT muszą połączyć się przez SSH a dokładnie przez klienta SSH. Umożliwi im to oprogramowanie putty które, jest zainstalowane na komputerach w sali laboratoryjnej lub/i na pulpicie zdalnym gdy podłączymy się po RDP (RDC). Tak wyprzedzam pytanie, można laboratoria wykonać w domu łącząc się z adresem rdp.wi.ps.pl i na drugich laboratoriach mile zaskoczyć wykładowce oddanym zaliczeniem.

rdc - podłączenie
rdc - podłączenie

Studenci ZPSB będą zmuszeni do skonfigurowania wirtualnej maszyny na VirtualBox lub VMware od zera co zostanie zaprezentowane na zajęciach zerowych wprowadzających do tematyki oraz również w mym materiale wideo. W ramach zajęć można wykorzystywać własny sprzęt.

Szybka konfiguracja VirtualBox

Swoje opracowanie przygotowałem na VirtualBox od firmy Oracle, konfiguracja na VMware jest analogiczna - interfejs tylko troszeczkę się rożni. Tworzenie wirtualnej maszyny w VirtualBox jest stosunkowo proste. W oknie głównym oprogramowania wybieramy ikonkę niebieskiego słoneczka z podpisem "New".

Tworzenie nowej maszyny wirtualnej.
Tworzenie nowej maszyny wirtualnej.

W nowo otwartym oknie nadajemy nazwę naszej maszyny wirtualnej (w polu Name), określamy typ (pole Typ) i wersje naszego systemu (pole Version). Jeżeli nazwa naszej maszyny wirtualnej będzie zbieżna z możliwymi wersjami do wyboru, oprogramowanie podpowie nam automatycznie typ i wersje dla naszej maszyny wirtualnej. Dodatkowo jak nasz procesor jest 64 bitowy zostanie automatycznie podpowiedziana 64 bitowa wersja systemu operacyjnego. Większej różnicy miedzy 32 i 64 bitowym systemem nie ma i wybór wersji nie wpływa na wykonie zadań.

Create Virtual Machine
Create Virtual Machine

Następne okno to określenie przydzielonej pamieć dla naszego systemu operacyjnego. Przydzielmy RAM który, mamy dostępny fizycznie w komputerze więc, tu ostrożnie, ale w zupełności powinno wystarczyć nam 512 MB RAMu dla naszego wirtualnego systemu operacyjnego.

Memory size
Memory size

Tworzenie dysku twardego, a dokładnie to określenie czy chcemy go utworzyć, czy też skorzystać z już istniejącego, wybór formatu oraz zadeklarowanie jego pojemności i położenia.

Hard disk
Hard disk
Hard disk file type
Hard disk file type
Storage on physical hard disk
Storage on physical hard disk

Wybór w oknie "Storage on physical hard disk" opcji Dynamically allocated lub Fixed size spowoduje że, w pierwszym przypadku powierzchnia naszego dysku fizycznego i jednocześnie wirtualnego będzie alokowana dynamicznie, czyli wraz ze wzrostem pojemności danych maszyny wirtualnej, plik obrazu dysku będzie rósł do maksymalnego rozmiaru określanego w następnym oknie. W drugim zaś przypadku zostanie od razu zadeklarowana powierzchnia przydzielona z wizarda. Opcja Fixed size znacznie wpływa na szybkość działania naszej maszyny wirtualnej.

File location and size
File location and size

W tym momencie konfiguracja maszyny wirtualnej przez wizard oprogramowania kończy się. Musimy jeszcze dodatkowo ją do-konfigurować dlatego przechodzimy do górnej części bieżącego okna ze spisem maszyn wirtualnych i zaznaczamy naszą maszynę po czym klikamy na ikonkę pomarańczowego / żółtego koła zębatego.

Settings
Settings

Przechodząc na pozycję storage z lewego bocznego menu w nowo otwartym oknie będziemy mogli podpiąć do naszego wirtualnego napędu obraz systemu Ubuntu w formacie .ISO który to będziemy mogli zainstalować w instancji naszej wirtualnej maszyny.

Settings - Storage
Settings - Storage

Na koniec na zakładce Network przyjdzie nam skonfigurowanie naszego interfejsu sieciowego. Idąc od góry zaznaczamy opcję Enable Network Adapter, Attached to zmieniamy na Bridge Adapter. W pozycji Name wybieramy kontroler z którego będziemy mostkować nasze połączenie, a z rozwijanego podpunktu Advanced określimy typ adaptera (pozycja Adapter Type), Promiscuous mode, MAC Address oraz to czy kabel jest podłaczony (zaznaczona opcja Cabel Connected).

Settings - Network
Settings - Network

W polu Attached to:, możemy określić w jaki sposób nasza maszyna wirtualna będzie komunikować się z naszą siecią - opcja Bridged Adapter pozwoli nam na dostęp do naszego systemu Ubuntu tak jak by był on fizycznie wpięty w tą samą sieć. Na koniec nie zapomnijmy o nadaniu unikatowego numeru MAC dla naszej karty sieciowej.

bDTUIuvh

Uwaga Mogą powstać problemy z oprogramowaniem antywirusowym które, może blokować opcje współdzielenia łącza internetowego - sprawdź to w swoim oprogramowaniu i zezwól na współdzielenie lącza lub w ostateczności wyłącz oprogramowanie antywirusowe na czas korzystania z wirtualnej maszyny. Jeżeli nie masz przydzielanego adresu IP dla komputera po protokole DHCP pamiętaj o ręcznym skonfigurowaniu adresu IP na systemie Ubuntu.

Możemy przystąpić do uruchomienia naszej maszyny wirtualnej. Z górnego menu wybieramy zieloną strzałkę

Start wirtualnej maszyny
Start wirtualnej maszyny

Instalacja systemu Ubuntu Serwer

Instalacja edycji serwer niczym nie różni się od instalacji edycji desktop systemu Ubuntu. Przebieg instalacji zaprezentuje poniżej ale jest on bardzo prosty i intuicyjny.

Ubuntu Serwer - Instalacja 001
Ubuntu Serwer - Instalacja 001

Pierwszy komunikat to wybór języka dla instalatora naszego systemu operacyjnego. W tym i przyszłych oknach wszytko zatwierdzamy klawiszem enter.

Ubuntu Serwer - Instalacja 002
Ubuntu Serwer - Instalacja 002

Wybieramy opcje zainstaluj serwer z menu.

Ubuntu Serwer - Instalacja 003
Ubuntu Serwer - Instalacja 003

W tym oknie określamy język już samego systemu operacyjnego

Ubuntu Serwer - Instalacja 004
Ubuntu Serwer - Instalacja 004

W przypadku tłumaczenia na język polski mamy informacje o tym że, tłumaczenie jest nie kompletne. Rozumieć to należy w ten sposób że gdy system operacyjny w bibliotece tłumaczenia komunikatów nie znajdzie odpowiednika polskiego, wyświetli komunikat w języku angielskim.

Ubuntu Serwer - Instalacja 005
Ubuntu Serwer - Instalacja 005

Określenie kraju, regionu podczas instalacji.

Ubuntu Serwer - Instalacja 006
Ubuntu Serwer - Instalacja 006

Automatyczne wykrywanie układu klawiatury - ja osobiście zalecam wybranie opcji nie i wskazanie ręczne układu klawiatury. Z automatycznym wykrywaniem czasami są problemy.

Ubuntu Serwer - Instalacja 007
Ubuntu Serwer - Instalacja 007

Określenie ręczne układu klawiatury

Ubuntu Serwer - Instalacja 008
Ubuntu Serwer - Instalacja 008
Ubuntu Serwer - Instalacja 009
Ubuntu Serwer - Instalacja 009

Podajemy nazwę sieciowa dla naszego systemu operacyjnego - tzw nazwę hosta.

Ubuntu Serwer - Instalacja 010
Ubuntu Serwer - Instalacja 010

Teraz podajemy widzialna nazwę dla użytkownika w systemie - tzn taka nazwa która będzie używana na przykład do  podpisywania e-mail, itp rzeczy.

Ubuntu Serwer - Instalacja 011
Ubuntu Serwer - Instalacja 011

Tutaj podajemy nazwę systemową, to po tej nazwie system będzie identyfikował użytkownika.

Ubuntu Serwer - Instalacja 012
Ubuntu Serwer - Instalacja 012

Ustawiamy hasło.

Ubuntu Serwer - Instalacja 013
Ubuntu Serwer - Instalacja 013

Powtarzamy poprzednio wpisane hasło.

Ubuntu Serwer - Instalacja 014
Ubuntu Serwer - Instalacja 014

Akceptujemy informacje o słabym haśle. W środowiskach testowych słabe hasło jest akceptowalne. Inaczej ma się to do środowisk produkcyjnych gdzie hasło powinno być jak najbardziej losowe i skomplikowane.

Ubuntu Serwer - Instalacja 015
Ubuntu Serwer - Instalacja 015

Pytanie o ustawienie szyfrowania naszego katalogu domowego.

Ubuntu Serwer - Instalacja 016
Ubuntu Serwer - Instalacja 016

Informacja o automatycznym wykryciu strefy czasowej.

Ubuntu Serwer - Instalacja 017
Ubuntu Serwer - Instalacja 017

Partycjonowanie, wybieramy domyślną opcję.

Ubuntu Serwer - Instalacja 018
Ubuntu Serwer - Instalacja 018

Ostrzeżenie o skasowaniu danych znajdujących się na dysku. Akceptujemy.

Ubuntu Serwer - Instalacja 019
Ubuntu Serwer - Instalacja 019

Potwierdzenie zaprezentowanych zmian w partycjonowaniu dysku naszej wirtualnej maszyny.

Ubuntu Serwer - Instalacja 020
Ubuntu Serwer - Instalacja 020

Jeżeli w waszej sieci znajduje się jakiś serwer pośredniczący w dostępie do internetu podajcie jego adres, jak nie ma pozostawcie to pole puste.

Ubuntu Serwer - Instalacja 021
Ubuntu Serwer - Instalacja 021

Pytanie o aktualizacje automatyczne - tutaj nie ma znaczenia co zaznaczymy.

Ubuntu Serwer - Instalacja 022
Ubuntu Serwer - Instalacja 022

Wybór oprogramowania - można zaznaczyć Open SSH, lub pozostawić poste i zainstalować serwer później.

Ubuntu Serwer - Instalacja 023
Ubuntu Serwer - Instalacja 023

Instalacja GRUB, głównego programu rozruchowego systemu.

Ubuntu Serwer - Instalacja 024
Ubuntu Serwer - Instalacja 024

Koniec instalacji, po zatwierdzeniu nastąpi restart.

Laboratorium 0

Laboratorium zerowe jest swoistym wprowadzeniem do tematu systemu Linux. Na przedmiocie Technologie sieciowe (Sieci komputerowe / Infrastruktura internetu) nacisk bardziej jest na technologie i rozwiązania. Dlatego temat obsługi systemu jest potraktowany bardzo po macoszemu, co nie powinno dziwić szczególnie, że w obu przypadkach wcześniejsze zajęcia o wprowadzeniu do systemów operacyjnych systemów Linux już były. Dlaczego jednak zasada trzech Z (Zakuć, zaliczyć, zapomnieć) jest tak widoczna i odbija się szerokim echem wśród studentów. Możliwe, że jest to spowodowane swoistym stopniem trudności systemu Linux (choć sam tego nie dostrzegam) - po prostu trzeba się do niego przyzwyczaić i zapamiętać że Linux nie równa się Windows. Wróćmy jednak do laboratorium i do tego czego możemy się po nim spodziewać i co musimy zrobić by wykonać dalsze laboratoria.

bDTUIuvi

Po konfiguracji VirtualBox, instalacji systemu Ubuntu, zainstalowaniu aktualizacji poleceniem:

code=shellsudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade/code

Możemy przystąpić do instalacji serwer ssh, jeżeli nie zrobiliście tego podczas wyboru instalacji pakietów.

Instalację serwera openssh wykonamy poleceniem:

bDTUIuvj

code=shellsudo apt-get install openssh-server/code

Działanie serwera ssh można sprawdzic komendą:

code=shellsudo /etc/init.d/ssh status/code

Nasz poradnik ujednolica się i wszystkie różnice dla studentów ZPSB i ZUT się zacierają. Możemy przystąpić do podłączenia się po przez putty do naszego systemu operacyjnego. Jeżeli znamy adres IP maszyny wirtualnej a poznać go możemy poleceniem:

bDTUIuvk

code=shellifconfig/code

Wystarczy w putty podać tylko prawidłowy adres IP komputera z którym, będziemy się łączyć.

Putty
Putty

A po poprawnym podłączeniu na koniec login i hasło naszego użytkownika na którego będziemy się łączyć. Ja podczas konfiguracji użytkownika użyłem słowa user dla określenia loginu i hasła.

Po zalogowaniu możemy przećwiczyć kilka komend które, bardzo przydadzą nam się podczas wykonywania wszystkich ćwiczeń:

code=shellcd .., cd, cd home, cd /etc/bind /code

Polecenie do poruszania się w drzewie katalogów systemu plików.

code=cpcp plikkopiowany miejsceskopiowanegopliku/code

Polecenie do kopiowana

code=shellmv nazwaprzenoszonegopliku nowa nazwa/miejsceprzenoszonego pliku/code

Polecenie do przenoszenia plików w drzewie katalogów lub do zmiany nazwy.

code=shellls -al/code

code=shellls-info/code

Maska uprawnień reprezentuje trzy prawa R - czytanie, W - pisanie, X - otwieranie lub wykonywanie. Prawa te przypisane są trzem różnym obiektom: Użytkownik, Grupa, Pozostali. Istnieją również na początku informacje określające rodzaj danego obiektu plikowego tj.: D - folder (katalog), L - link (skrót), sama kreska - plik. Maska praw może być przedstawiona w postaci liczbowej np. dla obiektu katalogu o nazwie "system" wartość liczbowa odpowiada 700. Wynika to z zapisu praw w masce.

User  Group Other 2^2 2^1 2^0 2^2 2^1 2^0 2^2 2^1 2^0 4 2 1 4 2 1 4 2 1

r w x | r w x | r w x = 777 r w - | r - - | r - - = 644 r w - | r w x | r - x = 675 r w x | r - x | r - x = 755

chmod Maskę uprawnień można zmieniać przy pomocy polecenia "chmod". Przykładowo dla odpowiednich wierszy powyższych informacji:

code=shellchmod 777 nazwapliku (nazwa folderu)/code

code=shellchmod 644 nazwapliku (nazwa folderu)/code

lub za pomocą oznaczeń uprawnień w poszczególnych podziałach U, G, O :

code=shellchmod ugo+rwx nazwaliku (nazwa folderu)/code

code=shellchmod u+rw g+r o+r nazwapliku (nazwa folderu)/code

Przy pomocy znaku "+" dodajemy prawa, a przy pomocy znaku "-" odbieramy prawa.

chown Do zmiany właściciela obiektu lub grupy używa się polecenia "chown" - zmiana obu lub "chgrp" - zmiana wyłacznie grupy. Przykład polecenia:

code=shellchown kowalski:users nazwapliku (nazwa folderu)/code - zmiana właściciela na kowalski i grupy na users

ping Sprawdzenie działania konkretnego hosta (komputera lub urzadzenia). Przykład komendy:

code=shellping 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmpseq=1 ttl=64 time=0.026 ms 64 bytes from 127.0.0.1: icmpseq=2 ttl=64 time=0.010 ms 64 bytes from 127.0.0.1: icmpseq=3 ttl=64 time=0.014 ms 64 bytes from 127.0.0.1: icmpseq=4 ttl=64 time=0.011 ms 64 bytes from 127.0.0.1: icmpseq=5 ttl=64 time=0.009 ms --- 127.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 3996ms rtt min/avg/max/mdev = 0.009/0.014/0.026/0.006 ms/code

W wyniku otrzymujemy statystyki odpowiedzi od hosta. Podany jest numer kolejny odpowiedzi, ilość maksymalna ruterów przez które ten pakiet może przejść oraz czas odpowiedzi na zapytanie ping.

nslookup Polecenie do sprawdzenia informacji DNS (Domain Name Services) o hoscie lub o adresie IP. Polecenie to zawiera własny shell czyli interpreter. Odpytywany jest serwer DNS wskazany w systemie operacyjnych danego hosta. Kolejne pytania mogą być przedstawiane za pośrednictwem nazw lub adresów IP. Przykładowe zapytanie:

xxx@blade3:~$ nslookup > www.wi.ps.pl Server: 82.145.72.2 Address: 82.145.72.2#53

Name: www.wi.ps.pl Address: 82.145.72.60 >

Laboratorium 1 - Bind

Przystąpimy teraz do instalacji serwera DNS. Przed zainstalowaniem pakietu bind9 ustalmy hasło dla użytkownika root by bez problemu mieć dostęp do wszystkich plików oraz wykonać wszystkie niezbędne polecenia do ukończenia tego laboratorium. Równie dobrze powinno wystarczyć podnoszenie uprawnień prze dopisywanie sudo przed danym poleceniem.

code=shellsudo passwd root/code

Po utworzeniu hasła dla root zalogujmy sie na niego po przez polecenie:

code=shellsu -/code

Teraz możemy przystąpić do instalacji pakietu bind9 oraz dodatkowych pakietów mc, less, bzip2, unzip, zip. Zapamiętaj, że przed instalacją jakich kol wiek pakietów szczególnie gdy od ostatniej aktualizacji minełó trochę czasu, warto zaktualizować obecnie zainstalowane oprogramowanie jak i informacje o dostępnych pakietach. Służy do tego polecenie:

code=shellsudo apt-get update && sudo apt-get upgrade/code

Potem bez problemu możemy przeprowadzić instalację, wykorzystamy do tego celu polecenie:

code=shellapt-get install bind9 mc less bzip2 unzip zip/code

albo instalujemy każdy pakiet pojedynczo.

code=shellapt-get install /code

Po instalacji bind9 przyjdzie nam go skonfigurować. Przechodzimy zatem do katalogu z bindem poleceniem:

code=shellcd /etc/bind/code

Wzorując sie na pliku /etc/bind/named.conf.deflaut-zones tworzymy własny wpis w /etc/bind/named.conf.local w którym będą informacje o położeniu pliku naszej strefy lab.lokalne

Wykonujemy następujące polecenia:

code=shellmv named.conf.local named.conf.local.old/code

code=shellcp named.conf.deflaut-zones named.conf.local/code

code=shellcp db.local db.lab.lokalne/code

edytujemy oba utworzone nowo pliki named.conf.local i lab.lokalne oraz wcześniej nie wymieniony resolv.conf

code=shellnano /etc/bind/named.conf.local/code

named.conf.local
named.conf.local

Definiujemy naszą strefę oraz informujemy binda gdzie ma szukać pliku konfiguracyjnego strefy.

code=shellnano /etc/bind/db.lab.lokalne/code

db.lab.lokalne
db.lab.lokalne

Plik konfiguracyjny naszej strefy.

code=shellnano /etc/resolv.conf/code

resolv.conf
resolv.conf

Znajdziemy go w /etc/resolv.conf Tu musimy dodać adres serwer dns - własny adres IP. Informacja o serwerach w których, nasz komputer ma szukać naszej strefy lab.lokalne.

sprawdzamy konfigurację poleceniem:

code=shellnamed-checkzone lab.lokalne /etc/bind/db.lab.lokalne/code

Następnie restartujemy binda:

code=shell/etc/init.d/bind restart/code

Poprawny wynik oznacza, że można przeprowadzić testowanie działania przy pomocy polecenia „nslookup”. Jeżeli polecenie nie jest dostępne w systemie należy doinstalować poleceniem:

code=shellapt-get install dnsutils/code

Wykonanie testowania: Uruchomić „nslookup” Wydać polecenie „server 127.0.0.1” Wydać polecenie "set type=soa" Wydać polecenie „www.lab.lokalne” i sprawdzić wynik:

> www.lab.lokalne Server: 127.0.0.1 Address:  127.0.0.1#53

Name:  www.lab.lokalne Address: 192.168.2.xxx >

Wynik poprawny działania gdzie za xxx powinien być Twój adres IP

Koniec części pierwszej. Zapraszam do materiału wideo. youtube=https://www.youtube.com/watch?v=3VTLQxL7gxc

bDTUIuvX