IPv6 static routing is a foundational method in which routes and route updates are manually configured. Compared to IPv4, IPv6 introduces some adjustments in both concepts and syntax, which will be discussed in this section
bus leo.
IPv6 Static Routing Fundamental
This topology is designed to demonstrate IPv6 static routing. In this setup, two branches (BR1 and BR2) are connected through the headquarters (HQ). The link-local address of each interface in HQ is configured as fe80::AA
. Since link-local addresses are unique only within their local link scope, we can configure each router’s interfaces with the same link-local address. Thus, all interfaces in BR1 are set to fe80::1
, and all interfaces in BR2 are set to fe80::2
.
For global addressing, the connection between HQ and BR1 uses the prefix 2001:AA:0:1::/64
, while the connection between HQ and BR2 uses 2001:AA:0:2::/64
.
Each branch router is also configured with a loopback interface: BR1 with 2001:AA:1::/64
and BR2 with 2001:AA:2::/64
. When IPv6 static routing is correctly configured, the loopback interfaces in BR1 and BR2 will be able to communicate with each other.
bus leo.
Configure IPv6 Static Routing
To complete the routing, I added a default route in BR1 and BR2 to forward all traffic destined for unknown addresses through HQ. We configure the default route in IPv6 as “::/0“, which is equivalent to “0.0.0.0” in IPv4. For the next-hop, I selected HQ’s link-local address, “fe80::AA,” on all interfaces.
Note that when using a link-local address as the next-hop, you must also specify the outgoing interface, as link-local addresses are only unique within their specific link scope.
#BR1 ipv6 route ::/0 eth0/0 fe80::AA #BR2 ipv6 route ::/0 eth0/0 fe80::AA
I chose the link-local address as the next-hop because dynamic routing protocols use link-local addresses to send routes, setting the link-local address as the next-hop. Additionally, opting for a link-local address is particularly advantageous when multiple non-link-local addresses, such as global unique addresses and unique local addresses, are available. In such cases, selecting a next-hop address becomes more complex. For these reasons, I prefer to use the link-local address as the next-hop in IPv6 static routing.
To illustrate the available options, I can configure any of the these options as the next-hop address in IPv6 static routes on the HUB router: a link-local address with the outgoing interface, a global unicast address with the outgoing interface, or a global unicast address without specifying the outgoing interface. Each of these configurations can successfully establish connectivity between networks within this topology.
#HUB ipv6 route 2001:AA:1::/64 eth0/0 fe80::1 or ipv6 route 2001:AA:1::/64 eth0/0 2001:AA:0:1::1 or ipv6 route 2001:AA:1::/64 2001:AA:0:1::1
#HUB ipv6 route 2001:AA:2::/64 eth0/1 fe80::2 or ipv6 route 2001:AA:2::/64 eth0/1 2001:AA:0:2::2 or ipv6 route 2001:AA:2::/64 2001:AA:0:2::2
BR1#traceroute 2001:AA:2::2 Type escape sequence to abort. Tracing the route to 2001:AA:2::2 1 2001:AA:0:1::AA 5 msec 5 msec 6 msec 2 2001:AA:0:2::2 1 msec 5 msec 4 msec BR1#
Similar to IPv4, you can view the contents of the IPv6 routing table using the command show ipv6 route
. To display only static routes, use show ipv6
route static
. The primary difference is the use of ipv6
instead of ip
when checking the IPv6 routing table.
HQ#show ipv6 route IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, ls - LISP site ld - LISP dyn-EID, a - Application C 2001:AA:0:1::/64 [0/0] via Ethernet0/0, directly connected L 2001:AA:0:1::AA/128 [0/0] via Ethernet0/0, receive C 2001:AA:0:2::/64 [0/0] via Ethernet0/1, directly connected L 2001:AA:0:2::AA/128 [0/0] via Ethernet0/1, receive S 2001:AA:1::/64 [1/0] via FE80::1, Ethernet0/0 S 2001:AA:2::/64 [1/0] via FE80::2, Ethernet0/1 L FF00::/8 [0/0] via Null0, receive
HQ#show ipv6 route static IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, ls - LISP site ld - LISP dyn-EID, a - Application S 2001:AA:1::/64 [1/0] via FE80::1, Ethernet0/0 S 2001:AA:2::/64 [1/0] via FE80::2, Ethernet0/1