Cisco IOS Router – Guida comandi (Base → Avanzato)

Sintassi, opzioni e verifiche (Packet Tracer)

Modalità, interfacce, routing, ACL, DHCP, NAT/PAT e DMZ (port forwarding).
Regola n.1: se un comando “non va”, spesso sei nella modalità sbagliata oppure manca un parametro.
Usa ? per vedere cosa si aspetta IOS.
Indice rapido

Livelli:
Base Intermedio Avanzato
Cerca un comando
Filtra le righe delle tabelle (nasconde quelle che non matchano).
Sequenze rapide

enable
terminal length 0
configure terminal
hostname R1
no ip domain-lookup
enable secret Classe4
service password-encryption
end
copy running-config startup-config

configure terminal
interface g0/0
ip address 192.168.10.1 255.255.255.0
no shutdown
end
show ip interface brief
ping 192.168.10.10

configure terminal
ip route 0.0.0.0 0.0.0.0 10.0.0.2
end
show ip route
traceroute 8.8.8.8

clear access-list counters
clear ip nat translations *
Come leggere la guida
Notazione di sintassi
  • <> = parametro obbligatorio
  • [] = parametro opzionale
  • | = alternative
  • Wildcard = inverso della subnet mask (es. /24 → 0.0.0.255)
Prompt = “dove sei”
  • > user EXEC
  • # privileged EXEC
  • (config)# config globale
  • (config-if)# config interfaccia
  • (config-router)# config routing
Help e completamento
?
show ?
show ip ?
conf t
sh ip int br
Comando do (in config)
configure terminal
do show ip interface brief
do show running-config
end
Nota didattica: description è utile per documentare, ma negli esempi qui sotto non lo usiamo per mantenere i comandi “puliti”.
Comandi base e modalità
Base
Comando Dove Sintassi / opzioni Spiegazione
enable
disable
EXEC Passa da > a # (e viceversa).
configure terminal # conf t Entra in configurazione globale ((config)#).
end
exit
config end torna a #. exit risale di un livello.
? tutte Mostra comandi/parametri validi in quel punto.
terminal length 0 # 0 = no --More-- Evita l’interruzione dell’output lungo.
do <comando> config do show ip interface brief Esegue un comando EXEC (tipicamente show) senza uscire da config.
show running-config
show startup-config
# show run / show start Vedi config attiva (RAM) e salvata (NVRAM).
copy running-config startup-config
write memory
# wr Salva la configurazione.
Errori tipici: Incomplete command (manca un parametro), Ambiguous command (abbreviazione non univoca).
Cancellazione configurazione (no ...)
Base
Comando Dove Sintassi / opzioni Spiegazione
no ip route ... (config) no ip route <NET> <MASK> <NEXT-HOP|IF> Cancella una rotta statica precedentemente configurata.
no ip address (config-if) no ip address Rimuove l'indirizzo IP da un'interfaccia.
no access-list ... (config) no access-list <N> Elimina una ACL numerata.
no ip access-group ... (config-if) no ip access-group <ACL> in|out Rimuove l'applicazione di una ACL da un'interfaccia.
default interface <IF> # default interface g0/0 Ripristina la configurazione di default di un'interfaccia.
Usa il prefisso no davanti a un comando per cancellare o annullare una configurazione.
Esempio: no ip route 192.168.30.0 255.255.255.0 10.0.0.2 rimuove la rotta statica.
Accesso: console + VTY (no SSH)
Base
Qui usiamo solo console e VTY con password (approccio didattico per PT).
Comando Dove Sintassi / opzioni Spiegazione
hostname
no ip domain-lookup
enable secret
service password-encryption
banner motd
(config) hostname <NOME>
enable secret <PASS>
banner motd <DELIM>...<DELIM>
Identità e “igiene” di base: prompt chiaro, niente DNS lookup, password per #, banner.
line console 0 (config-line) password <PASS>
login
exec-timeout M S
logging synchronous
Configura accesso da console.
line vty 0 4 (config-line) password <PASS>
login
exec-timeout M S
transport input telnet (se richiesto)
Accesso remoto via VTY (Telnet in PT a scopo didattico).

configure terminal
hostname R1
no ip domain-lookup
enable secret Classe4_Sicura
service password-encryption
banner motd #Accesso consentito solo per attivita didattiche autorizzate.#

line console 0
logging synchronous
exec-timeout 10 0
password cisco
login
exit

