Welcome to this article where we continue with our Packet Tracer lab on IPv6. In this lab, we will be looking at IPv6 routing, i.e. both static and dynamic routing. We will also consider IPv6 tunnelling. There are articles on the Intense School site that cover these topics in detail and you may want to review those articles first; for example, IPv6 static routing, EIGRPv6 and OSPFv3.

For this article, we will be using a lab setup as shown below:

Two files are attached to this article:

  • ipv6_routing_init.pkt: This Packet Tracer file contains the lab setup with IPv6 addressing on all devices. Note that there has been a slight change in the IPv6 addressing plan from the previous lab so take time to familiarize yourself with the new plan.
  • ipv6_routing_final.pkt: This Packet Tracer file contains the lab fully configured to meet the tasks.

The tasks for this lab are as follows:

  • Enable dynamic routing (EIGRPv6) in Site A, i.e. R1’s Fa0/0 and Fa0/1 interfaces and R2’s Fa0/0 interface. Ensure that Host1 can ping R2’s global unicast address.
  • Enable dynamic router (OSPFv3) in Site B, i.e. R3’s Fa0/0 interface and R4’s Fa0/0 and Fa0/1 interfaces. Ensure that Host2 can ping R3’s global unicast address.
  • Configure a manual tunnel between R2 and R3 using an IPv6 prefix of 2001:db8:ab:23::/64. The tunnel source on each router should be their Fa0/1 interface and the tunnel destination should be the IP address of the other router’s Fa0/1 interface.
  • Ensure that devices in Site A can communicate with devices in Site B using IPv6.

Lab Solutions

Task 1: EIGRPv6

Even though there is connectivity between Host1 and R1 and between R1 and R2, there is currently no connectivity between Host1 and R2. We can confirm this by pinging R2 from Host1:

Just like in IPv4, we need to configure proper routing so that different networks will be able to communicate with each other. In this task, we will configure a dynamic routing protocol (EIGRPv6) on both R1 and R2.

There are a couple of things to note for this task:

  • We need to configure a router ID for R1’s EIGRP process since R1 does not have any IPv4 address configured. R2 has an IPv4 address on its Fa0/1 interface so it doesn’t need a manually configured router ID (except if we want it).
  • The EIGRPv6 process must be brought up because it is in shut down state by default.

The configuration required on R1 for this task is as follows:

interface FastEthernet0/0
 ipv6 eigrp 10
interface FastEthernet0/1
 ipv6 eigrp 10
!
ipv6 router eigrp 10
 eigrp router-id 1.1.1.1
 no shutdown

The configuration necessary on R2 for this task is as follows:

interface Fa0/0
 ipv6 eigrp 10
!
ipv6 router eigrp 10
 eigrp router-id 2.2.2.2
 no shutdown

If everything goes well, the EIGRP neighbour adjacency between R1 and R2 should form. We can check R2’s IPv6 routing table to see if the IPv6 prefix between Host1 and R1 is advertised:

Cool. Now let’s try that ping between Host1 and R2 again:

Task 2: OSPFv3

This task requires us to configure OSPFv3 in Site B. The configuration necessary to achieve this on R3 is as follows:

interface FastEthernet0/0
 ipv6 ospf 1 area 0
!
ipv6 router ospf 1
 router-id 3.3.3.3

The configuration necessary to complete this task on R4 is as follows (I chose to use the same OSPF area for all interfaces):

interface FastEthernet0/0
 ipv6 ospf 1 area 0
!
interface FastEthernet0/1
 ipv6 ospf 1 area 0
!
ipv6 router ospf 1
 router-id 4.4.4.4

With this configuration, Host2 should now be able to ping R3 because R3 knows about the 2001:db8:b:4::/64 network:

Task 3: Configured (Manual) Tunnel

Site A and Site B are connected over an IPv4 network and one of the ways we can enable communication between both IPv6 domains is by configuring a tunnel. You can refer to this article for more information about IPv6 manual tunnels.

The tunnel configuration on R2 is as follows:

interface Tunnel23
 ipv6 address 2001:db8:ab:23::2/64
 tunnel source FastEthernet0/1
 tunnel destination 192.0.2.3
 tunnel mode ipv6ip

The tunnel configuration on R3 is similar as:

interface Tunnel23
 ipv6 address 2001:db8:ab:23::3/64
 tunnel source FastEthernet0/1
 tunnel destination 192.0.2.2
 tunnel mode ipv6ip

To confirm that the tunnel is up, we can ping from one end of the tunnel to the other:

Task 4: Routing between IPv6 Domains

This task basically requires routing between the two IPv6 domains. Since we have a tunnel between the two domains, then there are two basic options we can use to accomplish this task – static and/or default routing or dynamic routing

I have decided to go with the first option (static routing) since it is much simpler. We will configure static routes on both R2 and R3 and then redistribute these routes into EIGRPv6 and OSPFv3 respectively. The necessary configuration is as follows:

!R2
ipv6 route 2001:db8:b::/48 2001:db8:ab:23::3
ipv6 router eigrp 10
redistribute static metric 1500 10 1 1 1500
!
!R3
ipv6 route 2001:db8:a::/48 2001:db8:ab:23::2
ipv6 router ospf 1
redistribute static
!

With this configuration, we can verify that R1 is receiving the 2001:db8:b::/48 prefix and that R4 is receiving the 2001:db8:a::/48 prefix:

Since Host1 has R1 as its default gateway and Host2 has R4 as its default gateway, then Host1 and Host2 should be able to communicate. We can verify by pinging from one host to the other:

Summary

This brings us to the end of this lab where we discussed IPv6 routing and a type of IPv6 tunnelling. I hope you have found this article insightful.