Završni praktični zadatak – Modul 21 – Virtuelizacija i laboratorijsko okruženje
Cilj
Samostalno isprojektovati i izgraditi segmentisanu virtuelnu laboratoriju sa tri mrežna segmenta, centralnom ruter VM, selektivnim filtriranjem saobraćaja, i kompletnom strategijom zaštite (snapshot + backup) — objedinjujući sve veštine ovog modula bez oslanjanja na prethodne primere.
Scenario
Firma „Kalidon Solutions" traži od vas da napravite internu laboratoriju za obuku novih mrežnih administratora, sa tri odvojena segmenta koji simuliraju: internu kancelariju, gostinsku mrežu, i osetljiv serverski segment — replicirajući principe iz Modula 9 i 16 potpuno unutar virtuelnog okruženja.
Zahtevi zadatka
- Kreirajte centralnu ruter VM sa najmanje tri Internal Network adaptera (po jedan za svaki segment), jednim Host-only adapterom (za vaš upravljački pristup), i jednim NAT adapterom (za internet pristup segmenata koji treba da ga imaju).
- Konfigurišite IP forwarding i odgovarajuće statičke adrese na svakom interfejsu centralne VM.
- Kreirajte ili ponovo iskoristite klijentske VM-ove na svakom od tri segmenta (interna kancelarija, gostinska mreža, serverski segment), sa ispravnim IP konfiguracijama i default gateway-ima.
- Konfigurišite iptables/UFW pravila na centralnoj VM tako da: interna kancelarija ima pristup serverskom segmentu i internetu; gostinska mreža ima pristup isključivo internetu, bez pristupa druga dva segmenta; serverski segment nema inicijativu pristupa ka spolja (samo prima konekcije).
- Testirajte i dokumentujte svih šest kombinacija pristupa (koja tri segmenta smeju/ne smeju da dosegnu koja druga tri, plus internet za svaki).
- Napravite snapshot centralne VM nakon potvrde funkcionalnosti, i izvezite je u OVA format na eksternu lokaciju.
- Namerno unesite jednu grešku po vašem izboru (npr. zaboravljen IP forwarding na jednom interfejsu, pogrešno iptables pravilo, ili pogrešan gateway na klijentu) i dokumentujte tačno kako se problem manifestuje, zatim ga ispravite.
Ograničenja i pravila
- Sva tri segmenta moraju biti implementirana kao Internal Network adapteri, ne Bridged (radi izolacije od stvarne kućne/kancelarijske mreže).
- Filtriranje saobraćaja mora biti implementirano na nivou centralne VM (iptables/UFW), ne oslanjanjem samo na odsustvo rute.
- Dijagnostika namerno unete greške mora pratiti sistematski redosled (adapter → IP → forwarding → firewall pravilo), ne nasumično nagađanje.
Šta predati
- Dijagram topologije sa svim segmentima, adresama i namenom svakog (može biti ručno nacrtan ili Mermaid).
- Kompletna Netplan konfiguracija centralne VM i iptables/UFW pravila.
- Dokaz svih šest testiranih kombinacija pristupa (zahtev 5).
- Potvrda da su i snapshot i OVA export napravljeni.
- Dokumentacija namerno unete greške iz zahteva 7 (pre i posle ispravke).
Kriterijumi ocenjivanja
| Kriterijum | Broj poena |
|---|---|
| Ispravna topologija sa tri segmenta i centralnom ruter VM | 15 |
| Ispravna mrežna konfiguracija i IP forwarding | 15 |
| Ispravno konfigurisana selektivna segmentacija (svih šest kombinacija tačne) | 30 |
| Napravljen i snapshot i OVA export | 15 |
| Tačna dijagnostika i objašnjenje namerno unete greške (zahtev 7) | 25 |
| Ukupno | 100 |
Rešenje
Kompletno rešenje dostupno je u /resenja/modul-21/08-zavrsni-zadatak-resenje.md.
📖 Prikaži rešenje
Rešenje završnog zadatka – Modul 21
Topologija
ROUTER1 (centralna VM)
├── enp0s3 (Internal Network "KANCELARIJA"): 192.168.1.1/24
├── enp0s4 (Internal Network "GOSTI"): 192.168.2.1/24
├── enp0s5 (Internal Network "SERVERI"): 192.168.3.1/24
├── enp0s6 (Host-only): 192.168.56.40/24
└── enp0s7 (NAT): DHCP
| Segment | Klijent | Adresa | Gateway |
|---|---|---|---|
| KANCELARIJA | PC-Kancelarija | 192.168.1.50 | 192.168.1.1 |
| GOSTI | PC-Gost | 192.168.2.50 | 192.168.2.1 |
| SERVERI | Server-Interni | 192.168.3.10 | 192.168.3.1 |
Netplan konfiguracija ROUTER1
network:
version: 2
ethernets:
enp0s3:
addresses: [192.168.1.1/24]
enp0s4:
addresses: [192.168.2.1/24]
enp0s5:
addresses: [192.168.3.1/24]
enp0s6:
addresses: [192.168.56.40/24]
enp0s7:
dhcp4: true
$ sudo sysctl -w net.ipv4.ip_forward=1
$ echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
iptables pravila (segmentacija po zahtevu 4)
# Podrazumevana politika: odbaci sve što nije eksplicitno dozvoljeno
$ sudo iptables -P FORWARD DROP
# 1. Kancelarija -> Serveri: dozvoljeno
$ sudo iptables -A FORWARD -i enp0s3 -o enp0s5 -j ACCEPT
$ sudo iptables -A FORWARD -i enp0s5 -o enp0s3 -m state --state ESTABLISHED,RELATED -j ACCEPT
# 2. Kancelarija -> Internet: dozvoljeno
$ sudo iptables -A FORWARD -i enp0s3 -o enp0s7 -j ACCEPT
$ sudo iptables -A FORWARD -i enp0s7 -o enp0s3 -m state --state ESTABLISHED,RELATED -j ACCEPT
# 3. Gosti -> Internet: dozvoljeno
$ sudo iptables -A FORWARD -i enp0s4 -o enp0s7 -j ACCEPT
$ sudo iptables -A FORWARD -i enp0s7 -o enp0s4 -m state --state ESTABLISHED,RELATED -j ACCEPT
# 4. Gosti -> Kancelarija/Serveri: NEMA pravila (podrazumevani DROP pokriva)
# 5. Serveri -> bilo gde (inicijativa): NEMA pravila (podrazumevani DROP pokriva,
# osim ESTABLISHED/RELATED povratnog saobraćaja iz pravila 1)
$ sudo iptables-save | sudo tee /etc/iptables/rules.v4
Test svih šest kombinacija (zahtev 5)
| Test | Očekivano | Rezultat |
|---|---|---|
| Kancelarija → Serveri | Dozvoljeno | ping 192.168.3.10 sa PC-Kancelarija uspeva |
| Kancelarija → Internet | Dozvoljeno | ping 8.8.8.8 sa PC-Kancelarija uspeva |
| Gosti → Kancelarija | Blokirano | ping 192.168.1.50 sa PC-Gost ne uspeva |
| Gosti → Serveri | Blokirano | ping 192.168.3.10 sa PC-Gost ne uspeva |
| Gosti → Internet | Dozvoljeno | ping 8.8.8.8 sa PC-Gost uspeva |
| Serveri → Kancelarija (inicijativa) | Blokirano | ping 192.168.1.50 sa Server-Interni ne uspeva (samo odgovor na već uspostavljenu konekciju iz Kancelarije prolazi) |
Snapshot i OVA export (zahtev 6)
VirtualBox Manager → ROUTER1 → Take Snapshot → "Segmentacija-3-zone-funkcionalna"
VirtualBox Manager → File → Export Appliance → ROUTER1 → /Volumes/Backup/ROUTER1-Kalidon.ova
Test i dijagnostika (zahtev 7)
Namerno uneta greška (primer): Pravilo za „Kancelarija → Internet" postavljeno je posle podrazumevanog DROP (dodato kao poslednje pravilo umesto pre podrazumevane politike, usled greške u redosledu unosa komandi).
Manifestacija: ping 8.8.8.8 sa PC-Kancelarija ne uspeva, iako je pravilo naizgled ispravno definisano — sudo iptables -L FORWARD -v -n --line-numbers pokazuje da je politika lanca već DROP primenjena pre nego što se stigne do tog pravila u obradi (u iptables-u, podrazumevana politika lanca deluje tek nakon što se sva eksplicitna pravila u lancu redom provere i nijedno ne odgovara — pravi uzrok ovde bi bio, na primer, slučajno dupliran restriktivniji DROP unet ranije u lancu koji odgovara tom istom saobraćaju pre nego što stigne do ACCEPT pravila).
Dijagnostika: sudo iptables -L FORWARD -v -n --line-numbers prikazuje tačan redosled i brojače pogodaka po pravilu — pravilo koje pokazuje rastući broj pogodaka za taj saobraćaj, a nalazi se pre odgovarajućeg ACCEPT pravila, identifikuje se kao uzrok.
Ispravka:
$ sudo iptables -D FORWARD <broj-pogrešnog-pravila>
$ sudo iptables -I FORWARD 1 -i enp0s3 -o enp0s7 -j ACCEPT
Nakon ispravke, ping 8.8.8.8 sa PC-Kancelarija ponovo uspeva.
Napomena za ocenjivača
Prihvatljiva je bilo koja validna šema adresiranja i konkretan izbor namerne greške, dokle god: (1) sva tri segmenta su implementirana kao Internal Network adapteri, (2) IP forwarding je uključen i trajno sačuvan, (3) svih šest kombinacija pristupa iz zahteva 5 je tačno testirano i dokumentovano sa ispravnim rezultatima, (4) i snapshot i OVA export postoje, i (5) dijagnostička vežba jasno pokazuje uzrok, manifestaciju i ispravku namerno unete greške koristeći sistematski redosled provere (adapter → IP → forwarding → firewall pravilo).