line vty 0 4
password cisco
login
exec-timeout 10 0
transport input telnet
end
copy running-config startup-config
Interfacce router (L3): IP, attivazione, verifica
Base
Se vedi administratively down → manca no shutdown. La prima verifica è sempre show ip interface brief.
Comando Dove Sintassi / opzioni Spiegazione
interface (config) interface <TIPO><SLOT/PORT> Entra nel contesto dell’interfaccia ((config-if)#).
ip address (config-if) ip address <IP> <MASK> Assegna indirizzo IPv4 e subnet mask.
shutdown
no shutdown
(config-if) Disattiva/attiva l’interfaccia.
show ip interface brief # sh ip int br Verifica rapida (IP + stato up/down).
show interfaces # Dettagli interfaccia (errori, line protocol, ecc.).

configure terminal
interface g0/0
ip address 192.168.10.1 255.255.255.0
no shutdown
end

show ip interface brief
ping 192.168.10.10

In Packet Tracer, se il link seriale non sale spesso manca clock rate sul lato DCE.
configure terminal
interface serial0/0/0
ip address 10.0.0.1 255.255.255.252
clock rate 64000
no shutdown
end

show ip interface brief
show controllers serial0/0/0
show interfaces serial0/0/0
Routing statico: rotte, default, floating
Intermedio
Ricorda sempre la rotta di ritorno: l’andata non basta.
Comando Dove Sintassi / opzioni Spiegazione
ip route (config) ip route <NET> <MASK> <NEXT-HOP|IF>
ip route ... [AD]
Rotta statica verso una rete. Con AD più alta crei una “floating route” (backup).
ip route 0.0.0.0 0.0.0.0 ... (config) ip route 0.0.0.0 0.0.0.0 <NEXT-HOP> Default route: tutto ciò che non conosci va al next-hop.
show ip route # show ip route static Verifica tabella di routing (rotte C, S, R, O...).
traceroute # traceroute <IP> Mostra dove si interrompe il percorso (ottimo debug).

configure terminal
ip route 192.168.30.0 255.255.255.0 10.0.0.2
ip route 0.0.0.0 0.0.0.0 10.0.0.2
ip route 192.168.30.0 255.255.255.0 10.0.1.2 200
end

show ip route
show ip route static
Se “non pinga” una rete remota: controlla prima rotta di ritorno e interfacce up/up.
Routing dinamico: RIPv2 e OSPF (essenziale)
Avanzato
Obiettivo: attivi il protocollo, includi le reti corrette, rendi passive le LAN utenti, e verifichi con show ip route.
RIPv2
Comando Dove Sintassi / opzioni
router rip (config) Entra in RIP ((config-router)#).
version 2
no auto-summary
(config-router) RIPv2 + no sumarizzazione classful (fondamentale con VLSM).
network (config-router) network <RETE> (attiva RIP sulle interfacce coerenti)
passive-interface (config-router) passive-interface <IF>

configure terminal
router rip
version 2
no auto-summary
network 10.0.0.0
network 192.168.10.0
passive-interface g0/0
end

show ip protocols
show ip route rip
OSPF (area 0)
Comando Dove Sintassi / opzioni
router ospf (config) router ospf <PID> (process-id locale)
router-id (config-router) router-id A.B.C.D
network ... area (config-router) network <NET> <WC> area <AREA>
passive-interface (config-router) passive-interface default + no passive-interface <IF>

configure terminal
router ospf 1
router-id 1.1.1.1
passive-interface default
no passive-interface g0/1
network 10.0.0.0 0.0.0.3 area 0
network 192.168.10.0 0.0.0.255 area 0
end

show ip ospf neighbor
show ip route ospf
show ip protocols
Se OSPF non forma adiacenza: interfacce up/up, stessa rete, wildcard corretta, OSPF attivo sull’interfaccia.
ACL: standard, extended, named
Intermedio
ACL: ordine top-down, first match, deny any implicito. Verifica contatori con show access-lists.
Comando Dove Sintassi / opzioni Spiegazione
access-list (standard) (config) access-list 1-99 permit|deny <SRC> <WC>
host X / any
remark <TESTO>
Filtra solo per IP sorgente (scelta “grossolana”).
access-list (extended) (config) access-list 100-199 permit|deny <PROTO> <SRC> <WC> <DST> <WC> [eq|range]
eq (porta singola), range (intervallo)
log
Filtra per protocollo + IP sorg/dest + porte (policy precisa).
ip access-list (named) (config) ip access-list standard <NOME>
ip access-list extended <NOME>
ACL con nome: più leggibile e spesso più comoda da gestire.
ip access-group (config-if) ip access-group <ACL> in|out Applica l’ACL sull’interfaccia (ingresso/uscita).
show access-lists
clear access-list counters
# Mostra ACL e contatori; reset contatori prima dei test.
no access-list <N> (config) no access-list 101 Rimuove una ACL numerata (utile quando “rifai da capo”).
no ip access-group ... (config-if) no ip access-group 101 in Rimuove l’assegnazione ACL dall’interfaccia.

configure terminal
access-list 10 remark Permetti solo LAN Uffici
access-list 10 permit 192.168.10.0 0.0.0.255
access-list 10 deny any
end

configure terminal
interface g0/0
ip access-group 10 in
end

show access-lists

configure terminal
access-list 101 remark Permetti Web dalla LAN
access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq 80
access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq 443
access-list 101 deny ip any any log
end

show access-lists
clear access-list counters
Regola pratica: ACL standard “vicino alla destinazione”, ACL extended “vicino alla sorgente” (riduci traffico inutile).
DHCP: esclusioni, pool, relay (helper-address)
Intermedio
Esclude un range (gateway, server, stampanti) per evitare conflitti. ip dhcp pool (config) ip dhcp pool <NOME>
network <NET> <MASK>
default-router <GW>
dns-server X [Y]
domain-name <DOM>
lease <GG> Crea un pool DHCP con rete, gateway e parametri principali.
ip helper-address (config-if) ip helper-address <IP_SERVER> DHCP relay: inoltra richieste DHCP verso server in altra subnet. show ip dhcp binding
show ip dhcp pool # Verifica lease attive e stato dei pool. clear ip dhcp binding * # attenzione: reset lease Resetta assegnazioni DHCP (utile in PT per rifare i test).

configure terminal
ip dhcp excluded-address 192.168.10.1 192.168.10.20
ip dhcp pool LAN_UFFICI
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
dns-server 8.8.8.8 1.1.1.1
domain-name lab.local
lease 7
end

show ip dhcp binding
show ip dhcp pool

configure terminal
interface g0/0
ip helper-address 192.168.100.10
end
DHCP ok ma “non esce”: controlla default route e (se serve) NAT/PAT.
NAT/PAT + DMZ: inside/outside, overload, port forwarding
Avanzato
NAT/PAT richiede sempre: (1) marcare inside/outside, (2) definire le regole, (3) verificare con show ip nat ....
Comando Dove Sintassi / opzioni Spiegazione
ip nat inside
ip nat outside
(config-if) Marca le interfacce interne/esterne (obbligatorio).
ip nat inside source ... overload (config) ip nat inside source list <ACL> interface <OUT> overload PAT (overload): molti host escono con l’IP dell’interfaccia outside.
ip nat pool (config) ip nat pool <NOME> <START> <END> netmask <MASK>
+ ip nat inside source list <ACL> pool <NOME>
NAT dinamico con pool (senza overload): consuma IP del pool.
ip nat inside source static (config) ip nat inside source static <PRIV> <PUB> Static NAT 1:1: un host privato esposto con IP pubblico dedicato.
ip nat inside source static tcp|udp (config) ip nat inside source static tcp <PRIV> <P1> <PUB> <P2> Static PAT: port forwarding verso un server (tipico DMZ).
show ip nat translations
show ip nat statistics
# Verifica traduzioni e statistiche.
clear ip nat translations * # reset traduzioni Resetta traduzioni dinamiche (utile per rifare i test in PT).

configure terminal
interface g0/0
ip nat inside
exit
interface g0/1
ip nat outside
end

configure terminal
access-list 1 permit 192.168.10.0 0.0.0.255
ip nat inside source list 1 interface g0/1 overload
end

configure terminal
ip nat inside source static tcp 192.168.50.10 80 203.0.113.2 80
ip nat inside source static tcp 192.168.50.10 443 203.0.113.2 443
end

show ip nat translations

Se filtri sull’outside, devi consentire 80/443 verso l’IP pubblico pubblicato.
configure terminal
ip access-list extended OUTSIDE_IN
remark Consenti solo HTTP/HTTPS verso IP pubblico del server
permit tcp any host 203.0.113.2 eq 80
permit tcp any host 203.0.113.2 eq 443
deny ip any any log
exit

interface g0/1
ip access-group OUTSIDE_IN in
end

show access-lists
Se PAT non funziona: controlla default route, inside/outside e che l’ACL includa davvero la rete sorgente.
Troubleshooting rapido (checklist)
Base
Metodo: 1) interfacce up/up, 2) IP corretti, 3) routing, 4) ACL, 5) DHCP/NAT.
Comando Perché lo fai
show ip interface brief Se non è up/up, risolvi prima quello.
show running-config Conferma cosa è davvero configurato.
show ip route Controlla rotte presenti (C/S/R/O...) e default route.
ping / traceroute Capisci dove si interrompe il percorso.
show ip protocols Verifica RIP/OSPF e reti annunciate.
show access-lists Contatori ACL: se sono 0, la regola non matcha o è nel punto sbagliato.
show ip dhcp binding Conferma assegnazioni DHCP.
show ip nat translations Conferma traduzioni NAT/PAT.
Prima di testare ACL/NAT: usa clear access-list counters e clear ip nat translations * per avere feedback pulito.
Riepilogo essenziale
  • Contesto: se un comando non va, controlla il prompt e usa ?.
  • Interfacce: ip address + no shutdown + verifica con show ip interface brief.
  • Routing: statico con ip route (e rotta di ritorno), dinamico con RIPv2/OSPF e verifica rotte.
  • ACL: ordine e deny implicito; verifica contatori con show access-lists.
  • DHCP: esclusioni + pool; relay con ip helper-address se server remoto.
  • NAT/PAT: inside/outside, regole, verifiche con show ip nat ...; DMZ = port forwarding + ACL outside-in.