VirtualBox je instaliran i pokrenut na računaru. U tekstu je korišćena 64-bit verzija Ubuntu servera 14.04 LTS. Prethodno je neophodno download-ovati .iso fajl. Naziv fajla je ubuntu-14.04.2-server-amd64.iso. Ime fajla može da se delimično razlikuje, a moguće je koristiti i 32-bit verziju, kada se ime fajla završava sa -i386.iso umesto -amd64.iso.
U VirtualBox-u potrebno je kreirati novu virtualnu mašinu (New). Nazvaćemo je “osnovna”. Dva parametra koja moraju da se podese su:
Pre startovanja virtualne mašine neophodno je promeniti podešavanja mrežnih adaptera (Settings/Network). U VirtualBox-u je podrazumevano dostupan samo prvi adapter, ali moguće je koristiti do četiri mrežna adaptera. Sve ćemo ih omogućiti (iako možda nećemo sva četiri koristiti).
Adapter 1 je prekonfigurisan da koristi NAT (Network Address Translation) VirtualBox-a. To omogućava VM da ima pristup internetu, ali ne da se ponaša kao server ili da ima kontakt sa ostalim VM. Tako da, ako npr. imamo tri VM node1, node2 i node3, konfiguracija koja koristi samo NAT bi izgledala kao na slici.
Mi želimo da naša mreža ima čvorove koji međusobno komuniciraju. Primer toplologije mreže sa nodovima koji međusobno komuniciraju je prikazana na slici.
Adapter 1 je dostupan i konfigurisan da koristi NAT. Tip adaptera (Adapter Type) može da se promeni na Paravirtualized Network (virtio-net). Ova promena u izvesnoj meri poboljšava performanse mreže. Naravno, ovaj korak nije obavezan i sve bi trebalo da radi i bez promene podešavanja.
Sada je potrebno uključiti (Enable Network Adapter) ostale adaptere (2, 3 i 4). Za svaki adapter postaviti sledeće parametre:
Konfigurisanje sva četri mrežna adaptera na osnovnoj VM olakšava konfigurisanje nodova kloniranih od osnovne VM.
Kada se startuje VM po prvi put (Start), VirtualBox traži da se izabere disk (.iso fajl) sa koga se podiže sistem. Tada treba izabrati prethodno zapamćen Ubuntu iso fajl.
Instaliranje Ubuntu-a je prilično lako. Većina početnih (default) opcija je odgovarajuća, neka podešavanja mogu biti prilagođena potrebama (jezik, tastatura, vremenska zona isl.). Ipak par opcija je neophodno promeniti. To su:
Na kraju procesa instalacije treba izabrati opciju dalje (Continue) da bi se VM restartovala. Nakon ponovnog (automatskog) pokretanja VM treba uneti korisničko ime i lozinku (student, student#pmf). Ako je sve odradjeno kako treba trebalo bi da se pojavi:
student@osnovna:~$
što znači da je korisnik student uspešno prijavljen na VM osnovna i da je trenutni direktorijum home (~).
Kada je Ubuntu instaliran i pokrenut, potrebno je update-ovati postojeće softverske pakete i instalirati neke dodatne. Za ovaj proces koristićemo alat apt-get
.
student@osnovna:~$ sudo apt-get update student@osnovna:~$ sudo apt-get upgrade student@osnovna:~$ sudo apt-get install traceroute nano iptables ufw
Osnovni sistem ima 4 mrežna interfejsa. Pri konfiguraciji mreže u VirtualBox-u mi smo definisali da koristimo 2 mrežna interfejsa (Adapter 1 i Adapter 2):
eth0
(odgovara Adapter 1 podešavanju u VirtualBox-u) se koristi za pristup internetu. On je konfigurisan od strane DHCP servera VirtualBox-a. Nema potrebe da se bilo šta menja vezano za eth0
.eth1
(Adapter 2) se koristi za internu mrežu (da bi se konektovali na druge VM). Mi ćemo manuelno podesiti adresu ovog interfejsa prema našim potrebama.eth2
(Adapter 3) se koristi na isti način kao i et
h
1
. Ipak, inicijalno smo podesili u VirtualBox-u da kabal nije konektovan. Ovaj interfejs može da se koristi u drugačijim topologijama mreže.eth3
(Adapter 4) se koristi isto kao i eth2
.Konfigurisanje interfejsa se kod Debian/Ubuntu distribucija vrši u fajlu /etc/network/interfaces. Da bi smo promenili podešavanja potrebno je otkucati:
student@osnovna:~$ sudo nano /etc/network/interfaces
Linije vezane za lo
i eth0
interfejse nije potrebno menjati. Na kraju fajla bi trebalo dodati sledeće linije:
auto eth1 iface eth1 inet static address 192.168.1.11 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 post-up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.11 dev eth1 pre-down route del -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.11 dev eth1 #auto eth2 #iface eth2 inet static # address 192.168.2.2 # netmask 255.255.255.0 # network 192.168.2.0 # broadcast 192.168.2.255 # post-up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.2.2 dev eth2 # pre-down route del -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.2.2 dev eth2 #auto eth3 #iface eth3 inet static # address 192.168.3.3 # netmask 255.255.255.0 # network 192.168.3.0 # broadcast 192.168.3.255 # post-up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.3.3 dev eth3 # pre-down route del -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.3.3 dev eth3
U fajl su dodate linije koje podešavaju eth1
. Linije vezane za eth2
i eth3
su stavljene u komentaru, trenutno nisu potrebne. Ukoliko je potrebno, moguće je ukloniti komentare i izmeniti da prate odgovarajuću topologiju mreže.
Nisu sve linije potrebne za sve interfejse. U zavisnosti od konfiguracije mreže, možda nije potrebno definisati post-up
i pre-down
linije. Takođe, moguće je u zavisnosti od potreba prilagoditi adrese ili maske.
Da bi promene bile vidljive potrebno je restartovati VM:
student@osnovna:~$ sudo reboot
Nakon pokretanja i prjave izvršiti komandu:
student@osnovna:~$ netstat -rn
Kernel IP routing table | |||||||
---|---|---|---|---|---|---|---|
Destination | Gateway | Genmask | Flags | MSS | Window | irtt | Iface |
0.0.0.0 | 10.0.2.2 | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
10.0.2.0 | 0.0.0.0 | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
192.168.0.0 | 192.168.1.11 | 255.255.0.0 | UG | 0 | 0 | 0 | eth1 |
192.168.1.0 | 0.0.0.0 | 255.255.255.0 | U | 0 | 0 | 0 | eth1 |
Objašnjenje: VirtualBox konfiguriše eth0
tako da ip adresa pripada opsegu 10.0.2.0/24. Osnovna ruta za sve adrese je preko 10.0.2.2 (adresa VirtualBox rutera). Podrazumevano, virtualne mreže su definisane u podmreži 192.168.0.0/16. Post-up
linija dodaje novu rutu u tabeli rutiranja, koja postaje osnovna ruta za sve adrese iz podmreže 192.168.0.0/16, tj. za sve virtualne mreže.
Primer: Ako se zahteva komunikacija sa adresom 64.233.160.12 (jedna od www.google.com adresa) komunikacija se ostvaruje preko gateway-a 10.0.2.2 (tj. preko eth0
). Međutim, ako želimo da komuniciramo sa adresom 192.168.1.12 onda se ide preko gateway-a 192.168.1.11 (tj. preko eth1
).
Prethodni koraci konfigurišu osnovnu VM tako da, kada se klonira i kreiraju čvorovi, bude lako da se čvorovi konfigurišu.
Prvo je potrebno kreirati snapshot osnovne VM. Ovaj snapshot, koji je verzija osnovne VM u određenom trenutku, će biti kloniran.
Postupak je sledeći:
Ovim korakom je završena priprema virtualne mašine za izradu virtualne mreže. U daljem tekstu su u obliku zadataka dati primeri topologije mreže i način njihove izrade.