Jak trwoga to do "boga" cz. 1 - VirtualBox, Ubuntu, Bind9
Leo, whay... - wstęp
Ktoś 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.
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.
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".
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ń.
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.
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.
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.
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.
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.
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).
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.
[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ę
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.
Pierwszy komunikat to wybór języka dla instalatora naszego systemu operacyjnego. W tym i przyszłych oknach wszytko zatwierdzamy klawiszem enter.
Wybieramy opcje zainstaluj serwer z menu.
W tym oknie określamy język już samego systemu operacyjnego
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.
Określenie kraju, regionu podczas instalacji.
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.
Określenie ręczne układu klawiatury
Podajemy nazwę sieciowa dla naszego systemu operacyjnego - tzw nazwę hosta.
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.
Tutaj podajemy nazwę systemową, to po tej nazwie system będzie identyfikował użytkownika.
Ustawiamy hasło.
Powtarzamy poprzednio wpisane hasło.
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.
Pytanie o ustawienie szyfrowania naszego katalogu domowego.
Informacja o automatycznym wykryciu strefy czasowej.
Partycjonowanie, wybieramy domyślną opcję.
Ostrzeżenie o skasowaniu danych znajdujących się na dysku. Akceptujemy.
Potwierdzenie zaprezentowanych zmian w partycjonowaniu dysku naszej wirtualnej maszyny.
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.
Pytanie o aktualizacje automatyczne - tutaj nie ma znaczenia co zaznaczymy.
Wybór oprogramowania - można zaznaczyć Open SSH, lub pozostawić poste i zainstalować serwer później.
Instalacja GRUB, głównego programu rozruchowego systemu.
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.
Po konfiguracji VirtualBox, instalacji systemu Ubuntu, zainstalowaniu aktualizacji poleceniem:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Możemy przystąpić do instalacji serwer ssh, jeżeli nie zrobiliście tego podczas wyboru instalacji pakietów.
Instalację serwera openssh wykonamy poleceniem:
sudo apt-get install openssh-server
Działanie serwera ssh można sprawdzic komendą:
sudo /etc/init.d/ssh status
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:
ifconfig
Wystarczy w putty podać tylko prawidłowy adres IP komputera z którym, będziemy się łączyć.
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ń:
cd .., cd, cd home, cd /etc/bind
Polecenie do poruszania się w drzewie katalogów systemu plików.
cp plik_kopiowany miejsce_skopiowanego_pliku
Polecenie do kopiowana
mv nazwa_przenoszonego_pliku nowa nazwa/miejsce_przenoszonego pliku
Polecenie do przenoszenia plików w drzewie katalogów lub do zmiany nazwy.
ls -al
ls-info
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:
chmod 777 nazwa_pliku (nazwa folderu)
chmod 644 nazwa_pliku (nazwa folderu)
lub za pomocą oznaczeń uprawnień w poszczególnych podziałach U, G, O :
chmod ugo+rwx nazwa_liku (nazwa folderu)
chmod u+rw g+r o+r nazwa_pliku (nazwa folderu)
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:
chown kowalski:users nazwa_pliku (nazwa folderu)
- zmiana właściciela na kowalski i grupy na users
ping Sprawdzenie działania konkretnego hosta (komputera lub urzadzenia). Przykład komendy:
ping 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: icmp_seq=1 ttl=64 time=0.026 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.010 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.014 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.011 ms 64 bytes from 127.0.0.1: icmp_seq=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
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.
sudo passwd root
Po utworzeniu hasła dla root zalogujmy sie na niego po przez polecenie:
su -
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:
sudo apt-get update && sudo apt-get upgrade
Potem bez problemu możemy przeprowadzić instalację, wykorzystamy do tego celu polecenie:
apt-get install bind9 mc less bzip2 unzip zip
albo instalujemy każdy pakiet pojedynczo.
apt-get install <nazwa_pakietu>
Po instalacji bind9 przyjdzie nam go skonfigurować. Przechodzimy zatem do katalogu z bindem poleceniem:
cd /etc/bind
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:
mv named.conf.local named.conf.local.old
cp named.conf.deflaut-zones named.conf.local
cp db.local db.lab.lokalne
edytujemy oba utworzone nowo pliki named.conf.local i lab.lokalne oraz wcześniej nie wymieniony resolv.conf
nano /etc/bind/named.conf.local
Definiujemy naszą strefę oraz informujemy binda gdzie ma szukać pliku konfiguracyjnego strefy.
nano /etc/bind/db.lab.lokalne
Plik konfiguracyjny naszej strefy.
nano /etc/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:
named-checkzone lab.lokalne /etc/bind/db.lab.lokalne
Następnie restartujemy binda:
/etc/init.d/bind restart
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:
apt-get install dnsutils
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]