Video 22 - DMZ con Router/firewall | Prof. Giagnotti
🎥 VIDEO 22 · PACKET TRACER · DMZ ROUTER FIREWALL
✍ Autore: profgiagnotti

Video 22 - DMZ con Router/firewall e ACL

Zona demilitarizzata con router di frontiera: Inside, Outside e DMZ, ACL estese, NAT e port-forwarding per server web pubblico protetto.

Video 22 Packet Tracer DMZ + ACL + NAT ~36 min di video 📑 Stampa → ▶ YouTube Aggiornata 2025/26

2. Di cosa parla questo video

In questo tutorial ti guiderò nella realizzazione di una rete LAN con DMZ (zona demilitarizzata). Le regole di controllo accessi saranno configurate nel router di frontiera per isolare Inside, DMZ e Outside garantendo sicurezza perimetrale e pubblicazione di servizi pubblici.

Implementiamo il modello a 3 zone: Inside LAN 192.168.1.0/26 rete aziendale privata, DMZ 192.168.2.0/26 con server web 192.168.2.10 accessibile da Internet, Outside 203.0.113.0/30 simulazione Internet. Il router di frontiera R1 fa da firewall con ACL Estese 100-101 (Outside→DMZ solo 80/443, Inside→DMZ full, DMZ→Inside deny), NAT statico/port-forwarding ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 per pubblicare web, PAT overload per Inside verso Outside. Test con browser da Outside su 203.0.113.2:80 → DMZ, e ping Inside→DMZ OK ma DMZ→Inside KO.

💬 Nota del docente - Perché ho fatto questo video

La DMZ è la prima vera architettura di sicurezza che vediamo. Nel video al minuto 14 mostro l'errore che compromette tutto: mettete il server web in Inside invece che in DMZ e poi aprite ACL da Outside verso Inside. Così esponete tutta la LAN aziendale. Il server pubblico deve stare in DMZ isolata con ACL deny verso Inside. Al minuto 22 mostro il port-forwarding: senza ip nat inside source static tcp, da Outside non raggiungete mai 192.168.2.10 perché è privato. E al minuto 27 mostro il classico: ACL Outside→DMZ in senza permit established di ritorno, così il SYN-ACK non torna e la pagina non carica.

3. Obiettivi di apprendimento

  • ✅ Realizzare una rete LAN con DMZ e accessi controllati
  • ✅ Simulare la rete in Packet Tracer con 3 zone di sicurezza
  • ✅ Implementare le ACL Estese nel Router di frontiera con NAT/PAT
🎯 Cosa saprai fare dopo questo video

Alla fine configurerai router a 3 interfacce (G0/0 Inside, G0/1 DMZ, S0/0/0 Outside), ACL estese per isolare DMZ (Outside→DMZ solo 80/443, Inside→DMZ permit, DMZ→Inside deny), NAT statico e PAT overload, ip nat inside/outside, verificherai con show access-lists, show ip nat translations, browser da Outside verso IP pubblico che natti in DMZ, e comprenderai il principio di zona demilitarizzata.

4. Perché la DMZ - Inside, Outside, DMZ

Senza DMZ, server pubblico in LAN interna = rischio:

Senza DMZ (Video 21)Con DMZ Router (questo video)
Server web in Inside 192.168.1.10Server web in DMZ 192.168.2.10 isolato
ACL da Outside verso Inside → buco sicurezzaACL da Outside verso DMZ solo 80/443 → sicuro
Compromesso server = compromessa LANCompromesso DMZ ≠ compromessa Inside (deny DMZ→Inside)
Nessun NAT statico necessarioNAT statico + port-forwarding per pubblicare servizio
1 ACL per filtrare3 zone, 3 ACL: Inside, DMZ, Outside + NAT/PAT
Modello flatModello perimetrale enterprise
🎯 Domanda da colloquio CCNA

Se vi chiedono "Cos'è la DMZ e come la realizzi su router?", rispondete: "DMZ è zona demilitarizzata tra Inside privata e Outside Internet per ospitare server pubblici. Su router di frontiera creo 3 interfacce: Inside 192.168.1.0/26, DMZ 192.168.2.0/26, Outside 203.0.113.0/30. Configuro ACL estese: Outside→DMZ permit 80/443 only, Inside→DMZ permit, DMZ→Inside deny, Inside→Outside PAT. NAT statico ip nat inside source static tcp DMZ 80 public 80 per pubblicare web. Così server compromesso non accede a Inside". È architettura da security base.

5. Concetti chiave - 3 zone, ACL estese, NAT, PAT, port-forwarding

Cuore del video, minuto 8-22:

