Le rotte statiche sono voci di routing configurate manualmente dall’amministratore. A differenza dei protocolli dinamici (OSPF, EIGRP, BGP) non generano traffico di controllo e non reagiscono automaticamente ai cambi di topologia, ma restano la scelta ideale per reti piccole, stub network e link verso Internet, dove il comportamento è deterministico e prevedibile.
Anatomia di una rotta statica IPv4
La sintassi essenziale su IOS/IOS-XE è:
ip route <rete-destinazione> <subnet-mask> <next-hop | exit-interface> [AD]
Esistono tre tipi principali:
| Tipo | Esempio | Uso tipico |
|---|---|---|
| Rotta di rete | ip route 10.1.0.0 255.255.0.0 192.168.1.2 |
Raggiungere una subnet remota |
| Rotta host | ip route 10.1.1.5 255.255.255.255 192.168.1.2 |
Un singolo host (/32) |
| Default route | ip route 0.0.0.0 0.0.0.0 192.168.1.2 |
“Gateway of last resort” verso Internet/upstream |
La default route (quad-zero) matcha qualsiasi destinazione non presente in tabella ed è la rotta meno specifica: viene usata solo quando nessun’altra voce corrisponde, per via del principio del longest prefix match.
Next-hop, exit-interface e recursive lookup
Il modo in cui specifichi la rotta cambia il comportamento del router:
- Solo next-hop (
ip route 10.1.0.0 255.255.0.0 192.168.1.2): il router deve fare un recursive lookup, cioè cercare in tabella come raggiungere192.168.1.2prima di poter inoltrare. Se quel next-hop non è risolvibile, la rotta non viene installata. - Solo exit-interface (
ip route 10.1.0.0 255.255.0.0 GigabitEthernet0/1): niente ricorsione, il router assume la destinazione direttamente raggiungibile dall’interfaccia. Su link point-to-point (seriale, PPP) funziona bene, ma su segmenti multiaccesso (Ethernet) è pericoloso: il router genera una richiesta ARP per ogni host di destinazione, sovraccaricando il vicino (proxy ARP) o fallendo l’inoltro. - Fully specified (
ip route 10.1.0.0 255.255.0.0 GigabitEthernet0/1 192.168.1.2): combina interfaccia e next-hop, elimina la ricorsione e la dipendenza da proxy ARP. È la best practice su Ethernet.
Floating static route (backup)
L’Administrative Distance (AD) misura l’affidabilità della sorgente di una rotta. Valori chiave di default:
| Sorgente | AD |
|---|---|
| Connected | 0 |
| Static | 1 |
| EIGRP (internal) | 90 |
| OSPF | 110 |
| RIP | 120 |
Una floating static route è una rotta statica di backup con AD aumentata manualmente oltre quella della rotta primaria. Finché la primaria è attiva e ha AD inferiore, il router usa solo quella; la floating resta fuori dalla tabella. Se la primaria cade (link down o next-hop non risolvibile), la floating “galleggia” verso l’alto e viene installata.
Esempio: primaria via ISP-A (AD default 1), backup via ISP-B con AD 5:
ip route 0.0.0.0 0.0.0.0 203.0.113.1
ip route 0.0.0.0 0.0.0.0 198.51.100.1 5
Il valore chiave è che l’AD del backup deve essere maggiore di quello della primaria ma coerente: se per errore la floating ha AD uguale o inferiore, il router farebbe load-balancing o preferirebbe il backup, vanificando lo scopo.
Static routing IPv6
La logica è identica; cambia solo la sintassi e l’abilitazione del routing:
ipv6 unicast-routing
ipv6 route 2001:db8:acad::/48 2001:db8:1::2
ipv6 route ::/0 2001:db8:1::2 ! default route IPv6
ipv6 route 2001:db8:acad::/48 Gig0/1 fe80::2 ! fully specified con link-local
Attenzione: con un next-hop link-local (fe80::/10) è obbligatorio specificare anche l’exit-interface, perché lo stesso indirizzo link-local può esistere su più interfacce e non è globalmente univoco.
Trappole tipiche d’esame
- Recursive lookup fallito → se il next-hop di una rotta statica non è raggiungibile (non esiste una rotta per arrivarci), la statica non compare nella routing table, anche se configurata: verificane sempre la risolvibilità.
- Exit-interface su Ethernet → uno scenario con
ip route ... Gig0/0su segmento multiaccesso causa ARP flooding / dipendenza da proxy ARP: la risposta corretta è usare la forma fully specified (interfaccia + next-hop). - AD del floating troppo bassa → se la floating static ha AD ≤ della primaria, viene installata subito (o si crea load-balancing indesiderato). La soluzione giusta è un valore maggiore dell’AD della rotta primaria (es. 5 vs 1).
- Default route IPv6 → il prefisso di default in IPv6 è
::/0, non0.0.0.0/0; una domanda che propone quad-zero per IPv6 è errata. - Link-local senza interfaccia → una
ipv6 routecon next-hopfe80::...senza exit-interface viene rifiutata: va sempre fully specified. - Longest prefix match → in presenza di una rotta specifica e di una default, il traffico segue sempre la più specifica; la default è solo “of last resort”.