How do you write an IPv6 static route with a link-local next hop, and why is the interface required?
Show the answer
Say this first
ipv6 route 2001:db8:50::/48 GigabitEthernet0/0/1 FE80::2. A link-local address is only unique on its
own link, and the same FE80 address can exist behind every interface, so IOS needs the interface to know
which link the next hop is on. A global next hop can be given alone. ipv6 unicast-routing must be enabled
for the router to forward IPv6 at all.
Go deeper
Configuration
ipv6 unicast-routing
!
interface GigabitEthernet0/0/1
ipv6 address 2001:db8:12::1/64
ipv6 address FE80::1 link-local
!
ipv6 route 2001:db8:50::/48 GigabitEthernet0/0/1 FE80::2
ipv6 route ::/0 GigabitEthernet0/0/0 FE80::1
ipv6 route ::/0 GigabitEthernet0/0/2 FE80::1 250The last line is a floating default with AD 250, the same idea as IPv4.
Output
R1# show ipv6 route static
...
S ::/0 [1/0]
via FE80::1, GigabitEthernet0/0/0
S 2001:DB8:50::/48 [1/0]
via FE80::2, GigabitEthernet0/0/1Why people prefer link-local next hops
- They do not change when the global prefix is renumbered.
- Routing protocols already use them: OSPFv3 and EIGRP for IPv6 next hops are link-local addresses.
- Setting them by hand (
ipv6 address FE80::1 link-local) makes them short and readable instead of EUI-64 derived.
They will ask next
The two default routes above both use FE80::1 as next hop. Is that a problem?
No. They are on different links, and the interface in each route tells the router which FE80::1 it means. That is the whole reason the interface is mandatory.
Traps
- Giving only
FE80::2with no interface. IOS rejects it because the link is ambiguous.
How did you do?Book 4.2 IP Version 6