Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... ·...

4
© Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott 1 Wprowadzenie do zajęć laboratoryjnych Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott Środowisko pracy Podczas zajęć będziemy korzystali ze środowiska wirtualizacyjnego netkit, które powstało na uniwersytecie w Rzymie (UniRoma). Netkit bazuje na maszynach wirtualnych pracujących w konfiguracji user-mode linux (UML Linux). Pełnią one funkcje hostów lub routerów i mogą być łączone w sieć. Zarówno maszyna hosta (host machine), jak i maszyny wirtualne (guest machine) korzystają z systemu operacyjnego Linux. Netkit to środowisko emulacyjne, a nie symulacyjne (!). Dzięki temu wiernie odzwierciedla zachowanie protokołów sieciowych oraz interakcje pomiędzy urządzeniami sieciowymi. Środowisko działasię na komputerze fizycznym host machine (por. Rysunek 1), którym jest PC z odpowiednio dużą pamięcią RAM, by pomieścić kilka maszyn wirtualnych pracujących współbieżnie. Rys. 1. Środowisko Netkit Pełny opis środowiska netkit dostępny jest pod adesem www.netkit.org . Dokumentacja do środowiska: http://wiki.netkit.org/index.php/Main_Page

Transcript of Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... ·...

Page 1: Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... · Interfejs linii poleceń konsoli routera wirtualnego jest zgodny ze składnią stosowaną

© Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott 1

Wprowadzenie do zajęć laboratoryjnych

Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott

Środowisko pracy

Podczas zajęć będziemy korzystali ze środowiska wirtualizacyjnego netkit, które powstało na

uniwersytecie w Rzymie (UniRoma). Netkit bazuje na maszynach wirtualnych pracujących w

konfiguracji user-mode linux (UML Linux). Pełnią one funkcje hostów lub routerów i mogą

być łączone w sieć. Zarówno maszyna hosta (host machine), jak i maszyny wirtualne (guest

machine) korzystają z systemu operacyjnego Linux.

Netkit to środowisko emulacyjne, a nie symulacyjne (!). Dzięki temu wiernie odzwierciedla

zachowanie protokołów sieciowych oraz interakcje pomiędzy urządzeniami sieciowymi.

Środowisko działasię na komputerze fizycznym host machine (por. Rysunek 1), którym jest

PC z odpowiednio dużą pamięcią RAM, by pomieścić kilka maszyn wirtualnych pracujących

współbieżnie.

Rys. 1. Środowisko Netkit

Pełny opis środowiska netkit dostępny jest pod adesem www.netkit.org .

Dokumentacja do środowiska: http://wiki.netkit.org/index.php/Main_Page

Page 2: Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... · Interfejs linii poleceń konsoli routera wirtualnego jest zgodny ze składnią stosowaną

© Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott 2

Interfejs użytkownika

Środowisko pracy przedstawia poniższy obraz ekranu (Rys. 2). Okna w lewej części rysunku

to konsole do hostów wirtualnych. Okno po prawej stronie to konsola do hosta PC, na

którym prowadzone są eksperymenty.

Rys. 2. Interfejs użytkownika środowiska

Maszyny wirtualne mogą być wyposażone w kilka interfejsów sieciowych (wirtualnych),

przez co maszyny te mogą emulować fizyczne urządzenia sieciowe, na przykład routery. Na

maszynach wirtualnych routing jest obsługiwany przez oprogramowanie Quagga (dawniej

Zebra). Quagga to demon rutingu, który wspiera m.in. RIP, OSPF oraz BGP. W toku zajęć

będziemy korzystać z tych protokołów.

Korzyści ze stosowania środowiska wirtualnego

Jest kilka powodów, dla których zajęcia są oparte na środowisku Netkit. Najważniejsze to:

Każdy student może indywidualnie zarządzać całą siecią i ma nad nią pełną kontrolę.

Każdy student może zarządzać równocześnie wieloma urządzeniami, z których każde

jest skonfigurowane w inny sposób. W przypadku rozbudowanych ćwiczeń

laboratoryjnych liczba tych urządzeń wynosi 9 ÷ 11.

Page 3: Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... · Interfejs linii poleceń konsoli routera wirtualnego jest zgodny ze składnią stosowaną

© Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott 3

Do realizacji ćwiczeń zaawansowanych student otrzymuje środowisko, które jest

zawczasu prekonfigurowane według określonego scenariusza, co pozwala skupić się

na istotnych elementach ćwiczenia, wartościowych z punktu widzenia poznawczego.

To poprawia efektywność pracy.

Środowisko wirtualne oferuje swobodny dostęp do wszystkich funkcji związanych z

konfiguracją i diagnozowaniem stanu sieci.

Środowisko wirtualne emuluje sieć, co oznacza, że wiernie odzwierciedla zachowanie

protokołów sieciowych oraz interakcje pomiędzy urządzeniami sieciowymi. Jest to