DMZ ROUTER - CONCETTI CHIAVE
3 Zone: Inside = LAN aziendale 192.168.1.0/26 - trusted, G0/0 DMZ = Demilitarized 192.168.2.0/26 - semi-trusted, G0/1, server web 192.168.2.10 Outside = Internet 203.0.113.0/30 - untrusted, S0/0/0 public 203.0.113.2 Regole ACL Estese su router frontiera: Outside→DMZ: permit tcp any host 192.168.2.10 eq 80, permit tcp any host 192.168.2.10 eq 443, deny ip any any Inside→DMZ: permit ip 192.168.1.0 0.0.0.63 host 192.168.2.10 → permette gestione interna DMZ→Inside: deny ip 192.168.2.0 0.0.0.63 192.168.1.0 0.0.0.63 → isola DMZ, se server compromesso non entra in LAN Inside→Outside: PAT overload → ip nat inside source list 1 interface s0/0/0 overload NAT: ip nat inside su G0/0 Inside e G0/1 DMZ ip nat outside su S0/0/0 Outside Statico port-forwarding: ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 extendable → Outside browser http://203.0.113.2 → nattato a 192.168.2.10:80 PAT: access-list 1 permit 192.168.1.0 0.0.0.63 → ip nat inside source list 1 interface s0/0/0 overload ACL applicazione: ip access-group 100 in su Outside, ip access-group 101 out su DMZ Verifica: show access-lists, show ip nat translations, show ip interface
DMZ SU ROUTER (QUESTO VIDEO)
Router 3 interfacce fa da firewall con ACL Estese + NAT/PAT. Soluzione low-cost, didattica, CCNA. No stateful, solo ACL.
DMZ SU ASA 5506 (PROSSIMO VIDEO)
Firewall stateful dedicato ASA 5506-X con security level 0 Outside, 50 DMZ, 100 Inside, ACL + NAT + inspection. Enterprise reale.

6. Lab in Packet Tracer - LAN con DMZ su router

Nel video (minuto 4-32):

  • Topologia: R1 frontiera: G0/0 192.168.1.1/26 Inside LAN1 + PC 192.168.1.2, G0/1 192.168.2.1/26 DMZ + server web 192.168.2.10, S0/0/0 203.0.113.2/30 Outside verso R2 ISP 203.0.113.1/30 + PC Outside 203.0.113.10 simulazione Internet
  • NAT/PAT: ip nat inside su G0/0 e G0/1, ip nat outside su S0/0/0, access-list 1 permit 192.168.1.0 0.0.0.63 + ip nat inside source list 1 interface s0/0/0 overload (PAT Inside→Outside), ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 + 443 (pubblicazione web DMZ)
  • ACL Outside→DMZ (100): permit tcp any host 192.168.2.10 eq 80, permit tcp any host 192.168.2.10 eq 443, deny ip any any → applica ip access-group 100 in su S0/0/0
  • ACL DMZ→Inside (101): deny ip 192.168.2.0 0.0.0.63 192.168.1.0 0.0.0.63 → permit ip 192.168.2.0 0.0.0.63 any (DMZ può uscire) → applica ip access-group 101 in su G0/1
  • ACL Inside→DMZ (102): permit ip 192.168.1.0 0.0.0.63 host 192.168.2.10 (gestione), applica out su G0/1 o in su G0/0
  • Verifica: PC Outside browser http://203.0.113.2 → pagina web DMZ OK (NAT), ping Outside→DMZ 80 OK ma 22 KO, PC Inside ping DMZ OK, browser DMZ OK, PC DMZ ping Inside KO (isolamento), show ip nat translations mostra static e PAT, show access-lists hit
CISCO IOS - DMZ ROUTER + NAT + ACL
! R1 - Router frontiera DMZ R1# conf t R1(config)# int g0/0 R1(config-if)# description INSIDE LAN R1(config-if)# ip address 192.168.1.1 255.255.255.192 R1(config-if)# ip nat inside R1(config-if)# no shutdown R1(config-if)# exit R1(config)# int g0/1 R1(config-if)# description DMZ R1(config-if)# ip address 192.168.2.1 255.255.255.192 R1(config-if)# ip nat inside R1(config-if)# no shutdown R1(config-if)# exit R1(config)# int s0/0/0 R1(config-if)# description OUTSIDE to ISP 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 ! NAT/PAT R1(config)# access-list 1 permit 192.168.1.0 0.0.0.63 R1(config)# ip nat inside source list 1 interface s0/0/0 overload R1(config)# ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 extendable R1(config)# ip nat inside source static tcp 192.168.2.10 443 203.0.113.2 443 extendable ! ACL 100 OUTSIDE -> DMZ solo WEB R1(config)# ip access-list extended OUTSIDE_TO_DMZ R1(config-ext-nacl)# permit tcp any host 192.168.2.10 eq 80 R1(config-ext-nacl)# permit tcp any host 192.168.2.10 eq 443 R1(config-ext-nacl)# deny ip any any log R1(config-ext-nacl)# exit R1(config)# int s0/0/0 R1(config-if)# ip access-group OUTSIDE_TO_DMZ in ! ACL 101 DMZ -> INSIDE DENY (isolamento) R1(config)# ip access-list extended DMZ_TO_INSIDE R1(config-ext-nacl)# deny ip 192.168.2.0 0.0.0.63 192.168.1.0 0.0.0.63 R1(config-ext-nacl)# permit ip 192.168.2.0 0.0.0.63 any R1(config-ext-nacl)# exit R1(config)# int g0/1 R1(config-if)# ip access-group DMZ_TO_INSIDE in ! ACL 102 INSIDE -> DMZ PERMIT R1(config)# ip access-list extended INSIDE_TO_DMZ R1(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.63 host 192.168.2.10 R1(config-ext-nacl)# permit ip 192.168.1.0 0.0.0.63 any R1(config-ext-nacl)# exit R1(config)# int g0/0 R1(config-if)# ip access-group INSIDE_TO_DMZ in ! Verifica R1# show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 203.0.113.2:80 192.168.2.10:80 --- --- tcp 203.0.113.2:1024 192.168.1.2:1024 8.8.8.8:80 8.8.8.8:80 R1# show access-lists R1# show ip interface s0/0/0 R1# show ip nat statistics
🔧 DMZ cheat sheet

