β οΈ Prima di leggere: hai controllato show ipv6 route su entrambi i router e show ipv6 interface brief? Il ragionamento conta piΓΉ dei comandi.
BUG 1
R1 β ipv6 unicast-routing non abilitato
π Come identificarlo:
R1# show ipv6 route
IPv6 Routing Table - default - 3 entries
C 2001:DB8:1::/64 [0/0] via GigabitEthernet0/0, directly connected
L 2001:DB8:1::1/128 [0/0] via GigabitEthernet0/0, receive
L FF00::/8 [0/0] via Null0, receive
β solo rotte connected e local β nessun forwarding IPv6!
R1# show run | section ipv6
interface GigabitEthernet0/0
ipv6 address 2001:DB8:1::1/64
interface GigabitEthernet0/1
ipv6 address 2001:DB8:FF::1/64
(manca: ipv6 unicast-routing)
π§ Fix:
R1# conf t
R1(config)# ipv6 unicast-routing
PerchΓ© funziona: Su Cisco IOS, il forwarding IPv6 Γ¨ disabilitato per default. Il comando ipv6 unicast-routing abilita il router a forwardare pacchetti IPv6 tra le interfacce β senza di esso, il router si comporta come un host IPv6, non come un router.
BUG 2
R2 Gi0/1 β prefisso /128 invece di /64 sulla LAN
π Come identificarlo:
R2# show ipv6 interface Gi0/1
GigabitEthernet0/1 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::2
Global unicast address(es):
2001:DB8:2::1, subnet is 2001:DB8:2::1/128
β /128 = host route, non una subnet! SLAAC impossibile
π§ Fix:
R2# conf t
R2(config)# interface GigabitEthernet0/1
R2(config-if)# no ipv6 address 2001:db8:2::1/128
R2(config-if)# ipv6 address 2001:db8:2::1/64
PerchΓ© funziona: Un /128 Γ¨ una host route β identifica un singolo indirizzo, non una subnet. Con /128, il router non sa che 2001:db8:2::/64 Γ¨ una rete connessa, non annuncia il prefisso via RA (Router Advertisement) e gli host non possono fare SLAAC. Con /64, il router annuncia correttamente il prefisso nella LAN.
BUG 3
R1 β manca route statica IPv6 verso 2001:db8:2::/64
π Come identificarlo:
R1# show ipv6 route
C 2001:DB8:1::/64 via GigabitEthernet0/0
C 2001:DB8:FF::/64 via GigabitEthernet0/1
β 2001:DB8:2::/64 non presente!
R2# show ipv6 route
C 2001:DB8:2::/64 via GigabitEthernet0/1
C 2001:DB8:FF::/64 via GigabitEthernet0/0
S 2001:DB8:1::/64 [1/0] via FE80::1 β R2 ha la route β
π§ Fix:
R1# conf t
R1(config)# ipv6 route 2001:db8:2::/64 GigabitEthernet0/1 fe80::2
PerchΓ© funziona: IPv6 non ha un equivalente diretto del VLSM automatico β le route statiche devono essere configurate manualmente. In IPv6 Γ¨ obbligatorio specificare l'interfaccia di uscita quando si usa un link-local come next-hop (il link-local non Γ¨ globalmente univoco β serve sapere su quale interfaccia cercarlo).
π§ Come ragionare su un problema IPv6
Passo 1 β ipv6 unicast-routing abilitato?
Prima di qualsiasi altra verifica: show run | section ipv6 β c'Γ¨ la riga ipv6 unicast-routing nella config globale? Senza di essa il router non forwarda IPv6.
Passo 2 β Indirizzi e prefissi corretti?
show ipv6 interface brief β tutti gli indirizzi sono in stato "valid"? Controlla i prefissi β /64 per le LAN, /64 o /127 per i link WAN point-to-point. Un /128 su una LAN Γ¨ quasi sempre un errore.
Passo 3 β Routing table completa?
show ipv6 route β ci sono route verso tutte le subnet remote? In IPv6 senza routing dinamico, le route statiche devono essere configurate esplicitamente su ogni router.
Passo 4 β Next-hop link-local?
In IPv6 le route statiche usano spesso un link-local come next-hop (es. fe80::2). In quel caso Γ¨ obbligatorio specificare anche l'interfaccia di uscita: ipv6 route ::/0 Gi0/1 fe80::2
π Concetti chiave β IPv6
Tipi di indirizzi IPv6
GUA (Global Unicast): 2000::/3 β pubblico, instradabile
Link-local: fe80::/10 β solo sul link locale
Loopback: ::1/128
Multicast: ff00::/8
Prefissi standard
/64 β subnet LAN standard (SLAAC)
/64 o /127 β link WAN p2p
/128 β host route (loopback)
/48 β prefisso assegnato a un sito
SLAAC richiede /64 obbligatoriamente
SLAAC β Stateless Address Autoconfiguration
Il router invia RA (Router Advertisement) con il prefisso /64.
L'host genera autonomamente la seconda metΓ (EUI-64 o random).
Richiede prefisso /64 β non funziona con /128 o /127.
ipv6 unicast-routing
Disabilitato per default su IOS.
Senza di esso: il router riceve/invia IPv6 ma non forwarda.
Abilita anche l'invio di RA (Router Advertisement).
Non esiste equivalente per IPv4 β lΓ¬ Γ¨ sempre attivo.
π Teoria β Bug 1: ipv6 unicast-routing mancante
In IPv4, il routing Γ¨ sempre attivo su un router Cisco. In IPv6 Γ¨ una scelta esplicita β il comando ipv6 unicast-routing Γ¨ necessario per:
1. Forwardare pacchetti IPv6 tra interfacce
2. Inviare Router Advertisement (RA) β necessari per SLAAC
3. Partecipare a protocolli di routing IPv6 (OSPFv3, EIGRP per IPv6)
Senza questo comando il router si comporta come un host IPv6 β ha indirizzi configurati sulle interfacce ma non instrada il traffico.
π Teoria β Bug 2: /128 su interfaccia LAN
Un indirizzo /128 identifica un singolo host β Γ¨ l'equivalente IPv6 di una route /32 in IPv4. Quando viene configurato su un'interfaccia LAN invece di /64:
β’ Il router non crea una route connected per la subnet 2001:db8:2::/64
β’ Non invia RA con il prefisso /64 β gli host non possono fare SLAAC
β’ La route statica sull'altro router punta a /64 ma non c'Γ¨ traffico forwarded
show ipv6 interface mostra il prefisso come /128 β questo Γ¨ il segnale diagnostico chiave.
π Teoria β Bug 3: Route statica con next-hop link-local
In IPv6 i link-local (fe80::x) non sono globalmente univoci β lo stesso indirizzo fe80::1 potrebbe esistere su interfacce diverse del router. Per questo, quando si usa un link-local come next-hop, Γ¨ obbligatorio specificare l'interfaccia di uscita:
ipv6 route 2001:db8:2::/64 GigabitEthernet0/1 fe80::2 β
ipv6 route 2001:db8:2::/64 fe80::2 β (ambiguo)
In alternativa si puΓ² usare l'indirizzo GUA del next-hop senza specificare l'interfaccia:
ipv6 route 2001:db8:2::/64 2001:db8:ff::2 β
show ipv6 interface brief β stato indirizzi, prefissi, valid/tentative
show ipv6 interface <iface> β dettaglio, link-local, RA, SLAAC
show ipv6 route β routing table IPv6 (C/L/S/O)
show run | section ipv6 β unicast-routing, indirizzi, route
ping ipv6 <address> β test raggiungibilitΓ IPv6
π¬π§ English version β Cisco official terminology for CCNA exam preparation.
BUG 1
R1 β ipv6 unicast-routing not enabled
π How to identify:
R1# show run | section ipv6
interface GigabitEthernet0/0
ipv6 address 2001:DB8:1::1/64
interface GigabitEthernet0/1
ipv6 address 2001:DB8:FF::1/64
(no ipv6 unicast-routing in global config)
π§ Fix:
R1# configure terminal
R1(config)# ipv6 unicast-routing
Why this works: Unlike IPv4, IPv6 forwarding is disabled by default on Cisco IOS. The ipv6 unicast-routing command enables the router to forward IPv6 packets between interfaces and to send Router Advertisement (RA) messages for SLAAC. Without it, the router acts as an IPv6 host.
π Key concept β IPv6 unicast-routing
β’ IPv4: routing always enabled on a router β no command needed
β’ IPv6: must be explicitly enabled with ipv6 unicast-routing
β’ Also enables RA messages (required for SLAAC)
β’ Also enables participation in OSPFv3 and other IPv6 routing protocols
BUG 2
R2 Gi0/1 β /128 prefix on LAN interface instead of /64
π How to identify:
R2# show ipv6 interface GigabitEthernet0/1
Global unicast address(es):
2001:DB8:2::1, subnet is 2001:DB8:2::1/128
β /128 = host route, not a subnet!
π§ Fix:
R2# configure terminal
R2(config)# interface GigabitEthernet0/1
R2(config-if)# no ipv6 address 2001:db8:2::1/128
R2(config-if)# ipv6 address 2001:db8:2::1/64
Why this works: A /128 is a host route β it identifies a single address, not a subnet. With /128, the router cannot advertise the 2001:db8:2::/64 prefix via Router Advertisements, SLAAC fails for hosts, and no connected route for the /64 subnet exists in the routing table.
π Key concept β IPv6 prefix lengths
β’ /64 β standard LAN subnet (required for SLAAC)
β’ /64 or /127 β point-to-point WAN links
β’ /128 β host route only (loopback, never a LAN)
β’ SLAAC requires /64 β will not work with /128 or /127
BUG 3
R1 β missing static IPv6 route to 2001:db8:2::/64
π How to identify:
R1# show ipv6 route
C 2001:DB8:1::/64 [0/0] via GigabitEthernet0/0
C 2001:DB8:FF::/64 [0/0] via GigabitEthernet0/1
β no route to 2001:DB8:2::/64!
π§ Fix:
R1# configure terminal
R1(config)# ipv6 route 2001:db8:2::/64 GigabitEthernet0/1 fe80::2
Why this works: When using a link-local address as the next-hop in an IPv6 static route, you must also specify the exit interface. Link-local addresses are not globally unique β fe80::2 could exist on multiple interfaces. The router needs the interface to know which neighbor to reach.
π Key concept β IPv6 static routes with link-local next-hop
With link-local next-hop (mandatory to specify exit interface):
ipv6 route 2001:db8:2::/64 GigabitEthernet0/1 fe80::2
With GUA next-hop (exit interface optional):
ipv6 route 2001:db8:2::/64 2001:db8:ff::2
Default route IPv6:
ipv6 route ::/0 GigabitEthernet0/1 fe80::2
π―
Exam Practice β IPv6 Troubleshooting
3 questions Β· CCNA 200-301 style Β· answer before checking
0/3
Q1.
A router has IPv6 addresses configured on all interfaces but cannot forward IPv6 packets between them. IPv4 routing works correctly. What is the most likely cause?
A) The IPv6 addresses are in the wrong subnet
B) The command ipv6 unicast-routing has not been configured
C) Static IPv6 routes are missing from the routing table
D) The interfaces need to be enabled with ipv6 enable
Q2.
An administrator runs show ipv6 interface GigabitEthernet0/1 and sees: "subnet is 2001:DB8:2::1/128". Hosts on that segment cannot autoconfigure their IPv6 addresses. What is the problem?
A) The interface is missing the ipv6 enable command
B) The prefix length is /128 (host route) instead of /64 β SLAAC requires a /64 prefix
C) The IPv6 address uses the wrong prefix (should be fc00::/7)
D) The router is not sending DHCPv6 responses
Q3.
Which command correctly adds a static IPv6 route to network 2001:db8:3::/64 using the link-local address fe80::3 reachable via GigabitEthernet0/1?
A) ipv6 route 2001:db8:3::/64 fe80::3
B) ipv6 route 2001:db8:3::/64 GigabitEthernet0/1 fe80::3
C) ipv6 static-route 2001:db8:3::/64 next-hop fe80::3 exit-if Gi0/1
D) ip route 2001:db8:3::/64 GigabitEthernet0/1 fe80::3