Welcome to this article, where we will be dealing with a Packet Tracer lab that focuses on the basics of IPv6. This lab pertains to both the CCNA R&S and Security certification exams, although it seems IPv6 is not covered in the new version of the CCNA Security exam (IINS v3.0). There are a lot of IPv6 articles on the Intense School site that you may want to go through first.

In this lab, we will enable IPv6 on Cisco routers, configure IPv6 addresses, and also use stateless address autoconfiguration (SLAAC) for address assignment.

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

Two files are attached to this article:

  • intro_to_ipv6_init.pkt: This Packet Tracer file contains the lab setup with only the hostnames configured.
  • intro_to_ipv6_final.pkt: This Packet Tracer file contains the lab fully configured to meet the tasks.

The tasks for this lab are follows:

  • Enable IPv6 on R1’s Fa0/0 interface. Do not manually assign an IPv6 address to this interface. Verify IPv6 connectivity between R1 and Host1.
  • Configure a general prefix of 2001:db8:2::/48 on R2. Using this general prefix, configure an IPv6 address of 2001:db8:2:aaaa::2/64 on R2’s Fa0/0 interface.
  • Configure R1 so that its Fa0/1 interface automatically generates an IPv6 address for itself based on router advertisements received from R2. Make the necessary configuration on R2 that will allow this to happen.
  • Configure an IPv6 address from the 2001:db8:1:aaaa::/64 prefix on R1’s Fa0/0 interface using EUI-64 to form the interface ID. Ensure that Host1 automatically configures an IPv6 address for itself from this prefix (2001:db8:1:aaaa::/64).

Lab Solutions

Task 1: Enabling IPv6

There are two ways to enable IPv6 on an interface: by using the ipv6 enable interface configuration command or by configuring an IPv6 address on that interface. Since this task specifically states that we should not manually assign an IPv6 address, we will use the ipv6 enable command.

interface Fa0/0
ipv6 enable
no shutdown

With IPv6 enabled on that interface, a link-local IPv6 address will automatically be generated, as shown in the output of the show ipv6 interface brief command below:

Since this interface and Host1 are on the same link, we should have connectivity between the two devices. Therefore, let’s verify connectivity between them by pinging from Host1:

Note: I wasn’t able to ping a link-local IPv6 address from the router in Packet Tracer even though it works on a real device – you will only need to specify a source interface.

Task 2: General Prefixes

We can create general prefixes that can be referenced during address assignment and they make renumbering easier—change a general prefix and the IPv6 addresses that reference this general prefix will also change.

When using a general prefix in an IPv6 address assignment, you can use any hexadecimal character to represent the general prefix part, since it will be ignored. The configuration below shows what I mean:

ipv6 general-prefix GP 2001:DB8:2::/48
interface FastEthernet0/0
ipv6 address GP 0:0:0:AAAA:0:0:0:2/64
no shutdown

Notice how I used “0:0:0” to represent the part covered by the general prefix (2001:db8:2); we could have used any other hex character. We can confirm the IPv6 address configured on the interface by using the show ipv6 interface brief command:

Task 3: SLAAC

Another way we can assign an IPv6 address is through stateless address autoconfiguration (SLAAC), where a device automatically generates an IPv6 address for its interface from router advertisement messages that it receives. The command to enable SLAAC on a Cisco router is ipv6 address autoconfig, therefore, we need the following configuration on R1:

interface FastEthernet0/1
ipv6 address autoconfig
no shutdown

Although you have the necessary configuration on R1, there is still more to done on R2. By default, IPv6 routing is not enabled on Cisco routers (unlike IPv4 routing, which is enabled by default) and without enabling IPv6 routing, a Cisco router will not send IPv6 router advertisement messages or respond to router solicitation messages.

Therefore, on R2, we need to enable IPv6 routing by using the following configuration:

ipv6 unicast-routing

Hint: You may need to shut/no-shut R1’s Fa0/1 interface to receive the autoconfig address.

With this configuration, if we check R1’s IPv6 addresses, we will see one from the 2001:db8:2:aaaa::/64 prefix:

Task 4: EUI-64 and SLAAC

This task is twofold: the first part deals with creating an IPv4 address using the EUI-64 format and the other part focuses on a host using SLAAC to automatically configure an IP address for itself.

For the first part, when assigning an IPv6 address to a router interface, you can specify an IPv6 prefix and then instruct the router to use the EUI-64 format to generate an interface ID. You can read more about EUI-64 here.

interface FastEthernet0/0
ipv6 address 2001:db8:1:aaaa::/64 eui-64

We can view the IPv6 address generated by using EUI-64 from the output of the show ipv6 interface brief command:

For the other part of the task, we need to enable IPv6 routing on R1 so that it can send router advertisement messages and also respond to router solicitation messages:

ipv6 unicast-routing

Next, we need to enable SLAAC on the host by going to the IPv6 configuration section (either from the Config tab or by using the IP Configuration tool) and clicking “Auto Config”

As you can see, the host has generated an IPv6 address from the 2001:db8:1:aaaa::/64 prefix as received from R1. We can ping this address from R1:

Note: As you can see, Packet Tracer allows us to ping a global unicast IPv6 address from a router but not a link-local address.


This brings us to the end of this lab, where we have configured basic IPv6 features such as IPv6 addresses, using EUI-64 to generate an interface ID, and address autoconfiguration via SLAAC.

I hope you have found this lab interesting.

References and Further Reading