Laboratorijska vežba – Modul 13 – DHCP, DHCP Relay, DNS i NAT (static + PAT)
Cilj vežbe
Konfigurisati centralni ruter kao DHCP server za sopstvenu i za udaljenu mrežu (preko DHCP relay-a), postaviti interni DNS server sa A zapisom, konfigurisati static NAT za taj server i PAT (NAT Overload) za sav ostali interni saobraćaj ka simuliranom internetu, i proveriti sve funkcionalnosti end-to-end.
Potrebno predznanje
- Kompletna teorija ovog modula (Teme 1–16).
- Statičko rutiranje (Modul 11), IPv4 adresiranje (Modul 4), CLI osnove (Modul 7).
Potrebni programi
- Cisco Packet Tracer.
Potrebni uređaji (u simulaciji)
| Uređaj | Tačan model u Packet Traceru | Uloga |
|---|---|---|
| R1 | Cisco 4321 (ili 1941) | Centralni/granični ruter — DHCP server, DNS klijent, NAT gateway |
| R2 | Cisco 4321 (ili 1941) | Ruter poslovnice — DHCP relay |
| R-ISP | Cisco 4321 (ili 1941) | Simulira internet, sa „javnim" test serverom |
| SW1 | Cisco Catalyst 2960 | Svič u LAN1 (centrala) |
| SW2 | Cisco Catalyst 2960 | Svič u LAN2 (poslovnica) |
| Server1 | Server-PT | DNS server + cilj static NAT-a, u LAN1 |
| PC1 | Generic PC-PT | DHCP klijent u LAN1 |
| PC2 | Generic PC-PT | DHCP klijent u LAN2 (preko relay-a) |
Topologija
graph LR
PC1["PC1 (DHCP)"] --- SW1[SW1]
Server1["Server1<br/>192.168.10.5/24<br/>DNS: www.firma.local"] --- SW1
SW1 --- R1["R1<br/>Gi0/0: 192.168.10.1 (inside)<br/>Gi0/1: 10.0.0.1/30<br/>Gi0/2: 203.0.113.2/30 (outside)"]
R1 ---|"10.0.0.0/30"| R2["R2<br/>Gi0/0: 10.0.0.2/30<br/>Gi0/1: 192.168.20.1/24<br/>ip helper-address 10.0.0.1"]
R2 --- SW2[SW2] --- PC2["PC2 (DHCP preko relay-a)"]
R1 ---|"203.0.113.0/30 (outside)"| RISP["R-ISP<br/>Gi0/0: 203.0.113.1/30<br/>Lo0: 8.8.8.8/32"]
Napomena o topologiji: R-ISP simulira internet — njegov Loopback0 (8.8.8.8/32) predstavlja javni test server koji PC-jevi „na internetu" pokušavaju da dosegnu, omogućavajući da se PAT prevod stvarno testira kroz transit saobraćaj (ne saobraćaj upućen samom ruteru R1). R2 nema sopstveni DHCP server — oslanja se na relay ka R1.
Plan adresiranja
| Uređaj | Interfejs | IP adresa | Maska | Napomena |
|---|---|---|---|---|
| Server1 | NIC | 192.168.10.5 | 255.255.255.0 | Statička, gateway 192.168.10.1, isključena iz DHCP pool-a |
| PC1 | NIC | DHCP | — | Dobija adresu iz LAN1 pool-a |
| PC2 | NIC | DHCP | — | Dobija adresu iz LAN2 pool-a preko relay-a |
| R1 | GigabitEthernet0/0 | 192.168.10.1 | 255.255.255.0 | ip nat inside |
| R1 | GigabitEthernet0/1 | 10.0.0.1 | 255.255.255.252 | ip nat inside |
| R1 | GigabitEthernet0/2 | 203.0.113.2 | 255.255.255.252 | ip nat outside |
| R2 | GigabitEthernet0/0 | 10.0.0.2 | 255.255.255.252 | — |
| R2 | GigabitEthernet0/1 | 192.168.20.1 | 255.255.255.0 | ip helper-address 10.0.0.1 |
| R-ISP | GigabitEthernet0/0 | 203.0.113.1 | 255.255.255.252 | — |
| R-ISP | Loopback0 | 8.8.8.8 | 255.255.255.255 | Simulirani javni test server |
Tabela portova
| Uređaj | Port | Povezan sa |
|---|---|---|
| Server1 | NIC | SW1 |
| PC1 | NIC | SW1 |
| SW1 | uplink | R1 Gi0/0 |
| R1 | Gi0/1 | R2 Gi0/0 |
| R1 | Gi0/2 | R-ISP Gi0/0 |
| R2 | Gi0/1 | SW2 |
| SW2 | uplink | PC2 |
Koraci vežbe
Korak 1 – Postavljanje topologije
Postavite tri rutera, dva sviča, jedan server i dva računara. Povežite ih tačno prema tabeli portova, koristeći odgovarajuće kablove (copper straight-through za PC/svič/server-ruter uplink veze, copper cross-over ili automatski Ethernet kabl između rutera).
Korak 2 – Osnovna konfiguracija hostname-a i interfejsa
Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip address 192.168.10.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 10.0.0.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/2
R1(config-if)#ip address 203.0.113.2 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#exit
Ponovite analogno za R2 (Gi0/0 = 10.0.0.2/30, Gi0/1 = 192.168.20.1/24) i R-ISP (Gi0/0 = 203.0.113.1/30, i interface loopback 0 sa adresom 8.8.8.8/32).
Korak 3 – Statičko rutiranje
R1(config)#ip route 192.168.20.0 255.255.255.0 10.0.0.2
R1(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.1
R2(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1
Objašnjenje: R1 ima specifičnu rutu ka mreži poslovnice (192.168.20.0/24) i default rutu ka R-ISP-u za sav ostali (internet) saobraćaj. R2, kao stub ruter, koristi samo default rutu ka R1 — pokriva i saobraćaj ka LAN1 i ka internetu (princip iz Modula 11, Tema 6/14). R-ISP ne treba nikakvu dodatnu rutu ka privatnim mrežama — to je upravo poenta NAT-a (Tema 9): R-ISP nikada ne vidi privatne adrese, samo prevedenu javnu adresu R1.
Korak 4 – Konfiguracija Server1 (statička adresa + DNS servis)
Na Server1, u Desktop → IP Configuration, unesite: IP 192.168.10.5, maska 255.255.255.0, gateway 192.168.10.1. Zatim u Services → DNS, uključite DNS servis i dodajte zapis:
Tip: A Record
Ime: www.firma.local
Adresa: 192.168.10.5
Korak 5 – Konfiguracija DHCP-a na R1 za obe mreže
R1(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.9
R1(config)#ip dhcp pool LAN1
R1(dhcp-config)#network 192.168.10.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.10.1
R1(dhcp-config)#dns-server 192.168.10.5
R1(dhcp-config)#exit
R1(config)#ip dhcp excluded-address 192.168.20.1 192.168.20.9
R1(config)#ip dhcp pool LAN2-POSLOVNICA
R1(dhcp-config)#network 192.168.20.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.20.1
R1(dhcp-config)#dns-server 192.168.10.5
R1(dhcp-config)#exit
Objašnjenje: Iako R1 fizički nije povezan na mrežu 192.168.20.0/24, i dalje mora imati poseban ip dhcp pool za nju — DHCP relay (Korak 6) samo prosleđuje zahtev, ne zamenjuje potrebu za definisanim pool-om na serveru (Tema 4).
Korak 6 – Konfiguracija DHCP Relay-a na R2
R2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip helper-address 10.0.0.1
Korak 7 – Konfiguracija IP adresa na PC1 i PC2
Na oba računara, u Desktop → IP Configuration, izaberite „DHCP".
Korak 8 – Provera DHCP dodele
R1#show ip dhcp binding
Potvrdite da su PC1 (iz opsega 192.168.10.10+) i PC2 (iz opsega 192.168.20.10+) oba dobila adrese, sa ispravnim gateway-om i DNS serverom (192.168.10.5) prikazanim u njihovoj IP Configuration.
Korak 9 – Klijentska DNS konfiguracija i test rezolucije
R1(config)#ip domain-name firma.local
R1(config)#ip name-server 192.168.10.5
Sa PC1, otvorite Command Prompt i pokušajte:
PC1> ping www.firma.local
Pinging 192.168.10.5 with 32 bytes of data:
Objašnjenje: PC1 je od DHCP-a (Korak 5) dobio DNS server 192.168.10.5 (Server1), pa uspešno razrešava „www.firma.local" u 192.168.10.5 pre slanja ICMP paketa.
Korak 10 – Konfiguracija NAT granice
R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/2
R1(config-if)#ip nat outside
R1(config-if)#exit
Objašnjenje: I Gi0/0 (LAN1) i Gi0/1 (ka R2/LAN2) su „inside" jer su obe mreže deo interne organizacije; jedino Gi0/2 (ka R-ISP-u) je „outside" — granica NAT-a je tačno između interne organizacije i simuliranog interneta (Tema 9).
Korak 11 – Static NAT za Server1
R1(config)#ip nat inside source static 192.168.10.5 203.0.113.100
Korak 12 – PAT (NAT Overload) za sav ostali interni saobraćaj
R1(config)#access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)#access-list 1 permit 192.168.20.0 0.0.0.255
R1(config)#ip nat inside source list 1 interface GigabitEthernet0/2 overload
Korak 13 – Provera static NAT-a
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 203.0.113.100 192.168.10.5 --- ---
Potvrdite da je static prevod prisutan odmah, bez ijednog paketa saobraćaja (Tema 10).
Korak 14 – Test PAT-a kroz stvarni transit saobraćaj
Sa PC1 i PC2, pingujte simulirani javni test server:
PC1> ping 8.8.8.8
PC2> ping 8.8.8.8
Zatim na R1:
R1#show ip nat translations
Potvrdite da se pojavljuju dva odvojena dinamička prevoda (jedan za PC1, jedan za PC2), oba sa istom inside global adresom (203.0.113.2 — adresa Gi0/2), ali različitim brojevima portova (Tema 12).
Korak 15 – Provera statistike NAT-a
R1#show ip nat statistics
Zabeležite broj aktivnih prevoda i koje interfejse ruter prepoznaje kao inside/outside.
Korak 16 – Dijagnostička vežba: DHCP relay bez odgovarajućeg pool-a
- Namerno uklonite pool za udaljenu mrežu:
R1(config)#no ip dhcp pool LAN2-POSLOVNICA. - Na PC2, ponovo zatražite DHCP adresu (release/renew, ili Fast Forward vreme u Packet Traceru) — PC2 ne dobija adresu.
- Objasnite svojim rečima, na osnovu Teme 4, zašto samo
ip helper-addressna R2 nije dovoljno bez odgovarajućegip dhcp poolna R1. - Vratite pool na R1 da biste nastavili vežbu.
Korak 17 – Čuvanje konfiguracije
Na sva tri rutera:
R1#copy running-config startup-config
Komande za proveru
show ip dhcp binding
show ip dhcp pool
show ip nat translations
show ip nat statistics
show ip route
ping <adresa>
Najčešće greške
| Greška | Uzrok | Rešenje |
|---|---|---|
| PC1/PC2 ne dobijaju IP adresu | Nedostaje no shutdown na LAN interfejsu, ili je excluded-address opseg pogrešno postavljen | Proveriti Korak 2 i Korak 5 |
| PC2 ne dobija adresu iz LAN2 opsega, već ostaje bez adrese | Nedostaje ip helper-address na R2, ili nedostaje odgovarajući ip dhcp pool na R1 | Proveriti Korak 5 i Korak 6 |
ping www.firma.local ne uspeva, iako ping 192.168.10.5 uspeva | DNS servis nije uključen na Server1, ili DHCP nije prosledio ispravan dns-server | Proveriti Korak 4 i Korak 5 |
show ip nat translations ne prikazuje nijedan dinamički prevod | Nedostaje overload, pogrešan ACL, ili interfejsi nisu označeni ip nat inside/outside | Proveriti Korake 10 i 12 |
| Static NAT ne radi | Adresa servera u ip nat inside source static ne odgovara stvarnoj adresi Server1 | Proveriti Korak 11 naspram Koraka 4 |
Postupak rešavanja problema (troubleshooting)
show ip interface brief— proveriti da su svi interfejsi up/up.show ip route— proveriti da postoje rute ka svim potrebnim mrežama (Korak 3).show ip dhcp binding— proveriti da su adrese zaista dodeljene.show ip nat translationsishow ip nat statistics— proveriti da NAT prevodi postoje i da su interfejsi ispravno označeni.pingsa krajnjih uređaja radi potvrde end-to-end funkcionalnosti svakog servisa pojedinačno.
Završna provera
Vežba je uspešno završena kada:
- PC1 i PC2 oba automatski dobijaju ispravnu IP konfiguraciju putem DHCP-a (direktno i preko relay-a).
ping www.firma.localsa PC1 uspešno razrešava ime u 192.168.10.5.show ip nat translationsprikazuje static prevod za Server1 i dinamičke PAT prevode za PC1/PC2 nakon ping-a ka 8.8.8.8.- Objašnjeno je (Korak 16) zašto DHCP relay bez odgovarajućeg pool-a na serveru ne funkcioniše.
Dodatni izazov
Dodajte ntp server 203.0.113.1 na R1 (predstavite R-ISP kao pojednostavljeni izvor vremena) i logging <adresa> koji upućuje na Server1 (dodajte Syslog servis na Server1 u Packet Traceru ako je dostupan). Generišite događaj (shutdown/no shutdown na interfejsu R1 ka R2) i proverite da li se Syslog poruka pojavljuje na serveru sa ispravnim timestamp-om. Dodatno, zamenite ip dhcp excluded-address opsege realističnijim vrednostima koje ostavljaju prostora za buduće statičke uređaje, i obrazložite svoj izbor veličine opsega.
Rešenje
Kompletno rešenje ove vežbe nalazi se u /resenja/modul-13/04-laboratorijska-vezba-resenje.md.
📖 Prikaži rešenje
Rešenje laboratorijske vežbe – Modul 13
Kompletna konfiguracija – R1
Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip address 192.168.10.1 255.255.255.0
R1(config-if)#ip nat inside
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/1
R1(config-if)#ip address 10.0.0.1 255.255.255.252
R1(config-if)#ip nat inside
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface gigabitEthernet 0/2
R1(config-if)#ip address 203.0.113.2 255.255.255.252
R1(config-if)#ip nat outside
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 192.168.20.0 255.255.255.0 10.0.0.2
R1(config)#ip route 0.0.0.0 0.0.0.0 203.0.113.1
R1(config)#ip dhcp excluded-address 192.168.10.1 192.168.10.9
R1(config)#ip dhcp pool LAN1
R1(dhcp-config)#network 192.168.10.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.10.1
R1(dhcp-config)#dns-server 192.168.10.5
R1(dhcp-config)#exit
R1(config)#ip dhcp excluded-address 192.168.20.1 192.168.20.9
R1(config)#ip dhcp pool LAN2-POSLOVNICA
R1(dhcp-config)#network 192.168.20.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.20.1
R1(dhcp-config)#dns-server 192.168.10.5
R1(dhcp-config)#exit
R1(config)#ip domain-name firma.local
R1(config)#ip name-server 192.168.10.5
R1(config)#ip nat inside source static 192.168.10.5 203.0.113.100
R1(config)#access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)#access-list 1 permit 192.168.20.0 0.0.0.255
R1(config)#ip nat inside source list 1 interface GigabitEthernet0/2 overload
R1(config)#end
R1#copy running-config startup-config
Kompletna konfiguracija – R2
Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface gigabitEthernet 0/0
R2(config-if)#ip address 10.0.0.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface gigabitEthernet 0/1
R2(config-if)#ip address 192.168.20.1 255.255.255.0
R2(config-if)#ip helper-address 10.0.0.1
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1
R2(config)#end
R2#copy running-config startup-config
Kompletna konfiguracija – R-ISP
Router>enable
Router#configure terminal
Router(config)#hostname R-ISP
R-ISP(config)#interface gigabitEthernet 0/0
R-ISP(config-if)#ip address 203.0.113.1 255.255.255.252
R-ISP(config-if)#no shutdown
R-ISP(config-if)#exit
R-ISP(config)#interface loopback 0
R-ISP(config-if)#ip address 8.8.8.8 255.255.255.255
R-ISP(config-if)#exit
R-ISP(config)#end
R-ISP#copy running-config startup-config
(Napomena: R-ISP ne treba nikakvu statičku rutu ka privatnim mrežama — to je upravo poenta NAT-a: R-ISP nikada ne vidi 192.168.x.x adrese, samo prevedenu javnu adresu 203.0.113.2/203.0.113.100.)
Konfiguracija Server1
| Postavka | Vrednost |
|---|---|
| IP adresa | 192.168.10.5 |
| Maska | 255.255.255.0 |
| Gateway | 192.168.10.1 |
| DNS servis | Uključen |
| A zapis | www.firma.local → 192.168.10.5 |
Konfiguracija PC1 i PC2
Oba na „DHCP" u IP Configuration — adrese se automatski dodeljuju iz odgovarajućih pool-ova na R1.
Očekivani rezultati provere
show ip dhcp binding na R1 (skraćeno):
IP address Client-ID/Hardware address Lease expiration Type
192.168.10.10 0100.5079.6668.01 7 days Automatic
192.168.20.10 0100.5079.6668.02 7 days Automatic
Korak 9 – DNS test sa PC1:
PC1> ping www.firma.local
Translating "www.firma.local"...domain server (192.168.10.5) [OK]
Pinging 192.168.10.5 with 32 bytes of data:
Reply from 192.168.10.5: bytes=32 time<1ms TTL=128
Korak 13 – Static NAT (odmah nakon konfiguracije, bez saobraćaja):
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 203.0.113.100 192.168.10.5 --- ---
Korak 14 – Test PAT-a:
PC1> ping 8.8.8.8
PC2> ping 8.8.8.8
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 203.0.113.100 192.168.10.5 --- ---
icmp 203.0.113.2:1 192.168.10.10:1 8.8.8.8:1 8.8.8.8:1
icmp 203.0.113.2:2 192.168.20.10:2 8.8.8.8:2 8.8.8.8:2
Objašnjenje: PC1 (192.168.10.10) i PC2 (192.168.20.10) dele istu inside global adresu (203.0.113.2 — adresa Gi0/2), razlikujući se po ICMP identifikatoru/portu, dok static NAT unos za Server1 ostaje nepromenjen i nezavisan od PAT saobraćaja.
Korak 16 – Dijagnostička vežba
Nakon R1(config)#no ip dhcp pool LAN2-POSLOVNICA:
PC2 pokušava renew/release i ostaje bez IP adrese (Automatic Private IP Addressing ili „No IP Address" prikaz, zavisno od podešavanja u Packet Traceru).
Objašnjenje: ip helper-address na R2 i dalje ispravno prosleđuje DHCPDISCOVER ka R1 (10.0.0.1) kao unicast, ali R1 više nema definisan ip dhcp pool čiji network odgovara mreži 192.168.20.0/24 — DHCP server na R1 ne zna iz kog opsega da dodeli adresu za zahtev koji stiže sa te (relay-ovane) mreže, pa zahtev ostaje bez odgovora (nema DHCPOFFER). Ovo potvrđuje da relay sam po sebi ne zamenjuje potrebu za odgovarajućim pool-om na serveru (Tema 4).
Nakon vraćanja pool-a (ip dhcp pool LAN2-POSLOVNICA sa istom konfiguracijom kao ranije), PC2 ponovo uspešno dobija adresu.
Rešenje dodatnog izazova
R1(config)#ntp server 203.0.113.1
R1(config)#logging 192.168.10.5
(pretpostavka: Server1 ima uključen Syslog servis u Packet Traceru)
Nakon shutdown/no shutdown na R1 Gi0/1, na Server1 (Syslog log) pojavljuje se poruka tipa:
%LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
%LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
sa timestamp-om usklađenim zahvaljujući NTP sinhronizaciji (Teme 14-15).
Realističniji excluded-address opsezi (npr. 192.168.10.1-192.168.10.19 umesto samo do .9) ostavljaju dovoljno prostora za buduće statičke uređaje (dodatne servere, štampače, mrežnu opremu) bez potrebe da se opseg naknadno menja i rizikuje preklapanje sa već dodeljenim DHCP adresama.