3 interfacce: Inside inside, DMZ inside, Outside outside. PAT per Inside: list 1 + overload su Outside. Statico per DMZ: static tcp DMZ 80 public 80. ACL: Outside→DMZ permit 80/443 only log, DMZ→Inside deny LAN, Inside→DMZ permit. Test: Outside browser public IP → DMZ OK, Outside ping DMZ KO (se deny icmp), Inside ping DMZ OK, DMZ ping Inside KO = isolamento riuscito. Nel video al minuto 29 mostro translations e hit count.

7. Errori comuni da evitare

  • Server pubblico in Inside: metti web server 192.168.1.10 in Inside e apri ACL Outside→Inside eq 80 → buco sicurezza, tutta LAN esposta. Server pubblico sempre in DMZ 192.168.2.10.
  • NAT statico dimenticato: ACL Outside→DMZ permit ma nessun ip nat static → Outside non raggiunge IP privato 192.168.2.10, timeout. Serve port-forwarding static tcp.
  • ip nat inside/outside invertito: metti ip nat outside su G0/1 DMZ → NAT non traduce, translations vuote. Inside su G0/0 e G0/1, Outside su S0/0/0.
  • ACL DMZ→Inside mancante: lasci DMZ→Inside permit any → se server DMZ compromesso, attacca Inside. Sempre deny DMZ→Inside LAN.
  • PAT senza overload: ip nat inside source list 1 interface s0/0/0 senza overload → solo un host Inside alla volta naviga. Sempre overload per PAT.
  • ACL ordine errato: deny ip any any prima di permit 80 → web bloccato, Outside non apre pagina. Permit 80/443 in alto, deny any alla fine con log.
  • Dimenticare DNS per DMZ: permetti 80 ma non 53 → Outside browser con nome fallisce se DNS in DMZ. Aggiungi permit udp eq 53 se DNS in DMZ.
⚠️ Errore che espone la LAN al 100%

DMZ non isolata da Inside e NAT statico su Inside invece che DMZ. Sintomo: PC Outside accede a server Inside 192.168.1.10, oppure DMZ pinga Inside e ruba dati, show ip nat translations mostra Inside local invece di DMZ. Soluzione: sposta server in DMZ 192.168.2.10, ACL DMZ_TO_INSIDE deny Inside LAN, NAT static solo per DMZ, verifica con ping DMZ→Inside KO (isolamento) e Outside browser su public IP OK. Nel video al minuto 27 mostro compromissione simulata.

8. Approfondimento: DMZ router vs ASA 5506

Dopo router, prossimo video ASA firewall dedicato:

DMZ su Router (questo video)DMZ su ASA 5506 (prossimo)
ACL stateless + NAT/PAT manualeStateful firewall + inspection, security level
3 interfacce G0/0, G0/1, S0/0/0Interfacce Inside, DMZ, Outside con security-level 100,50,0
Costo basso, didattico CCNAEnterprise, throughput firewall, VPN integrata
ip nat inside source static tcpobject NAT + access-list + nat (Inside,DMZ)
No state, ritorno manualeStateful: ritorno automatico se permesso in uscita
OK labProduzione, DMZ reale

Prossimo video: DMZ con firewall ASA 5506, ACL, NAT/PAT e security level.

📚 Compito per casa

Crea rete: R1 frontiera G0/0 192.168.1.1/26 Inside LAN PC 192.168.1.2, G0/1 192.168.2.1/26 DMZ server web 192.168.2.10, S0/0/0 203.0.113.2/30 Outside verso ISP 203.0.113.1/30 PC Outside 203.0.113.10. Configura ip nat inside su G0/0 e G0/1, ip nat outside su S0/0/0, PAT overload per Inside list 1, NAT static tcp 192.168.2.10 80 → 203.0.113.2 80 e 443. ACL OUTSIDE_TO_DMZ permit tcp any host 192.168.2.10 eq 80/443 deny any log su S0/0/0 in, ACL DMZ_TO_INSIDE deny 192.168.2.0 0.0.0.63 to 192.168.1.0 0.0.0.63 su G0/1 in. Verifica show ip nat translations, show access-lists, Outside browser http://203.0.113.2 OK, Inside→DMZ OK, DMZ→Inside KO, Outside ping DMZ KO (solo 80/443). Screenshot translations + access-lists + browser Outside. Mandamelo prima di ASA 5506.

9. Risorse correlate