duża zaleta w stosunku do symulatorów (np. ns-2 , ns-3), które zwyczajowo

koncentrują się na wybranych aspektach funkcjonowania protokołu lub systemu.

Netkit korzysta ze stabilnych implementacji protokołów oraz z podsystemów

wspomagających oprogramowanie Zebra/Quagga. Dzięki temu jest w dużej mierze

wolny od błędów.

Interfejs linii poleceń konsoli routera wirtualnego jest zgodny ze składnią stosowaną

w routerach Cisco. Zdobyta tutaj praktyka może być w całości wykorzystana podczas

pracy z urządzeniami fizycznymi, bez potrzeby uzupełniania umiejętności.

Netkit pozwala zbudować środowisko hybrydowe, tzn. połączyć sieć emulowaną z

rzeczywistą, fizyczną siecią.

Środowisko Netkit można zainstalować w domu na systemie Linux korzystając z

informacji zamieszczonych na stronie www.netkit.org i samodzielnie powtórzyć

ćwiczenie laboratoryjne po zajęciach lub zmodyfikować ćwiczenie wykonane podczas

zajęć.

Przygotowanie do zajęć

1. Podczas uruchamiania komputera w laboratorium należy wybrać system netkit. Jest

tam zainstalowane oprogramowanie netkit.

2. Login do systemu to student . Hasło to student. Przy pierwszym uruchomieniu

użytkownik zostaje automatycznie zalogowany.

3. Należy upewnić się, że zmienne środowiskowe dotyczące oprogramowania netkit są

ustawione prawidłowo poleceniem env w oknie konsoli. Spodziewany wynik:

NETKIT_HOME=/home/student/netkit

MANPATH=/home/student/netkit/man

PATH=/home/student/netkit/bin:/… … …

4. Instrukcje do ćwiczeń oraz skrypty są dostępne na stronie przedmiotu

http://www.kt.agh.edu.pl/~pacyna zakładka Lectures, następnie SieciIP.

5. Jeżeli instrukcji do ćwiczenia towarzyszą przygotowane zawczasu skrypty, należy je

rozpakować.

6. Do uruchomienia skryptów służy komenda lstart. Należy ją wykonać w katalogu,

który powstaje podczas rozpakowywania pobranego pliku zawierającego skrypty

uruchomieniowe.

Page 4: Wprowadzenie do zajęć laboratoryjnych - kt.agh.edu.plpacyna/lectures/sieciIP/about/sieciIP... · Interfejs linii poleceń konsoli routera wirtualnego jest zgodny ze składnią stosowaną

© Piotr Pacyna, Katarzyna Kosek-Szott, Szymon Szott 4

7. Należy pamiętać, że systemy plików maszyn wirtualnych „guest” są odrębne od

systemu plików komputera „host”, na którym są uruchomione. Niemniej jednak

istnieje możliwość przekazania pliku z maszyny wirtualnej do systemu plików „hosta”.

“Inside every virtual machine there is a special directory named /hosthome. This

directory points to your home directory on the host (typically, /home/<username>).

Hence, anything you write into /hosthome will be made available on the host, and you

can bring host files into your virtual machine as well”.

8. Standardowo, maszyny wirtualne nie są podłączone do sieci publicznej (nie korzystają

z karty sieciowej “host’a”. Istnieje jednak możliwość podłączenia ich do publicznego

Internetu, na przykład w celu zainstalowania dodatkowych pakietów

oprogramowania na maszynie wirtualnej. Sposób realizacji podłączenia określa

instrukcja FAQ: http://wiki.netkit.org/index.php/FAQ#Frequently_Asked_Questions ,

patrz Netkit Usage “I would like to set up a lab with a virtual machine connected

to the Internet. How can I do that?”

9. Po zakończeniu ćwiczenia należy zatrzymać maszyny wirtualne (komendami lhalt

lub lcrash).

10. Po zakończeniu zajęć proszę wyłączyć komputer.

Praca ze środowiskiem netkit

Środowisko netkit może być kontrolowane przez użytkownika za pośrednictwem poleceń

uruchamiających, zawieszających (hibernujących) oraz trwale usuwających maszyny

wirtualne. Polecenia są dostępne z poziomu wiersza poleceń (konsoli) komputera, na którym

prowadzone są eksperymenty. Dostępne są polecenia:

lstart lclean

lcrash lhalt

linfo lrestart

ltest vclean

vconfig vstart

vhalt vcrash

vlist

Proszę zapoznać się ze znaczeniem tych poleceń oraz użyć każdego z nich, aby zobaczyć

efekty działania.

Proszę samodzielnie powołać do działania kilka maszyn wirtualnych w taki sposób, by

tworzyły sieć komputerową. Proszę to osiągnąć na dwa sposoby: a) z poziomu konsoli, b)

poprzez plik pliki konfiguracyjny definiujący laboratorium (lab.conf).

Wszelkie pytania proszę kierować do prowadzących.

Życzymy owocnej pracy :-)