Hands-On Lab: Configuring OSPFv3 for IPv6

This hands-on lab configures OSPFv3 between two routers to dynamically route IPv6 traffic, comparing its configuration syntax against the OSPFv2 labs covered earlier in this series while highlighting the interface-level activation approach OSPFv3 uses.

OSPFv3 ConfigurationIPv6 Dynamic RoutingInterface-Level OSPF Activation

~3 min read · Updated Sep 23, 2026

Lab Objective

Configure OSPFv3 on two routers to dynamically route between their IPv6 networks, activating OSPFv3 directly on each interface rather than using a network command, and verify routes are learned correctly.

Lab Purpose

OSPFv3 extends OSPF to support IPv6, discussed earlier in this series regarding IPv4 OSPF configuration, but changes how the protocol is enabled — rather than the network command used throughout the OSPFv2 labs, OSPFv3 is activated directly on each interface individually.

Lab Topology

R1 ---- Gi0/0 ------------------ Gi0/0 ---- R2
     2001:DB8:F:1::1/64      2001:DB8:F:1::2/64

R1's LAN: 2001:DB8:F:10::/64 (Loopback1)
R2's LAN: 2001:DB8:F:20::/64 (Loopback1)

Task 1: Configure Basic IPv6 Addressing

Enable IPv6 routing and configure the link addresses and each router's loopback representing its LAN.

Task 2: Enable OSPFv3 Directly on Each Interface

Activate OSPFv3 process 1 in area 0 on both the shared link interface and each router's loopback interface.

Task 3: Verify OSPFv3 Neighbor Formation

Confirm a neighbor relationship forms between R1 and R2.

Task 4: Verify Routes Are Learned

Confirm each router learns the other's LAN via OSPFv3.

Task 5: Verify Connectivity

Confirm R1 can ping R2's LAN address.

Solution and Verification

R1(config)# ipv6 unicast-routing
R1(config)# interface gigabitethernet0/0
R1(config-if)# ipv6 address 2001:DB8:F:1::1/64
R1(config-if)# ipv6 ospf 1 area 0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface loopback1
R1(config-if)# ipv6 address 2001:DB8:F:10::1/64
R1(config-if)# ipv6 ospf 1 area 0

-- Unlike OSPFv2's network command, OSPFv3
-- is enabled directly on each interface
-- using "ipv6 ospf 1 area 0" -- there is
-- no equivalent network statement inside
-- a separate router configuration mode

R2(config)# ipv6 unicast-routing
R2(config)# interface gigabitethernet0/0
R2(config-if)# ipv6 address 2001:DB8:F:1::2/64
R2(config-if)# ipv6 ospf 1 area 0
R2(config-if)# no shutdown
R2(config-if)# exit
R2(config)# interface loopback1
R2(config-if)# ipv6 address 2001:DB8:F:20::1/64
R2(config-if)# ipv6 ospf 1 area 0

R1# show ipv6 ospf neighbor

Neighbor ID     Pri   State           Dead Time   Interface
2.2.2.2          1     FULL/DR         00:00:38    GigabitEthernet0/0

R1# show ipv6 route ospf

O    2001:DB8:F:20::/64 [110/2]
      via FE80::250:56FF:FEBB:3344, GigabitEthernet0/0

-- Notice the next-hop is a LINK-LOCAL address,
-- discussed earlier in this series regarding
-- IPv6 addressing, rather than R2's global
-- unicast address -- OSPFv3 uses link-local
-- addresses for its next-hop by design

R1# ping 2001:DB8:F:20::1

!!!!!
Success rate is 100 percent (5/5)

Key Takeaway

OSPFv3's next-hop addresses in the routing table use link-local addresses rather than global unicast addresses, discussed earlier in this series regarding automatic link-local generation — this is a distinctive detail from OSPFv2 worth recognizing immediately when reading OSPFv3 routing table output, since it can otherwise look like an error at first glance.

Written & researched by Dr. Shahin Siami

Related Articles

Hands-On Lab: Configuring UDLD

This hands-on lab configures UDLD in aggressive mode on a fiber link between two switches, simulating a unidirectional fiber failure and verifying UDLD detects the mismatch and shuts down the affected port before a Layer 2 loop can form.

Continue

Hands-On Lab: Configuring Loop Guard

This hands-on lab configures Loop Guard on a switch's non-designated ports to prevent a unidirectional link failure from causing a Layer 2 loop, simulating a one-way BPDU loss and verifying the affected port enters a loop-inconsistent blocking state rather than incorrectly transitioning to forwarding.

Continue

Hands-On Lab: Configuring BPDU Guard and BPDU Filter

This hands-on lab configures BPDU Guard globally for PortFast-enabled ports and demonstrates the distinct, riskier behavior of BPDU Filter, comparing how each responds when a switch is connected to an access port that should only ever see end-user devices.

Continue

Hands-On Lab: Configuring Root Guard

This hands-on lab configures Root Guard on switch ports facing access-layer switches to prevent an unauthorized or misconfigured switch from becoming the Spanning Tree root, verifying the port enters a root-inconsistent state when a superior BPDU is received.

Continue

Hands-On Lab: Comprehensive Troubleshooting Challenge

This hands-on lab presents a multi-layer connectivity failure across VLANs, trunking, routing, and NAT simultaneously, requiring systematic bottom-up troubleshooting to identify and correct three independent faults before full connectivity is restored.

Continue

Hands-On Lab: Configuring Enhanced Object Tracking with HSRP

This hands-on lab configures IP SLA-based object tracking on an HSRP-enabled router, automatically lowering its priority when its WAN uplink fails, forcing failover to the standby router without requiring a full interface shutdown.

Continue