Each IPv6 node on the network needs a globally unique address to communicate outside its local segment. But where a node get such an address from? There are a few options:

  • Manual assignment - Every node can be configured with an IPv6 address manually by an administrator. It is not a scalable approach and is prone to human error.  
  • DHCPv6 (The Dynamic Host Configuration Protocol version 6) - The most widely adopted protocol for dynamically assigning addresses to hosts. Requires a DHCP server on the network and additional configuration.
  • SLAAC (Stateless Address Autoconfiguration)   -  It was designed to be a simpler and more straight-forward approach to IPv6 auto-addressing. In its current implementation as defined in RFC 4862 , SLAAC does not provide DNS server addresses to hosts and that is why it is not widely adopted at the moment. 

In this lesson, we are going to learn how SLAAC works and what are the pros and cons of using it in comparison to DHCPv6.

What is SLAAC?

SLAAC stands for Stateless Address Autoconfiguration and the name pretty much explains what it does. It is a mechanism that enables each host on the network to auto-configure a unique IPv6 address without any device keeping track of which address is assigned to which node.

Stateless and Stateful in the context of address assignment mean the following:

  • A stateful address assignment involves a server or other device that keeps track of the state of each assignment. It tracks the address pool availability and resolves duplicated address conflicts. It also logs every assignment and keeps track of the expiration times.
  • Stateless address assignment means that  no server keeps track of what addresses have been assigned and what addresses are still available for an assignment. Also in the stateless assignment scenario, nodes are responsible to resolve any duplicated address conflicts following the logic: Generate an IPv6 address, run the Duplicate Address Detection (DAD), if the address happens to be in use, generate another one and run DAD again, etc.

How does SLAAC work?

To fully understand how the IPv6 auto-addressing work, let's follow the steps an IPv6 node takes from the moment it gets connect to the network to the moment it has a unique global unicast address.

Step 1: The node configures itself with a link-local address

When an IPv6 node is connected to an IPv6 enabled network, the first thing it typically does is to auto-configure itself with a link-local address. The purpose of this local address is to enable the node to communicate at Layer 3 with other IPv6 devices in the local segment. The most widely adopted way of auto-configuring a link-local address is by combining the link-local prefix FE80::/64 and the EUI-64 interface identifier, generated from the interface's MAC address. 

Figure 1 shows a step by step example of how a local address is generated from MAC address 7007.1234.5678.

Generating a link-local address from interface's MAC address

Once the above steps are completed, the node has a fully functional EUI-64 format link-local address as shown below:

Step 2: The node performs Duplicate Address Detection (DAD)

After the IPv6 host has its link-local address auto-configured, it has to make sure that the address is actually unique in the local segment. Even though the chances that another node has the same exact address are very slim. It has to perform a process called Duplicate Address Detection (DAD).

DAD is a mechanism that involves a special type of address called solicited-node multicast . Upon configuring an IPv6 address, every node joins a multicast group identified by the address FF02::1:FFxx:xxxx where xx:xxxx are the last 6 hexadecimal values in the IPv6 unicast address. Therefore, for each configured unicast address, no matter if it is link-local or global, the host joins the respective auto-generated solicited-node multicast group.

In our example, the last 6 hexadecimal values of the link-local address are 34:5678 so the node joins the multicast group FF02::1:FF 34:5678 . As PC1 is running a Windows 10 operating system, we can verify that with the following command:

Having this logic in mind, we know that if another host has the same exact link-local address, it will also be listening for messages on the solicited-node multicast group auto-generated from this address - FF02::1:FF34:5678. In order for PC1 to check that, it sends an ICMPv6 message with a destination address set to this group, and the source address set to the IPv6 unspecified address. In the ICMPv6 portion of the packet, PC1 puts the whole address in the Target Address field. Figure 2 illustrates that process. PC1 then sends the packet on the network. Only nodes that are listening to this exact auto-generated multicast group will open the packet, all other nodes will discard it. If any node has an IPv6 address that has the same last 6 hex digits, will look in the ICMPv6 portion and check if the target address matches any of its own addresses. If there is a match, the host will reply back that this IPv6 address is already in use. If nobody replies back, PC1 will conclude that this address is unique and available to be used, and will assign it.

PC1 performs IPv6 DAD for its link-local address

This process is called Duplicate Address Detection (DAD) and is done upon every new address assignment. In our example, PC1 sends the ICMPv6 Neighbor Solicitation message as shown in figure 2, and nobody replies back. PC1 will then know for sure that this link-local address is unique in this local segment.

Step 3: The node sends a Router Solicitation message

Step 1 and 2 in this example depict the process of generating and assigning a unique link-local address. This process is not exactly part of the Stateless Autoconfiguration feature but without a link-local address, PC1 won't be able to communicate at layer 3 with any other IPv6 node. Thus, it is a pre-requisite for the SLAAC to work and that's why we have included it in our example.

After PC1 has a link-local address, it can now start the process of auto-configuring a global unicast address using SLAAC. The first step of this process is to send an ICMPv6 message called Router Solicitation (RS) . The purpose of this message is to ' ask ' all IPv6 routers attached to this segment about the global unicast prefix that is used. The destination address is the all-routers multicast address FF02::2 and for source, PC1 uses its link-local address. Note that only routers are subscribed to multicast group FF02::2, which means that only Router 1 will process this message, and all other nodes on the local segment will discard it.

After Router 1 gets the Router Solicitation message, it responds back with an ICMPv6 message called Router Advertisement (RA). The RA message includes the global IPv6 prefix on the link and the prefix length. In our example, these would be the prefix 2001:1234:A:b:: and the prefix length of /64. For the source of this RA packet, Router 1 uses its own link-local address and destination is the all-nodes multicast address FF02::1. The process is illustrated in figure 3.

Step 4: The node configures its global unicast address

Once PC1 gets back the Router Advertisement from  Router 1, it combines the prefix 2001:1234:A:B::/64 with its EUI-64 interface identifier (7207:12FF:FE34:5678) resulting in the global unicast address 2001:1234:A:B:7207:12FF:FE34:5678/64. Because the Router Advertisement came from Router 1, PC1 sets its IPv6 default gateway to the link-local address of R1.

Now PC1 has a global unicast address and a default gateway. But the SLAAC process is not completed. PC1 must know for sure this auto-generated address is unique in the local segment. Thus, PC1 performs the Duplicate Address Detection (DAD) process. 

Step 5: The node performs Duplicate Address Detection (DAD)

We have already explained the DAD process in detail in step 2. When PC1 auto-generate its global unicast address, it immediately joins the auto-generated solicited-node multicast group FF02::1:FF34:5678. To be sure that nobody else is using this address, PC1 then sends an ICMPv6 message called Neighbor Solicitation to the solicited-node address FF02::1:FF34:5678 and waits to see if a node replies back. If no reply is received back, PC1 knows that this address is unique and can start using it for communication outside its local segment including on the Internet.

The problem with SLAAC

So far so good. We have seen how a node can auto-configure a globally unique IPv6 address and a default gateway.

However, SLAAC does not provide DNS information and without DNS, many services such as surfing the Internet are not possible.  

There is a field in the Router Advertisement header, that is designed to solve this problem.

Router Advertisement Flags

As we said above, by default, SLAAC does not provide DNS. And without DNS, many services that require resolution from URL addresses to IP won't work. There is a field in the RA message that helps nodes understand where to get an IPv6 address and DNS information from. 

Examining the Router Advertisement Flags

If the M-flag is set to 1, it indicates that addresses are available via DHCPv6. The router is basically telling the nodes to ask the DHCP server for addresses and DNS information. If the M flag is set, the O flag can be ignored because DHCPv6 will return all available information.

If the O-flag is set to 1, it indicates that DNS information is available via DHCPv6. The router is basically telling the nodes to auto-configure an address via SLAAC and ask the DHCP server for DNS information.

If neither M nor O flags are set, this indicates that no DHCPv6 server is available on the segment.

The Prf-flag (Default Router Preference) can be set to Low (1), Medium (0), or High(3). When a node receives Router Advertisement messages from multiple routers, the Default Router Preference (DRP) is used to determine which router to prefer as a default gateway.

Examining the Router Advertisement Flags with Wireshark

Configuring SLAAC on Cisco routers

Typically, when IPv6 unicast-routing is enabled on a Cisco router, it starts to send RA messages via all interfaces that have a configured IPv6 global unicast address. 

In our example, when interface GigabitEthernet 0/0 is configured with a global IPv6 unicast address, it immediately starts sending RA messages on the local segment. 

Most parameters can be verified using the show ipv6 interface command

If there is a DHCPv6 server available on the segment, we can set the M-flag or the O-flag in the RA messages using the following options. 

If you'd like to disable the SLAAC feature on this interface, you can use the suppress command under the interface ipv6 options

  • Artificial Intelligence
  • Generative AI
  • Cloud Computing
  • CPUs and Processors
  • Data Center
  • Edge Computing
  • Enterprise Storage
  • Virtualization
  • Internet of Things
  • Network Management Software
  • Network Security
  • Enterprise Buyer’s Guides
  • United States
  • Newsletters
  • Foundry Careers
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Copyright Notice
  • Member Preferences
  • About AdChoices
  • E-commerce Links
  • Your California Privacy Rights

Our Network

  • Computerworld

tim_ferrill

IPv6: How to configure static and DHCP IP addressing and deal with DNS

Ipv6 offers several ways that aren’t possible in ipv4 to assign ip addresses, and dns set-up has differences as well..

IPv6 wireless network protocol

As IP technology has matured, the range of devices that the internet protocol supports goes well beyond computers to include cell phones, entertainment systems, and Internet of Things (IoT) devices, which created the need for more IP addresses and the development of IPv6 to provide them.

With more and more device types requiring network connectivity, the demand for addresses in an IPv4-based network is at a premium. It can provide somewhere south of 4,294,967,296 unique addresses. IPv6 , on the other hand, can yield roughly 3.4×10 38 , which should be ample for a very long time.

IPv6 also includes performance enhancements like refined multicasting, stateless address autoconfiguration (SLAAC), simplified headers to streamline router processing, and the option to allow larger packets. Security also gets a potential boost in IPv6 with IPSec, which was initially built for IPv6 and then retrofitted for IPv4.

Dealing with IPv6 includes familiarizing yourself with two important IP concepts: DHCP and DNS. Here are tips on both.

Key IPv6 addressing concepts

IPv6 addressing within a network has a few major differences from IPv4. With IPv4 certain address ranges are reserved for private networks (such as 10.0.0.0/8 or 192.168.0.0/16) and link-local addressing without dynamic host configuration protocol (DHCP) (169.254.0.0/16).

DHCP automatically assigns IP addresses and distributes other information to hosts on a network so they can communicate with other endpoints. At the same time, by assigning active IP addresses only to active devices, DHCP can reuse them to help conserve IPv4 addresses. IPv6 has similar concepts but refines each idea a little further.

Link-local addresses in IPv6 exist on each interface, regardless of whether the interface has an address assigned from DHCP or is configured using another method. Link-local IPv6 addresses have a prefix of fe80::/10 and a 64-bit suffix which can be computed and managed by the host itself without requiring additional networking components. IPv6 hosts can verify the uniqueness of their link-local addresses through a neighbor discovery process, which reaches out to the local network in order to verify that the address is not already in use.

Once a link-local address has been established, the IPv6 host attempts to determine if an IPv6-capable router is available through the use of a router solicitation message. If an IPv6 router is available it will respond with a router advertisement, which includes network configuration information such as a network prefix that is used for automatic address configuration using SLAAC or whether the host should obtain additional configuration information from a DHCPv6 server.

Configuring a Static IPv6 address in Windows

Typical to Windows, there are three ways to configure a static IPv6 address for a network adapter, all of which work in Windows 10 and in both Windows Server 2016 and 2019. The first way uses the classic Control Panel method as follows.

From the Control Panel, navigate to Network and Internet, Network and Sharing Center, and then choose the Change adapter settings link in the left panel. (You can shortcut all the clicking by searching for “View Network Connections” from the Start Menu or the Search bar).

Once you locate the network adapter you wish to configure, you can view the properties and locate the Internet Protocol Version 6 (TCP/IPv6) node and configure the properties for the IPv6 protocol. As with IPv4 you can set the adapter to obtain the IPv6 address automatically or configure your own IPv6 address, subnet, default gateway, and DNS server information. If you need to set multiple IPv6 addresses this can be accomplished by clicking the Advanced button.

The second method of setting a static IP address involves the more modern Settings application. In Settings go to Network & Internet and click the Properties button for the interface you wish to configure. Click the Edit button under IP settings, change the configuration type to Manual, enable IPv6, and populate your settings.

The third way is to use the Windows PowerShell command-line interface. In order to set a static IPv6 address using the New-NetIPAddress cmdlet you will need either the name or the numeric index of the adapter you wish to configure. Both of these values are available using the Get-NetAdapter cmdlet. From an administrative PowerShell prompt enter one of the following commands (on a single line) replacing the details as necessary for your environment:

Managing IPv6 Addressing for a Windows Network

Static IP addresses are generally OK to use when the device is hosting a critical network service that requires retaining a consistent network address, but for general use you’ll want to have a way to automate address configuration.

In an IPv4 network DHCP is the obvious answer for IP configuration and can also provide critical networking details such as the default gateway or DNS-server addresses through DHCP options. IPv6 offers three potential scenarios for managing addressing and network configuration.

SLAAC is a straightforward option assuming your router supports the appropriate router-advertisement messages. DHCP is certainly still in play to handle stateful addressing in the form of DHCPv6. You can also potentially have a hybrid scenario where your router handles addressing, and DHCPv6 simply provides the relevant network-configuration details.

In Windows Server 2016 and 2019, configuring DHCPv6 is extremely straightforward. If your router is configured to handle router advertisements and addressing through SLAAC you can simply manage the IPv6 server options to configure DNS servers or other options. If you prefer to roll with stateful addressing you can add one or more DHCPv6 scopes and configure a prefix, any exclusions, and lease durations. DHCPv6 scopes will maintain a list of leases and their expirations just as an IPv4 scope would, and they also provide an easy path for creating IPv6 reservations from existing leases.

Setting up DNS Name Resolution for IPv6

DNS is incredibly important in an IPv6 network, even moreso than in an IPv4 network because trying to configure connectivity and access resources using only IPv6 addresses is borderline insane. The biggest difference to note in regard to using DNS with IPv6 is that the IPv4 A records, which convert a fully qualified domain name (FQDN) to an IPv4 address, are replaced by AAAA (quad-A) records. All other record types such as CNAME, MX, NS, SOA, and the various DNSSEC-related record types simply reference the FQDN of the AAAA record. Reverse lookup zones, which are used to find a hostname from an IP address, are different in IPv6 simply because they are built on the IP address structure, but the process of creating and using these zones are functionally identical.

The DNS server role in Windows Server supports both IPv4 and IPv6 through a similar set of tools and processes. As with A records, AAAA records can either be created manually for critical systems or the dynamic update process can be leveraged to manage DNS records for the entire enterprise.

AAAA records can be manually created using the DNS console through the same process as A records: Right click the required DNS zone, select the New Host (A or AAAA) option, and populate the Host name and IP address. Dynamic updates are enabled through the DNS console, but most of the work is done by DHCP; the update process is configured within the DHCP console and updates are performed by the DHCP client service on individual hosts. Dynamic updates can also be manually initiated from the command line using the ipconfig command with the /registerdns switch.

Related content

Bgp: what is border gateway protocol, and how does it work, red hat seeks to be the platform for enterprise ai, fcc proposes bgp security measures, 5 must-haves for your next dspm solution, newsletter promo module test.

tim_ferrill

Tim Ferrill is an IT professional and writer living in Southern California. He has covered Windows, Windows Phone, and Windows Server for several publications, including CITEworld and InfoWorld.

More from this author

Tips for building a home lab to prep for network certifications, certifications that can land you a job as a network-automation engineer, free training from 8 top vendors to advance your it career, surviving a mastodon stampede, most popular authors.

enable automatic ipv6 address assignment

  • Elizabeth Montalbano

Show me more

Cisco, nutanix strengthen joint hci package.

Image

Raspberry Pi to become a public company

Image

Palo Alto to acquire IBM’s QRadar security tech as vendors expand partnership

Image

Has the hype around ‘Internet of Things’ paid off? | Ep. 145

Image

Episode 1: Understanding Cisco’s Converged SDN Transport

Image

Episode 2: Pluggable Optics and the Internet for the Future

Image

Has the hype around ‘Internet of Things’ paid off?

Image

Are unused IPv4 addresses a secret gold mine?

Image

Preparing for a 6G wireless world: Exciting changes coming to the wireless industry

Image

PacketMania

Technology | Knowledge | Sharing

IPv6 Dynamic Address Allocation Mechanism Illustrated

IPv6 supports multiple addresses, making address assignments more flexible and convenient. Unlike IPv4, which relied solely on the DHCP protocol for address assignment, IPv6 incorporates a native Stateless Address AutoConfiguration SLAAC) protocol. SLAAC can either work alone to provide IPv6 addresses to hosts, or it can work with DHCPv6 to generate new assignment schemes. Here is a comprehensive analysis of the dynamic address allocation mechanism for IPv6.

Who the hell knew how much address space we needed? — Vint Cerf (American Internet pioneer and one of "the fathers of the Internet")

IPv6 Address Overview

Address formats.

enable automatic ipv6 address assignment

The interface identifier can be generated in several ways:

  • Static manual setting
  • Converted from the interface's MAC address using the modified EUI-64 format
  • Obtained from a DHCPv6 server
  • Automatically established randomly or cryptographically

IETF recommends a canonical textual representation format for ease of writing. It includes leading zeros suppression and compression of consecutive all-zero fields. With the network prefix length at the end, the above address can be shortened to 2001:db8:130f :: 7000: 0 :140b/ 64 .

Address Types

RFC 4291 defines three types of addresses:

  • Unicast: A network address corresponds to a single network node, point-to-point connection.
  • Anycast: The target address corresponds to a group of receiving nodes, but only the "nearest" one receives.
  • Multicast: The target address corresponds to a group of nodes that can receive replicated messages.

Note that there are no broadcast addresses in IPv6, their function being superseded by multicast addresses. Anycast addresses are syntactically indistinguishable from unicast addresses and have very limited applications. A typical application for anycast is to set up a DNS root server to allow hosts to look up domain names in close proximity. For unicast and multicast addresses, they can be identified by different network prefixes:

enable automatic ipv6 address assignment

  • All Nodes Addresses on the local link — ff02::1
  • All Routers Addresses on the local link — ff02::2
  • Solicited-Node Address on local link — ff02::1:ffxx:xxxx

Dynamic Allocation Schemes

Ndp protocol.

IPv6 dynamic address assignment depends on Neighbor Discovery Protocol (NDP). NDP acts at the data link layer and is responsible for discovering other nodes and corresponding IPv6 addresses on the link and determining available routes and maintaining information reachability to other active nodes. It provides the IPv6 network with the equivalent of the Address Resolution Protocol (ARP) and ICMP router discovery and redirection protocols in IPv4 networks. However, NDP adds many improvements and new features. NDP defines five ICMPv6 message types:

  • Router Solicitation (RS)
  • Router Advertisement (RA)
  • Neighbor Solicitation (NS)
  • Neighbor Advertisement (NA)

The first two message types here, RS and RA, are the keys to implementing dynamic IPv6 address assignment. The host sends an RS message to the multicast address ff02::2 of all routers in the local network segment to request routing information. When the router receives the RS from the network node, it sends an immediate RA in response. The message format of the RA is as follows

It defines two special bits, M and O, with the following meaning:

  • M — "Managed address configuration" flag, set to 1 when the address is obtained from DHCPv6.
  • O — "Other configuration" flag, set to 1 to indicate that other configuration information is available via DHCPv6

The RA message ends with the Options section, which originally had three possible options: Source Link-Layer Address, MTU, and Prefix Information. Later, RFC 8106 (which replaced RFC 6106) added the Recursive DNS Server (RDNSS) and DNS Search List (DNSSL) options. The Prefix Information option directly provide hosts with on-link prefixes and prefixes for Address Autoconfiguration, and it has the following format

Here the Prefix Length and the Prefix jointly determine the network prefix of the IPv6 address. In addition, the Prefix Information option also defines two special bits, L and A:

  • L — on-link flag. When set, indicates that this prefix can be used for on-link determination.
  • A — autonomous address-configuration flag. When set, indicates that this prefix can be used for SLAAC.

Similar to the IPv4 subnet mask feature, the purpose of the "on-link" determination is to allow the host to determine which networks an interface can access. By default, the host only considers the network where the link-local address is located as "on-link". If the "on-link" status of a destination address cannot be determined, the host forwards the IPv6 datagram to the default gateway (or default router) by default. When the host receives an RA message, if the "on-link" flag for a prefix information option is set to 1 and the Valid Lifetime is also a non-zero value, the host creates a new prefix network entry for it in the prefix list. All unexpired prefix network entries are "on-link".

Message Sequence

After understanding the NDP protocol and the information conveyed by the RA messages, let's see how they guide the network nodes to achieve dynamic address assignment.

Routers in the network periodically send RA messages to the multicast addresses (ff02::1) of all nodes in the local subnet. However, to avoid latency, the host sends one or more RS messages to all routers in the local subnet as soon as it has finished booting. The protocol requires the routers to respond to the RA messages within 0.5 seconds. Then, based on the values of the M/O/A bits in the received RA messages, the host decides how to dynamically configure the unique local and global unicast addresses of the interface and how to obtain other configuration information. With certain combinations of bit fetch values, the host needs to run DHCPv6 client software to connect to the server to obtain address assignment and/or other configuration information. The entire process is shown in the following message sequence diagram.

Note: Unlike the IPv4 DHCP protocol, DHCPv6 clients use UDP port 546 and servers use UDP port 547.

Next explain in detail three dynamic allocation schemes determined by the combination of the M/O/A-bit values:

SLAAC + Stateless DHCPv6

Stateful dhcpv6.

SLAAC is the simplest automatic IPv6 address assignment scheme and does not require any server. It works by sending an RS message request after the host starts up and the router sends back RA messages to all nodes in the local network segment. If the RA message contains the following configuration

  • M-bit and O-bit all clear in the message header
  • L-bit and A-bit all set in Prefix Information option

Then the host receives this RA message and performs the following operations to implement SLAAC:

  • Combine the network prefix with the local interface identifier to generate a unique local address or global unicast address.
  • Install the default gateway (or default route) to point to the router address (source address of the RA message).
  • Set this interface as the "on-link" corresponding to the network prefix, which is also the next-hop interface of the default gateway above.
  • If the RDNSS and/or DNSSL options are included, install the name servers and domain name suffixes.

This way, the host gets one or more IPv6 unique local addresses or global unicast addresses, plus the default gateway and domain name service information to complete various Internet connections.

The following is an example of the SLAAC configuration on a Cisco Catalyst 9300 Multilayer Access Switch:

The Layer 3 interface of the Cisco Multilayer Switch provides routing functionality. As you can see, when IPv6 is activated on the Layer 3 interface in VLAN 10, its default address auto-assignment scheme is SLAAC. the control bits of RA messages from this interface are all set according to the SLAAC scheme, and the network prefixes for each IPv6 address it configures are automatically added to the RA prefix information options list. Of course, the network administrator can also exclude certain network prefixes with a separate interface configuration command. The last two lines of the example configuration command specify RDNSS and DNSSL, which are also added to the RA message options.

If a host connects to a port in VLAN 10, it immediately gets a global unicast address with the network prefix of 2001:ABCD:1000::/64, and its default gateway address is set to 2001:ABCD:1000::1. Open a browser and enter a URL, and it will send a message to the specified domain name server 2001:4860:4860::8888 (Google's public name server address) to obtain the IPv6 address of the destination URL to establish a connection.

SLAAC automatic address assignment is fast and easy, providing a plug-and-play IPv6 deployment solution for small and medium-sized network deployments. However, if a network node needs access to additional configuration information, such as NTP/SNTP server, TFTP server, and SIP server addresses, or if its functionality relies on certain Vendor-specific Information Options, it must choose SLAAC + stateless DHCPv6 scheme.

This scenario still uses SLAAC automatic address assignment, but the router instructs the host to connect to a DHCPv6 server for additional configuration information. At this point, the RA message sent back by the router has

  • M-bit clear and O-bit set in the message header

After receiving this RA message, the host performs the following actions:

  • Install a default gateway (or default route) pointing to the router address (source address of the RA message).
  • Start the DHCPv6 client and connect to the DHCPv6 server to request additional configuration information .
  • Save the additional configuration information replied by the DHCPv6 server .

As you can see, SLAAC + stateless DHCPv6 is not different from SLAAC in terms of address assignment. DHCPv6 only provides additional configuration information and does not assign IPv6 addresses. So the DHCPv6 server does not track the address assignment status of network nodes, which is what "stateless" means.

The corresponding configuration commands on the Catalyst 9300 switch are as follows.

The difference with the SLAAC example is that the VLAN 10 interface configuration command ipv6 nd other-config-flag explicitly specifies to set the O-bit of the RA message. Its next command, ipv6 dhcp server vlan-10-clients , activates the DHCPv6 server response feature of the interface, corresponding to the server's pool name of vlan-10-clients . The DHCPv6 server is configured above the interface configuration, starting at ipv6 dhcp pool vlan-10-clients , and contains the DNS server address, DNS domain name, and SNTP server address.

If you are using a separate DHCPv6 server located on a network segment, you can remove the ipv6 dhcp server command and enable the ipv6 dhcp relay destination command on the next line of the example to specify the address to forward DHCPv6 requests to the external server.

Many large enterprises use DHCP to manage the IPv4 addresses of their devices, so deploying DHCPv6 to centrally assign and manage IPv6 addresses is a natural preference. This is where Stateful DHCPv6 comes into play. This scenario also requires RA messages sent by the router but does not rely solely on network prefixes for automatic address assignment. The control bits of the RA messages are configured to

  • M-bit set in the message header, O-bit does not matter
  • L-bit and A-bit can be set or clear as desired in Prefix Information option

Upon receiving this RA message, the host performs the following actions:

  • Generate a unique local address or a global unicast address if there is a Prefix Information option with the A-bit set.
  • If there is a Prefix Information option with the L-bit set, set this interface to "on-link" with the corresponding network prefix.
  • If the RDNSS and/or DNSSL options are included, install the name servers and domain suffixes.
  • Start the DHCPv6 client and connect to the server to request addresses and other configuration information .
  • Set the address assigned by the DHCPv6 server to this interface .
  • Save additional configuration information from the DHCPv6 server response .

An example of the Stateful DHCPv6 configuration command on a Catalyst 9300 switch is as follows.

Compared to SLAAC + Stateless DHCPv6 , the interface configuration here removes the ipv6 nd other-config-flag and replaces it with the ipv6 nd managed-config-flag command. This corresponds to setting the M-bit of the RA message header. The DHCPv6 server configuration adds two address prefix commands to set the network prefix. Also, the ipv6 nd prefix 2001:ABCD:1:1::/64 no-advertise configured for the interface specifies that the router does not include the 2001:ABCD:1:1::/64 prefix information option into the RA. So, this example host interface will not generate SLAAC addresses, but only two addresses from DHPCv6: a unique local address with the network prefix FD09:9:5:90::/64, and a global unicast address with the network prefix 2001:9:5:90::/64. The interface identifier for each of these two addresses is also specified by DHPCv6.

How to distinguish the source of dynamically assigned addresses for host interfaces? The method is simple. One thing to remember is that DHPCv6 does not send the network prefix length to the requestor, so the network prefix length of the addresses received from DHPCv6 is 128, while the network prefix length of the addresses generated by SLAAC will not be 128. See the following example of the wired0 interface on a Linux host:

We can immediately determine that the interface is using Stateful DHCPv6 address assignment, but also generates the SLAAC address with the same network prefix 2001:20::/64 received.

  • 2001:20::53c7:1364:a4d8:fd91/128 — DHCPv6 address, random interface identifer
  • 2001:20::a2ec:f9ff:fe6c:d930/64 — SLAAC addeess, interface identifer is MAC in EUI-64 format
  • fe80::a2ec:f9ff:fe6c:d930/64 — Link-local address, interface identifer is MAC in EUI-64 format

Note: DHPCv6 server also does not provide any IPv6 default gateway information. The host needs to be informed of the dynamic default gateway from the RA message.

Summary and Comparison

The following table shows the control bit combinations of RA messages concerning different address allocation and other configuration acquisition methods.

Summarize three dynamic allocation schemes:

Note: Since IPv6 network interfaces can have multiple addresses (a link-local address, plus one or more unique local addresses and/or global unicast addresses), it becomes important how the source address is selected when establishing an external connection. RFC 6724 gives detailed IPv6 source address selection rules. In the development of embedded systems, the control plane and the data plane connected to the same remote device are often implemented by different functional components. For example, the control plane directly calls a Linux userspace socket to establish the connection, and the IPv6 source address used for the connection is selected by the TCP/IP stack, while the data plane directly implements data encapsulation processing and transmission in kernel space. In this case, the IPv6 source address selected by the control plane has to be synchronized to the data plane in time, otherwise, the user data might not be delivered to the same destination.

Troubleshooting Guide

The common IPv6 dynamic address assignment debugging and troubleshooting commands on Cisco routers and switches are listed in the following table.

The following console NDP protocol debug log shows that the router received an RS message from host FE80::5850:6D61:1FB:EF3A and responded with an RA message to the multicast address FF02::1 of all nodes in this network:

And the next log shows an example of Stateless DHCPv6 observed after entering the debug ipv6 dhcp debug command. Host FE80::5850:6D61:1FB:EF3A sends an INFORMATION-REQUEST message to the DHCPv6 server, which selects the source address FE80::C801:B9FF:FEF0:8 and sends a response message.

The following debug log of Stateful DHCPv6 shows the complete process of two message exchanges (SOLICIT/ADVERTISE, REQUEST/REPLY) on lines 1, 15, 16, and 26.

For complex cases where it is difficult to identify whether the problem is with the host, router, or DHCPv6 server, we recommend using the free open-source network packet analysis software Wireshark to capture packets of the entire process for analysis. While analyzing packets with Wireshark, you can apply the keyword filtering function.

We can either run Wireshark directly on the host side, or we can use the Switched Port Analyzer (SPAN) provided with the switch. Running on the network side, SPAN can collectively redirect packets from a given port to the monitor port running Wireshark for capturing. Cisco Catalyst 9300 Series switches also directly integrate with Wireshark software to intercept and analyze filtered packets online, making it very easy to use.

Sample packet capture files for three allocation scheme are available here for download and study: slaac.pcap , stateless-dhcpv6.pcap , stateful-dhcpv6.pcap

IPv6 Product Certification Test

Accurate and effective testing of IPv6 products is key to ensuring high interoperability, security, and reliability of IPv6 infrastructure deployments. The IPv6 Ready logo is an IPv6 testing and certification program created by the IPv6 Forum . Its goals are to define IPv6 conformance and interoperability test specifications, provide a self-testing toolset, establish Global IPv6 Test Centers and provide product validation services, and finally, issue IPv6 Ready logo.

In May 2020, IPv6 Ready Logo Program published new version 5.0 test specifications :

  • IPv6 Core Protocols Test Specification (Conformance)
  • IPv6 Core Protocols Interoperability Test Specification (Interoperability)

Along with these two new test specifications, the project team also affirmed two permanent changes:

  • Testing must be done in an IPv6-only environment, without any IPv4 being used for the device to function.
  • The device under test must have IPv6 on and enabled on all IP interfaces by default.

Not surprisingly, the new version 5.0 core protocols test specification has a section dedicated to defining SLAAC test cases to validate this core IPv6 protocol.

IPv6 Core Protocol RFC List

In the list below, the RFCs shown in bold are directly covered by the IPv6 Ready Version 5.0 Core Protocol Test Specification:

  • RFC 4191 Default Router Preferences and More-Specific Routes
  • RFC 4193 Unique Local IPv6 Unicast Addresses
  • RFC 4291 IP Version 6 Addressing Architecture
  • RFC 4443 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
  • RFC 4861 Neighbor Discovery for IP version 6 (IPv6)
  • RFC 4862 IPv6 Stateless Address Autoconfiguration
  • RFC 4941 Privacy Extensions for Stateless Address Autoconfiguration in IPv6
  • RFC 5095 Deprecation of Type 0 Routing Headers in IPv6
  • RFC 6724 Default Address Selection for Internet Protocol Version 6 (IPv6)
  • RFC 6980 Security Implications of IPv6 Fragmentation with IPv6 Neighbor Discovery
  • RFC 7217 A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)
  • RFC 8064 Recommendation on Stable IPv6 Interface Identifiers
  • RFC 8106 IPv6 Router Advertisement Options for DNS Configuration
  • RFC 8200 Internet Protocol, Version 6 (IPv6) Specification
  • RFC 8201 Path MTU Discovery for IP version 6
  • RFC 8415 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
  • Gitalk Comments
  • Utterances Comments
  • Disqus Comments

IPv6 Address Assignment Example

Lesson Contents

In this lesson we’ll take a look how you can create IPv6 prefixes and subnets so that you can configure your entire network with IPv6. We’ll start at the top where IANA (Internet Assigned Numbers Authority) is responsible for the global coordination of the IPv4 and IPv6 address space and move our way all the way to the bottom where we assign subnets and IPv6 addresses to our routers, switches and VLANs.

IPv6 Global Unicast Prefix Assignments

IANA “owns” the entire IPv6 address space and they assign certain prefixes to the RIRs (Regional Internet Registry). There are 5 RIRs at the moment:

rir map

  • AFRINIC : Africa
  • APNIC : Asia/Pacific
  • ARIN : North America
  • LACNIC : Latin America and some Caribbean Islands
  • RIPE NCC : Europe, Middle east and Central Asia

If you are interested, click here for an overview of all IPv6 prefix assignments by IANA.

When a large ISP (or large company) in North America wants IPv6 addresses then they will contact ARIN who will assign them an IPv6 prefix if they meet all requirements. The ISP can then assign prefixes to their customers.

Let’s take a look at some actual prefixes:

IPv6 prefix assignment

  • IANA is using the 2000::/3 prefix for global unicast address space.
  • According to this list, RIPE NCC received prefix 2001:4000::/23 from IANA.
  • A large ISP called Ziggo in The Netherlands receives prefix 2001:41f0::/32 from RIPE NCC.
  • The ISP assigns prefix 2001:41f0:4060::/48 to one of their customers.

Now it’s up to the customer what they want to do with their IPv6 prefix…

IPv6 Global Unicast Subnet Assignments

Our customer received prefix 2001:41f0:4060::/48 and they want to use it to configure IPv6 on their entire network. Where do we start? Take a look at the image below:

IPv6 Global Routing Prefix Subnet Interface ID

The 48-bit prefix that we received is typically called the global routing prefix or site prefix . The interface ID is normally 64 bit which means we have 16 bits left to create subnets .

If I want I can steal some more bits from the Interface ID to create even more subnets but there’s no need for this. Using 16 bits we can create 65.536 subnets …more than enough for most of us. Let’s see what we can do for our customer:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic . Explained As Simple As Possible.
  • Try for Just $1 . The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 786 Lessons . More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

659 Sign Ups in the last 30 days

satisfaction-guaranteed

Forum Replies

Rene, just to be clear, they aren’t the same right? 2001:41f0:4060:10::/64 and 2001:41f0:4060:A::/64 ?

That’s right.

shouldn’t this be /64 ?

Yes that’s right, just fixed it. Thanks!

Why are these not the same

2001:41f0:4060:10::/64 and 2001:41f0:4060:A::/64 ?

45 more replies! Ask a question or join the discussion by visiting our Community Forum

  • OSPFv2 Route Summarization in Packet Tracer
  • OSPFv2 Route Filtering in Packet Tracer
  • OSPFv2 NSSA Areas in Packet Tracer
  • OSPFv2 Stub Areas in Packet Tracer
  • OSPFv2 Path Cost in Packet Tracer
  • OSPFv2 Virtual Links Implementation in Packet Tracer

CCNA TUTORIALS

A perfect guide to getting ccna certified.

  • IPv6 Internet Protocol Version6

IPv6 Address Configuration on Hosts

IPv6 Address Configuration on Hosts, ccna, ccna tutorials

Contents of this article

In this article, I describe IPv6 Address Configuration on Hosts via two types to understand it better. IPv6 Address Configuration on Hosts is a fundamental step in enabling communication over IPv6 networks. IPv6 offers two primary methods of address configuration: Stateless Address Autoconfiguration (SLAAC) and Dynamic Host Configuration Protocol for IPv6 (DHCPv6). In this guide, we’ll walk through the process of configuring IPv6 addresses using both SLAAC and DHCPv6 on hosts.

1. Stateless Address Autoconfiguration (SLAAC):

SLAAC is a simple and automated method for configuring IPv6 addresses on hosts. It allows devices to generate their own IPv6 addresses based on the network’s prefix and other information obtained from Router Advertisement (RA) messages. IPv6 Address Configuration on Hosts by using SLAAC.

SLAAC-based configuration works:

1. router advertisement (ra) messages:.

Routers periodically send RA messages to announce network parameters, including the IPv6 prefix and other configuration information. These messages are essential for SLAAC-based address configuration.

2. Generation of Interface Identifier:

Hosts use their MAC address or an alternative method, such as Privacy Extensions, to generate a unique interface identifier.

3. Combining Prefix and Interface Identifier:

Hosts combine the network prefix from the RA message with the generated interface identifier to create a complete IPv6 address.

4. Address Validity and Lifetime:

RA messages also provide information about the validity and preferred lifetime of the address. Hosts use this information to manage their addresses.

Configuring SLAAC on Hosts:

Enabling SLAAC-based configuration on hosts is often straightforward:

1. Ensure IPv6 is enabled on the host’s network interface.

2. Configure the network interface to use “SLAAC” or “Automatic” address assignment mode.

3. Hosts will listen for RA messages from routers and automatically configure their IPv6 addresses based on the provided information.

2. IPv6 Address Configuration on Hosts  by Dynamic Host Configuration Protocol for IPv6 (DHCPv6):

DHCPv6 is another method for configuring IPv6 addresses on hosts. It provides centralized control over address allocation and allows administrators to assign other network parameters, such as DNS server addresses. IPv6 Address Configuration on Hosts by using DHCPv6.

Here’s how DHCPv6-based configuration works:

1. dhcpv6 server:.

A DHCPv6 server is set up on the network to manage address assignments and configuration parameters.

2. Host Request:

Hosts send a DHCPv6 request to the server to request an IPv6 address and other configuration information.

3. Address Assignment:

The DHCPv6 server assigns an IPv6 address to the requesting host based on available address pools.

4. Additional Configuration:

Along with the address, the DHCPv6 server can provide DNS server addresses, domain names, and other network parameters.

Configuring DHCPv6 on Hosts:

To configure DHCPv6-based address assignment on hosts:

1. Enable IPv6 on the network interface.

2. Set the network interface to use “DHCP” or “Automatic (DHCP)” address assignment mode.

3. Hosts will send DHCPv6 requests to the DHCPv6 server, which will respond with an assigned IPv6 address and other configuration details.

Selection of SLAAC and DHCPv6 for IPv6 Address Configuration on Hosts:

The choice between SLAAC and DHCPv6 depends on network requirements and policies:

– SLAAC is suitable for networks where automated address assignment is preferred, and additional configuration parameters are not required.

– DHCPv6 is beneficial when centralized control over address assignment and additional configuration parameters is necessary.

In many scenarios, networks use a combination of both methods to achieve a balance between automation and control.

IPv6 Address Configuration on Hosts: Second approach to explain

IPv6 Address Configuration on Hosts involves enabling IPv6 on the network interface and selecting an address assignment method. Let’s see the IPv6 Address Configuration on Hosts using both Stateless Address Autoconfiguration (SLAAC) and Dynamic Host Configuration Protocol for IPv6 (DHCPv6) methods, along with examples for each for IPv6 Address Configuration on Hosts.

1. Stateless Address Autoconfiguration (SLAAC) for IPv6 Address Configuration on Hosts:

SLAAC allows hosts to automatically configure their IPv6 addresses based on Router Advertisement (RA) messages from routers on the network. Here’s how to configure SLAAC on hosts:

Step 1: Enable IPv6 on the Network Interface:

In most modern operating systems, IPv6 is enabled by default. However, you can check and enable IPv6 if needed:

Example (Linux):

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0

Step 2: Configure Network Interface for SLAAC:

Configure the network interface to use SLAAC for IPv6 address assignment:

sudo ip -6 addr add <prefix>::<interface_identifier>/64 dev <interface_name>

Replace `<prefix>` with your network’s IPv6 prefix and `<interface_identifier>` with the unique interface identifier of the host. Replace `<interface_name>` with the name of the network interface (e.g., eth0, ens33).

2. Dynamic Host Configuration Protocol for IPv6 (DHCPv6) IPv6 Address Configuration on Hosts:

DHCPv6 allows centralized control over IPv6 address assignment and additional configuration parameters. Here’s how to configure DHCPv6 on hosts:

If IPv6 is not already enabled, follow the same step as shown in SLAAC configuration.

Step 2: Install DHCPv6 Client Software (if not installed):

Ensure the DHCPv6 client software is installed on the host:

sudo apt-get install dhcpv6-client   # For Debian/Ubuntu

sudo yum install dhcpv6-client       # For CentOS/RHEL

Step 3: Configure Network Interface for DHCPv6:

Configure the network interface to use DHCPv6 for IPv6 address assignment:

sudo dhclient -6 <interface_name>

Replace `<interface_name>` with the name of the network interface (e.g., eth0, ens33).

Example Scenarios:

Let’s consider two scenarios where we configure IPv6 on hosts using SLAAC and DHCPv6.

Scenario 1: SLAAC Configuration

Assuming we have a network with the prefix `2001:db8:1234::/64`, and the host’s MAC address is `00:11:22:33:44:55`. We’ll use SLAAC to configure the host’s IPv6 address.

sudo ip -6 addr add 2001:db8:1234::11:22ff:fe33:4455/64 dev eth0

Scenario 2: DHCPv6 Configuration

In this scenario, we’ll configure the host’s IPv6 address using DHCPv6.

sudo dhclient -6 eth0

Note: The above examples are provided for Linux-based systems. The steps may vary slightly for different operating systems.

IPv6 Address Configuration on Hosts, ccna, ccna tutorials

Configuring IPv6 on Hosts: Examples of SLAAC and DHCPv6

Configuring IPv6 addresses on hosts is essential for enabling communication within IPv6 networks. Hosts can be configured using two primary methods: Stateless Address Autoconfiguration (SLAAC) and Dynamic Host Configuration Protocol for IPv6 (DHCPv6). In this guide, we’ll walk through step-by-step instructions and examples for configuring IPv6 on hosts using both SLAAC and DHCPv6.

SLAAC is a straightforward method for configuring IPv6 addresses on hosts. Let’s go through the process using an example:

Example: Configuring IPv6 Address Using SLAAC

Assume you have a host with a network interface named “eth0” and the router on the network sends Router Advertisement (RA) messages.

1. Enable IPv6 on the Interface:

   Open the terminal and run the following command to enable IPv6 on the “eth0” interface:

   sudo sysctl net.ipv6.conf.eth0.disable_ipv6=0

2. Configure Interface for SLAAC:

   Run the following command to configure the “eth0” interface for SLAAC:

   sudo ip -6 addr add 2001:0db8:1234:abcd::/64 dev eth0

   Replace `2001:0db8:1234:abcd::/64` with the appropriate IPv6 prefix and prefix length.

3. Listen for RA Messages:

   Once the interface is configured, the host will listen for RA messages sent by routers. The RA messages will contain the prefix information that hosts need for SLAAC-based address configuration.

2. Dynamic Host Configuration Protocol for IPv6 (DHCPv6):

DHCPv6 provides centralized control over IPv6 address assignment and configuration parameters. Let’s see how to configure IPv6 addresses using DHCPv6:

Example: Configuring IPv6 Address Using DHCPv6

Assume you have a DHCPv6 server set up on the network, and the host’s network interface is “eth0.”

   Use the following command to enable IPv6 on the “eth0” interface:

2. Configure Interface for DHCPv6:

   Configure the “eth0” interface to use DHCPv6 for IPv6 address assignment:

   sudo dhclient -6 -v eth0

   This command requests an IPv6 address from the DHCPv6 server for the “eth0” interface.

3. DHCPv6 Server Response:

   The DHCPv6 server will respond with an assigned IPv6 address and other configuration parameters, such as DNS server addresses and domain names.

Choosing the Configuration Method:

The choice between SLAAC and DHCPv6 depends on your network’s requirements:

– SLAAC is suitable for networks where automation and simplicity are prioritized.

– DHCPv6 is beneficial when centralized control over address assignment and additional configuration parameters is needed.

Conclusion for IPv6 Address Configuration on Hosts:

Configuring IPv6 addresses on hosts is crucial for establishing communication within IPv6 networks. By following the steps and examples provided for both SLAAC and DHCPv6 configuration methods, network administrators can ensure that hosts are properly configured to leverage the benefits of the IPv6 protocol. IPv6 Address Configuration on Hosts involves enabling IPv6 on the network interface and choosing an address assignment method (SLAAC or DHCPv6). Depending on your network requirements, you can automate address assignment with SLAAC or opt for centralized control with DHCPv6.

By following these steps and examples, you can successfully configure IPv6 on your hosts and ensure seamless communication in IPv6-enabled networks. Configuring IPv6 addresses on hosts is a pivotal step in establishing connectivity over IPv6 networks. The choice between SLAAC and DHCPv6 depends on factors such as automation, control, and additional configuration needs. By correctly implementing these configuration methods, network administrators ensure seamless communication and efficient utilization of the expansive IPv6 address space. I hope you found this article helpful and useful, you may contact us or comment below for any query or suggestions related to this article.

Other Related posts:

  • IPv6 Address Configuration on Routers
  • IPv6 Stateless Address Autoconfiguration (SLAAC)
  • IPv6 Link-Local Addresses
  • IPv6 Unique Local Addresses (ULA)
  • IPv6 Global Unicast Addresses
  • Working of IPv6 in Internetwork
  • Stateless Autoconfiguration SLAAC
  • IPv6 Address system in computer networking

Related Posts

IPv6 Future Trends and Developments, ccna, ccna tutorials

IPv6 Future Trends and Developments

IPv6 and Internet Exchange Points (IXPs), ccna, ccna tutorials

IPv6 and Internet Exchange Points (IXPs):

IPv6 and Autonomous Systems, ccna, ccna tutorials

IPv6 and Autonomous Systems

IPv6 in Mobile Networks, ccna, ccna tutorials

IPv6 in Mobile Networks

IPv6 in Cable and Broadband Networks, ccna, ccna tutorials

IPv6 in Cable and Broadband Networks

IPv6 and Global Internet Governance , ccna, ccna tutorials

IPv6 and Global Internet Governance 

Leave a reply.

Your email address will not be published. Required fields are marked *

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

How do I assign IPv6 addresses manually?

So I'm still rather clueless with IPv6, but I wanted to try something with my network today. Currently, I assign IPv4 LAN addresses manually, so that my router is 192.168.0.1 , then my first computer is 192.168.0.2 , and so on.

So far, I haven't been able to figure out how to do this with IPv6. Or is the process completely different that this is not how it would work?

Router is an Archer C4000, and my main system runs Ubuntu 19.04

EDIT: To clarify with how I manually set network IP addresses, my router has a page where I can set an address of my choosing to a MAC address. No configuration is done outside of the router.

hiigaran's user avatar

  • Please edit question and indicate how you assign LAN addesses manually. (On the router only? On your first computer as well?) I suspect you just set a network range on the router, and then addresses are not assigned "manually", but by DHCP from the router. On IPv6 then your router needs to advertise a subnet. On Ubuntu, you can set both IPv4 and IPv6 address manually with ip addr add ... . –  dirkt Sep 10, 2019 at 11:22
  • Edited. I'm going to guess then that it is assigned from a range, but then I limit what can be assigned based on MAC addresses. If I'm setting the IP address manually on each device, is there any further configuration that needs to be done (apart from avoiding duplicates), or will the router just accept that device A is going to use its own configured address? –  hiigaran Sep 10, 2019 at 12:00
  • If there's a page where you can assign an IPv4 address based on a MAC address, then this is for static addresses assigned via DHCP from the router. IPv6 works differently. While there is DHCPv6, the normal way is to use SLAAC , and let each computer pick an IPv6 address based on the announced subnet prefix.So this page won't help you to assign IPv6 addresses... –  dirkt Sep 10, 2019 at 12:05

2 Answers 2

To clarify with how I manually set network IP addresses, my router has a page where I can set an address of my choosing to a MAC address. No configuration is done outside of the router

This usually isn't called "manual configuration" to avoid confusion (from the LAN hosts' point of view, it is still automatic configuration). The usual terms are "static DHCP lease" or "DHCP reservation".

Overall, the process in IPv6 is usually completely different.

In IPv6 primary address auto-configuration mechanism (SLAAC) is completely stateless: the router does not issue individual addresses; it only periodically advertises the subnet address prefix and each host just combines it with its own chosen suffix. The router cannot limit hosts to just a specific sub-range; in fact the router does not receive any feedback about hosts' chosen address at all.

(Depending on each device's OS, the suffix might be a MAC address in traditional RFC4862 SLAAC; it might be a static hash value in RFC7217; it might be completely random in RFC4941 "Privacy Extensions"; and it might even be a user-provided value if the OS allows that.)

For example, the router advertises 2001:db8:123:456::/64 as the LAN address prefix; client A combines it with its own MAC address and begins using 2001:db8:123:456:6af2:68fe:ff7c:e25c .

That said, DHCP does exist in the IPv6 world and handles address leases in much the same way as IPv4 DHCP does. That means you can create DHCPv6 address pools, you can configure static address leases in DHCPv6, and so on. But not all clients support DHCPv6 at all (e.g. Android does not), so having SLAAC alongside is almost unavoidable.

So if you have a DHCPv6-capable client on a DHCPv6-capable network, chances are it'll have both a nice DHCPv6-assigned address and a longer SLAAC-autoconfigured address.

If I'm setting the IP address manually on each device, is there any further configuration that needs to be done (apart from avoiding duplicates), or will the router just accept that device A is going to use its own configured address?

As you can see above, that's how IPv6 address configuration works anyway .

grawity_u1686's user avatar

Your router's manual is found in User Guide and contains for IPv6 only an option for entering a static IPv6 address for the router itself (as received from the ISP).

The section about specifying the IP addresses that the router assigns by MAC address does not say whether they are IPv4 or IPv6, but I think it is highly unlikely that this will work for IPv6. And here is why.

IPv6 is quite unlike IPv4 in the sense that the long IPv6 address is made up of two parts. The first (the prefix) is assigned by the ISP. The second is assigned locally by the router or by each computer and is usually a random value based on the MAC address.

This means that the router does not control the IPv6 prefix which the ISP can change whenever it likes. You can force your computer to use a static IPv6 address, but only if it agrees with the ISP. You may be able to ask the ISP for a static IPv6 address, but that is a bad idea.

The reason it's a bad idea, is that all your devices are visible to the entire Internet by their IPv6 address (unless the router intervenes). Therefore having a fixed IPv6 address just makes tracking you that much easier.

If you wish, you would in Windows set a computer's static IPv6 inside Start > Network > Network and Sharing Center > Change Adapter Setting , right-click on the Ethernet connection IPv6 and choose Properties, right-click "Internet Protocol Version 6 (TCP/IPv6)" and click on Properties, the set "Use the following IPv6 address".

But the fact you can does not mean you should. The only place that static IPv6 addresses makes sense is inside a local network which is not connected to the Internet.

harrymc's user avatar

  • What about if I wanted to run a web server? I'm constantly traveling for work, and I would love to have access to one of the computers at home which runs 24/7. I'd need to set a static IPv6 for this to work, wouldn't I? –  hiigaran Sep 10, 2019 at 19:23
  • A general solution would require an IPv6 dynamic DNS provider. See for that the article dynv6.com: IPv6 dynamic DNS done right . –  harrymc Sep 10, 2019 at 19:29
  • @harrymc Help me understand your logic, why would a server in a data center have a static IP but a server at home a dynamic one? In what world does that make any sense? –  Chazy Chaz Jul 29, 2022 at 12:40
  • In a world where the ISP attributes to users dynamic IP addresses. –  harrymc Jul 29, 2022 at 12:51

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged networking router ipv6 ..

  • The Overflow Blog
  • Spreading the gospel of Python
  • OverflowAI and the holy grail of search
  • Featured on Meta
  • Our Partnership with OpenAI
  • What deliverables would you like to see out of a working group?

Hot Network Questions

  • What is this "/|\" symbol on the enclosures of various appliances?
  • Story about someone selling his soul to the Devil and losing...with a twist
  • Series Solution of Laplace Equation in Spherical Coordinates
  • Karatsuba algorithm in C
  • Ozone from 10um IR?
  • Legitimacy of an army of neotenous amphibians
  • Why do some Proto-Germanic nouns end with *-az?
  • Why is Paul adamant about the second coming of Christ during his lifetime but it didn't happen?
  • How to write SOQL query to get accounts where billing city equals to shipping city in single query?
  • Can you switch your "Replicate Magic Item" Infusion after a long rest?
  • Examples where a derived noun and a passive form in '-or' are unrelated
  • Can I say "Rolex watches are astronomical", "astronomical" in the sense of "expensive"?
  • Why did the Amiga 2000 only produce grayscale on its composite output?
  • Was the purported 1968 standard for encoding ASCII on punched cards ever used?
  • How implement a drop cap with boxes
  • Law of the unconscious statistician for conditional expectation and pushforward measure of conditional distribution
  • Fubini-Study metric/form
  • Is Matthew 24:40 mistranslated in most English translations?
  • How much does one American Airline frequent flier mile equal in US$?
  • When a star enters a red giant phase, does the pressure in its core increase or decrease?
  • If we consider the universe to be four-dimensional, does the Big Bang lie in its center?
  • Slow intersection of geopandas GeoDataFrames
  • printf in Zsh does not shell escape exclamation mark
  • Can White still castle?

enable automatic ipv6 address assignment

The Cisco Learning Network

Ipv6 – basic configuration –address assignment slaac/dhcpv6, feb 13, 2020 • knowledge, information.

This post was first publish on my website. ( http://www.allinrouting.com )

This is the second post of my series on IPv6 addressing and routing:

IPv6 &ndash; The beginning &ndash; Addressing plans and adresses configuration

IPv6 &ndash; Basic configuration &ndash;address assignment SLAAC/DHCPv6

IPv6 &ndash; Routing &ndash; OSPFv3

IPv6 &ndash; Routing &ndash; EIGRPv6

Following my previous post, we need to finish the basic configuration of our network.

Here is again our network diagram with the IPv6 addresses.

Site 1 configuration:

Here is the config for the interco between R1 and SW1.

R1(config)#int Ethernet0/2 R1(config-if)#ipv6 add 2001:db8:10:2::/124 %Ethernet0/2: Warning: 2001:DB8:10:2::/124 is a Subnet Router Anycast SW1(config-if)#ipv6 add 2001:db8:10::0/124 %Ethernet0/0: Warning: 2001:DB8:10::/124 is a Subnet Router Anycast

One thing that you have to be careful with is that if you configure 2 IPv6 addresses under an interface, the second doesn’t replace the first one like in IPv4, it add another IPv6 under the interface.

R1(config-if)#ipv6 add 2001:db8:99:1::1/124 R1(config-if)#ipv6 add 2001:db8:99:1::2/124 R1#sh ipv6 int brie Ethernet1/3 [up/up] FE80::A8BB:CCFF:FE00:331 2001:DB8:99:1::1 2001:DB8:99:1::2

Let’s move on and configure the vlan interfaces on SW1.

SW1(config)#int vlan 10 SW1(config-if)#ipv6 add 2001:db8:10:10::1/64 SW1(config-if)#int vlan 11 SW1(config-if)#ipv6 add 2001:db8:10:10::1/64 SW1(config-if)#int vlan 12 SW1(config-if)#ipv6 add 2001:db8:10:11::1/64

That was easy, interface vlan are currently down so we will now activate the host.

Vlan10 [down/down] FE80::A8BB:CCFF:FE80:600 2001:DB8:10:10::1 Vlan11 [down/down] FE80::A8BB:CCFF:FE80:600 2001:DB8:10:11::1 Vlan12 [down/down] FE80::A8BB:CCFF:FE80:600 2001:DB8:10:12::1

End host ip address assignment – SLAAC:

I’m using routers as end host.

I will configure the router’s interface in order for them to get an IPv6 address using SLAAC.

SLAAC (Stateless Address AutoConfiguration) : Clients self-address with no ready centralized tracking or management.

Here is the config used on the router interface for SLAAC.

PC12(config-if)#int Ethernet0/0 PC12(config-if)#ipv6 enable PC12(config-if)#ipv6 address autoconfig

And we get an IP address in the correct range !

I can also ping vlan 10 interface.

PC12#sh ipv6 int brie Ethernet0/0 [up/up] FE80::A8BB:CCFF:FE00:800 2001:DB8:10:10:A8BB:CCFF:FE00:800 PC12#ping ipv6 2001:DB8:10:10::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:10:10::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/24 ms

End host ip address assignment – Stateful DHCPv6:

For Stateful DHCPv6 we need to configure a DHCP server on SW1. We will use it to assign address on host in vlan 11.

SW1(config)#ipv6 dhcp pool USER-VLAN11 SW1(config-dhcpv6)#address prefix 2001:db8:10:11::/64 lifetime infinite infinite SW1(config-dhcpv6)#dns-server 2001:4860:4860::8888 (That's google ipv6 public DNS)

Note that there is no option for default-router as in IPv4 DHCP.

SW1(config-dhcpv6)#? IPv6 DHCP configuration commands: address IPv6 address allocation default Set a command to its defaults dns-server DNS servers domain-name Domain name to complete unqualified host names exit Exit from DHCPv6 configuration mode import Import options information Information refresh option link-address Link-address to match nis NIS server options nisp NISP server options no Negate a command or set its defaults prefix-delegation IPv6 prefix delegation sip SIP server options sntp SNTP server options vendor-specific Configure Vendor-specific option

Now we will setup our end host to get an IP address from DHCP.

I enable IPv6 and choose the dhcp option.

PC14(config)#int eth 0/0 PC14(config-if)#ipv6 enabl PC14(config-if)#ipv6 add dhcp

But as per the log and debugs on, no address is assign:

*Jul 31 19:25:43.203: IPv6 DHCP: Sending SOLICIT to FF02::1:2 on Ethernet0/0 *Jul 31 19:25:43.203: IPv6-Fwd: Sending on Ethernet0/0 *Jul 31 19:26:15.051: IPv6-Sas: SAS on intf Ethernet0/0 picked source FE80::A8BB:CCFF:FE00:A00 for FF02::1:2 *Jul 31 19:26:15.051: IPv6 DHCP: Sending SOLICIT to FF02::1:2 on Ethernet0/0 *Jul 31 19:26:15.051: IPv6-Fwd: Sending on Ethernet0/0

The host is sending solicit message but gets nothing.

That’s because we also need to add a new command under the interface vlan 11 on SW1.

We need to specify the DHCP pool.

SW1(config)#int vlan 11 SW1(config-if)#ipv6 dhcp server USER-VLAN11

And now we get our address.

ul 31 19:31:05.363: IPv6 DHCP: Sending SOLICIT to FF02::1:2 on Ethernet0/0 *Jul 31 19:31:05.363: IPv6-Fwd: Sending on Ethernet0/0 *Jul 31 19:31:19.925: IPV6: source FE80::A8BB:CCFF:FE80:600 (Ethernet0/0) *Jul 31 19:31:19.925: dest FF02::1:FF00:A00 *Jul 31 19:31:19.925: traffic class 224, flow 0x0, len 72+14, prot 58, hops 255, forward to ulp *Jul 31 19:31:19.926: IPV6: source FE80::A8BB:CCFF:FE00:A00 (local) *Jul 31 19:31:19.926: dest FE80::A8BB:CCFF:FE80:600 (Ethernet0/0) *Jul 31 19:31:19.926: traffic class 224, flow 0x0, len 72+0, prot 58, hops 255, originating *Jul 31 19:31:19.927: IPv6-Fwd: Created tmp mtu cache entry for FE80::A8BB:CCFF:FE00:A00 FE80::A8BB:CCFF:FE80:600 00000000 *Jul 31 19:31:19.927: IPv6-Fwd: Sending on Ethernet0/0 *Jul 31 19:31:19.929: IPv6 DHCP: Received ADVERTISE from FE80::A8BB:CCFF:FE80:600 on Ethernet0/0 *Jul 31 19:31:19.929: IPv6 DHCP: Adding server FE80::A8BB:CCFF:FE80:600 *Jul 31 19:31:19.929: IPv6 DHCP: Sending REQUEST to FF02::1:2 on Ethernet0/0 *Jul 31 19:31:19.929: IPv6 DHCP: DHCPv6 address changes state from SOLICIT to REQUEST (ADDR_ADVERTISE_RECEIVED) on Ethernet0/0 *Jul 31 19:31:19.933: IPv6 DHCP: Received REPLY from FE80::A8BB:CCFF:FE80:600 on Ethernet0/0 *Jul 31 19:31:19.933: IPv6 DHCP: Processing options *Jul 31 19:31:19.933: IPv6 DHCP: Adding address 2001:DB8:10:11:3965:F165:3DDB:9226/128 to Ethernet0/0 *Jul 31 19:31:19.934: IPv6 DHCP: T1 set to expire in 43200 seconds *Jul 31 19:31:19.934: IPv6 DHCP: T2 set to expire in 69120 seconds *Jul 31 19:31:19.934: IPv6 DHCP: Configuring DNS server 2001:4860:4860::8888 *Jul 31 19:31:19.934: IPv6 DHCP: DHCPv6 address changes state from REQUEST to OPEN (ADDR_REPLY_RECEIVED) on Ethernet0/0 PC14#sh ipv6 int brie Ethernet0/0 [up/up] FE80::A8BB:CCFF:FE00:A00 2001:DB8:10:11:3965:F165:3DDB:9226

End host ip address assignment – stateless DHCPv6:

Last is stateless assignment, it’s a combination of SLAAC and statefull DHCPv6.

Address assignment comes from SLAAC and DNS and other option from DHCP.

We will use that for end host in vlan 12.

On SW1, we create a new DHCPv6 pool and we configure the interface vlan 12.

SW1(config)#ipv6 dhcp pool USER-VLAN12 SW1(config-dhcpv6)#dns-server 2001:4860:4860::8888 SW1(config-dhcpv6)#domain-name allinrouting.com SW1(config)#int vlan 12 SW1(config-if)#ipv6 dhcp server USER-VLAN12

See that no IPv6 prefix is configure in the DHCP pool.

Next we configure our end host and turn on debugging.

I get my IP address but from the debug I do not see that the DNS was received.

*Jul 31 19:51:33.823: [IPv6 Input]IPV6ADDR: intfid_algo '3' is not active on intf 3: unknown *Jul 31 19:51:33.823: [IPv6 Input]IPV6ADDR: intfid_algo '2' is active on intf 3: eui64 *Jul 31 19:51:33.823: [IPv6 Input]IPV6ADDR: Generating IntfID for 'eui64', prefix 2001:DB8:10:12::/64, address 2001:DB8:10:12:A8BB:CCFF:FE00:700: rc 0 *Jul 31 19:51:33.823: [IPv6 Input]IPV6ADDR: Preferring 2001:DB8:10:12:A8BB:CCFF:FE00:700 from Ethernet0/0 *Jul 31 19:51:33.824: [IPv6 Input]IPV6ADDR: Adding operating owner address configured on Ethernet0/0 *Jul 31 19:51:33.824: [IPv6 Input]IPV6ADDR: Notification: Address 2001:DB8:10:12:A8BB:CCFF:FE00:700 added to Ethernet0/0 *Jul 31 19:51:33.824: [IPv6 Input]IPV6ADDR: Ethernet0/0 - Join Mcast group: New refcnt for FF02::1:FF00:700 is 2 *Jul 31 19:51:34.829: [IPv6 ND]IPV6ADDR: Notification: Address 2001:DB8:10:12:A8BB:CCFF:FE00:700/64 is up on Ethernet0/0 PC11#sh ipv6 int brie Ethernet0/0 [up/up] FE80::A8BB:CCFF:FE00:700 2001:DB8:10:12:A8BB:CCFF:FE00:700

Again, another command needs to be added under the interface vlan 12 of SW1.

This is use to obtain autoconfiguration information other than addresses. If the flag is set, the attached hosts should use stateful autoconfiguration to obtain the other (nonaddress) information.

SW1(config)#int vlan 12 SW1(config-if)#ipv6 nd other-config-flag

And with this command we get DHCP option.

*Jul 31 19:56:04.091: IPv6 DHCP: Received REPLY from FE80::A8BB:CCFF:FE80:600 on Ethernet0/0 *Jul 31 19:56:04.091: IPv6 DHCP: detailed packet contents *Jul 31 19:56:04.091: src FE80::A8BB:CCFF:FE80:600 (Ethernet0/0) *Jul 31 19:56:04.091: dst FE80::A8BB:CCFF:FE00:700 (Ethernet0/0) *Jul 31 19:56:04.091: type REPLY(7), xid 16576445 *Jul 31 19:56:04.091: option SERVERID(2), len 10 *Jul 31 19:56:04.091: 00030001AABBCC000600 *Jul 31 19:56:04.091: option CLIENTID(1), len 10 *Jul 31 19:56:04.091: 00030001AABBCC000700 *Jul 31 19:56:04.091: option DNS-SERVERS(23), len 16 *Jul 31 19:56:04.091: 2001:4860:4860::8888 *Jul 31 19:56:04.091: option DOMAIN-LIST(24), len 18 *Jul 31 19:56:04.091: allinrouting.com *Jul 31 19:56:04.092: IPv6 DHCP: Adding server FE80::A8BB:CCFF:FE80:600 PC11# *Jul 31 19:56:04.092: IPv6 DHCP: Processing options *Jul 31 19:56:04.092: IPv6 DHCP: Configuring DNS server 2001:4860:4860::8888 *Jul 31 19:56:04.092: IPv6 DHCP: Configuring domain name allinrouting.com *Jul 31 19:56:04.092: IPv6 DHCP: DHCPv6 changes state from INFORMATION-REQUEST to IDLE (REPLY_RECEIVED) on Ethernet0/0

And DNS works.

PC11#sSH LOG Translating "LOG"...domain server (2001:4860:4860::8888) *Jul 31 19:58:32.941: IPv6-Sas: SAS picked source 2001:DB8:10:12:A8BB:CCFF:FE00:700 for 2001:4860:4860::8888 *Jul 31 19:58:32.941: IPv6-Fwd: No route to destination 2001:4860:4860::8888 (tableid=0)

On SW1, the DHCP pool reports 0 client. That makes sense because no IPv6 addresses are in lease.

DHCPv6 pool: USER-VLAN12 DNS server: 2001:4860:4860::8888 Domain name: allinrouting.com Active clients: 0

I will assign addresses to end host from site 2 and 3 the same way.

In the next post we will try to make all those stuff communicating together using dynamic routing protocols.

Thank you for reading.

Comments and reviews are appreciated.

Check out the other posts of this IPv6 series:

Article Details

enable automatic ipv6 address assignment

Nothing here yet?

Log in to post to this feed.

Related Articles

  • Number of Views 616
  • Number of Views 915
  • Number of Views 937

Trending Articles

  • Cisco Packet Tracer: Software de Simulación para Redes
  • 200-301 CCNA Study Materials
  • Packet Tracer Labs

If you encounter a technical issue on the site, please open a support case .

Communities: Chinese | Japanese | Korean

Cisco.com © Copyright 2024 Cisco, Inc. All Rights Reserved. Privacy Statement Terms & Conditions Cookie Policy Trademarks

Configuring IPv6 address autoconfiguration

  • In System i Navigator , expand your system > Network > TCP/IP Configuration > Lines .
  • Right-click one of the lines in the right pane, and select IPv6 Stateless Address Autoconfiguration > Configure .
  • Follow the steps in the New IPv6 Interface wizard to complete the autoconfiguration.
  • To start the IPv6 interface created by the autoconfiguration, right-click the line you just configured and select IPv6 Stateless Address Autoconfiguration > Start . Note: To ensure that the IPv6 is started automatically when you start TCP/IP, select Start when TCP/IP is started in the Configure Line for IPv6 display.

If the status changes to Active, you have configured and started the IPv6 address autoconfiguration successfully.

  • On the command line, type ADDTCPIFC (Add TCP/IP Interface command) and press F4 (Prompt) to access the Add TCP/IP Interface menu.
  • At the Internet address prompt, type *IP6SAC .
  • At the Line description prompt, specify a line name (use any name), and press Enter to see a list of optional parameters.
  • Specify any of the optional parameters, and then press Enter.

To start the IPv6 stateless address autoconfiguration, follow these steps:

  • On the command line, type STRTCPIFC (Start TCP/IP Interface command) and press F4 (Prompt) to access the Start TCP/IP Interface menu.
  • At the Internet address prompt, type *IP6SAC , and press Enter.
  • At the Line description prompt, specify the line name that you defined in the preceding configuration steps, and then press Enter.

You have successfully configured and started the IPv6 address autoconfiguration.

IPv6 Address Assignment with Stateless Auto-Configuration

enable automatic ipv6 address assignment

The debate over the pros and cons of transitioning to IPv6 continues. Recent articles have agreed that many organizations are IPv6 capable, but because of NAT (Network address translation) borrowing us time against running out of available IP addresses, and the cost associated with upgrading providers’ hardware being a deterrent, IPv6 isn’t as widely used as some experts thought it may be at this time. In any case, it still seems safe to say that IPv6 is an inevitability.

What is IPv6 stateless auto-configuration?

One aspect of IPv6 that seems intriguing is the stateless auto-configuration. IPv6 stateless auto-configuration is a quick-and-easy, plug-and-play method of having a host join an existing IPv6 network.  Stateless auto-configuration process consists of the following:

The IPv6 host generates a link-local address for its interface. A link-local address is formed by taking the well-known link-local prefix of fe80:: and appending an interface identifier . The interface identifier is derived from the host’s MAC address. This link-local address is used solely on the host’s segment and is not routable. An example of a link-local address – fe80::21b:63ff:feab:e6a6 where 21b:63ff:feab:e6a6 was derived from the host’s MAC address using the EUI-64 interface id assignment.

The link-local address is created so the host can use it to send a Router solicitation message to the all-routers multicast group on its local segment, requesting a router inform the host on what network (prefix) it resides.

In response to its Router solicitation request, the host receives a Router Advertisement (RA) containing the prefix. The host creates its IPv6 address by appending its interface identifier to the prefix . An example of a host’s IPv6 address – 2001:DB8::212:7FFF:FEEB:6B40 where 212:7FFF:FEEB:6B40 was derived from the host’s MAC address using the EUI-64 interface id assignment.

Stateless auto-configuration is not a replacement for DHCP (Dynamic Host Configuration Protocol). DHCPv6 will still be used when hosts require addresses for NTP servers, TFTP servers, and other common options. DHCPv6 also offers the audit, tracking and management capabilities if more control of address assignment is required.

To learn more about Cisco training, visit https://go.skyline-ats.com/ciscotraining

' src=

Tony DeSimone

Tony DeSimone is a Senior Content Engineer at Skyline ATS with a unique combination of 17 years of certified IT instructor experience coupled with hands-on network administration, course development, and a business background with a degree in management information systems.

Breaking Down the Cisco ENCOR Exam: Infrastructure

Video: what’s the difference between lan, man and wan, related posts, use python pygal to visualize network snmp data, what nbar is and how to use it, how to troubleshoot a network connectivity issue, video: cisco exam taking tips 101, what you need to know about the comptia..., what is static routing and what do we..., top 5 ways to use gre tunneling, breaking down the cisco devnet associate exam: network..., finding the best way to learn about networking, how to run flask in containers.

Close Bitnami banner

Amazon EC2 instance IP addressing

Amazon EC2 and Amazon VPC support both the IPv4 and IPv6 addressing protocols. By default, Amazon VPC uses the IPv4 addressing protocol; you can't disable this behavior. When you create a VPC, you must specify an IPv4 CIDR block (a range of private IPv4 addresses). You can optionally assign an IPv6 CIDR block to your VPC and assign IPv6 addresses from that block to instances in your subnets.

Private IPv4 addresses

Public ipv4 addresses, elastic ip addresses (ipv4), ipv6 addresses, work with the ipv4 addresses for your instances, work with the ipv6 addresses for your instances.

  • Multiple IP addresses

EC2 instance hostnames

Link-local addresses.

A private IPv4 address is an IP address that's not reachable over the Internet. You can use private IPv4 addresses for communication between instances in the same VPC. For more information about the standards and specifications of private IPv4 addresses, see RFC 1918 . We allocate private IPv4 addresses to instances using DHCP.

You can create a VPC with a publicly routable CIDR block that falls outside of the private IPv4 address ranges specified in RFC 1918. However, for the purposes of this documentation, we refer to private IPv4 addresses (or 'private IP addresses') as the IP addresses that are within the IPv4 CIDR range of your VPC.

VPC subnets can be one of the following types:

IPv4-only subnets: You can only create resources in these subnets with IPv4 addresses assigned to them.

IPv6-only subnets: You can only create resources in these subnets with IPv6 addresses assigned to them.

IPv4 and IPv6 subnets: You can create resources in these subnets with either IPv4 or IPv6 addresses assigned to them.

When you launch an EC2 instance into an IPv4-only or dual stack (IPv4 and IPv6) subnet, the instance receives a primary private IP address from the IPv4 address range of the subnet. For more information, see IP addressing in the Amazon VPC User Guide . If you don't specify a primary private IP address when you launch the instance, we select an available IP address in the subnet's IPv4 range for you. Each instance has a default network interface (eth0) that is assigned the primary private IPv4 address. You can also specify additional private IPv4 addresses, known as secondary private IPv4 addresses . Unlike primary private IP addresses, secondary private IP addresses can be reassigned from one instance to another. For more information, see Multiple IP addresses .

A private IPv4 address, regardless of whether it is a primary or secondary address, remains associated with the network interface when the instance is stopped and started, or hibernated and started, and is released when the instance is terminated.

A public IP address is an IPv4 address that's reachable from the Internet. You can use public addresses for communication between your instances and the Internet.

When you launch an instance in a default VPC, we assign it a public IP address by default. When you launch an instance into a nondefault VPC, the subnet has an attribute that determines whether instances launched into that subnet receive a public IP address from the public IPv4 address pool. By default, we don't assign a public IP address to instances launched in a nondefault subnet.

You can control whether your instance receives a public IP address as follows:

Modifying the public IP addressing attribute of your subnet. For more information, see Modify the public IPv4 addressing attribute for your subnet in the Amazon VPC User Guide .

Enabling or disabling the public IP addressing feature during launch, which overrides the subnet's public IP addressing attribute. For more information, see Assign a public IPv4 address during instance launch .

You can unassign a public IP address from your instance after launch by managing the IP addresses associated with a network interface .

A public IP address is assigned to your instance from Amazon's pool of public IPv4 addresses, and is not associated with your AWS account. When a public IP address is disassociated from your instance, it is released back into the public IPv4 address pool, and you cannot reuse it.

In certain cases, we release the public IP address from your instance, or assign it a new one:

We release your instance's public IP address when it is stopped, hibernated, or terminated. Your stopped or hibernated instance receives a new public IP address when it is started.

We release your instance's public IP address when you associate an Elastic IP address with it. When you disassociate the Elastic IP address from your instance, it receives a new public IP address.

If the public IP address of your instance in a VPC has been released, it will not receive a new one if there is more than one network interface attached to your instance.

If your instance's public IP address is released while it has a secondary private IP address that is associated with an Elastic IP address, the instance does not receive a new public IP address.

If you require a persistent public IP address that can be associated to and from instances as you require, use an Elastic IP address instead.

If you use dynamic DNS to map an existing DNS name to a new instance's public IP address, it might take up to 24 hours for the IP address to propagate through the Internet. As a result, new instances might not receive traffic while terminated instances continue to receive requests. To solve this problem, use an Elastic IP address. You can allocate your own Elastic IP address, and associate it with your instance. For more information, see Elastic IP addresses .

AWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page .

Instances that access other instances through their public NAT IP address are charged for regional or Internet data transfer, depending on whether the instances are in the same Region.

An Elastic IP address is a public IPv4 address that you can allocate to your account. You can associate it to and disassociate it from instances as you require. It's allocated to your account until you choose to release it. For more information about Elastic IP addresses and how to use them, see Elastic IP addresses .

We do not support Elastic IP addresses for IPv6.

You can optionally associate an IPv6 CIDR block with your VPC and associate IPv6 CIDR blocks with your subnets. The IPv6 CIDR block for your VPC is automatically assigned from Amazon's pool of IPv6 addresses; you cannot choose the range yourself. For more information, see the following topics in the Amazon VPC User Guide :

IP addressing for your VPCs and subnets

Add an IPv6 CIDR block to your VPC

Add an IPv6 CIDR block to your subnet

IPv6 addresses are globally unique and can be configured to remain private or reachable over the Internet. Your instance receives an IPv6 address if an IPv6 CIDR block is associated with your VPC and subnet, and if one of the following is true:

Your subnet is configured to automatically assign an IPv6 address to an instance during launch. For more information, see Modify the IPv6 addressing attribute for your subnet .

You assign an IPv6 address to your instance during launch.

You assign an IPv6 address to the primary network interface of your instance after launch.

You assign an IPv6 address to a network interface in the same subnet, and attach the network interface to your instance after launch.

When your instance receives an IPv6 address during launch, the address is associated with the primary network interface (eth0) of the instance. You can manage the IPv6 addresses for your instances primary network interface (eth0) in the following ways:

Assign and unassign IPv6 addresses from the network interface. The number of IPv6 addresses you can assign to a network interface and the number of network interfaces you can attach to an instance varies per instance type. For more information, see IP addresses per network interface per instance type .

Enable a primary IPv6 address. A primary IPv6 address enables you to avoid disrupting traffic to instances or ENIs. For more information, see Create a network interface or Manage IP addresses .

An IPv6 address persists when you stop and start, or hibernate and start, your instance, and is released when you terminate your instance. You cannot reassign an IPv6 address while it's assigned to another network interface—you must first unassign it.

You can control whether instances are reachable via their IPv6 addresses by controlling the routing for your subnet or by using security group and network ACL rules. For more information, see Internetwork traffic privacy in the Amazon VPC User Guide .

For more information about reserved IPv6 address ranges, see IANA IPv6 Special-Purpose Address Registry and RFC4291 .

You can assign a public IPv4 address to your instance when you launch it. You can view the IPv4 addresses for your instance in the console through either the Instances page or the Network Interfaces page.

View the IPv4 addresses

Assign a public ipv4 address during instance launch.

You can use the Amazon EC2 console to view the public and private IPv4 addresses of your instances. You can also determine the public IPv4 and private IPv4 addresses of your instance from within your instance by using instance metadata. For more information, see Instance metadata and user data .

The public IPv4 address is displayed as a property of the network interface in the console, but it's mapped to the primary private IPv4 address through NAT. Therefore, if you inspect the properties of your network interface on your instance, for example, through ifconfig (Linux) or ipconfig (Windows), the public IPv4 address is not displayed. To determine your instance's public IPv4 address from an instance, use instance metadata.

To view the IPv4 addresses for an instance using the console

Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/ .

In the navigation pane, choose Instances and select your instance.

The following information is available on the Networking tab:

Public IPv4 address — The public IPv4 address. If you associated an Elastic IP address with the instance or the primary network interface, this is the Elastic IP address.

Private IPv4 addresses — The private IPv4 address.

Secondary private IPv4 addresses — Any secondary private IPv4 addresses.

To view more detailed information, on the Networking tab, choose the ID of the primary network interface to open the Network interfaces page, and then choose the ID of the network interface to open its details page.

To view the IPv4 addresses for an instance using the command line

You can use one of the following commands. For more information about these command line interfaces, see Access Amazon EC2 .

describe-instances (AWS CLI)

Get-EC2Instance (AWS Tools for Windows PowerShell).

To determine your instance's IPv4 addresses using instance metadata

Connect to your instance. For more information, see Connect to your Linux instance .

Use the following command to access the private IP address:

Use the following command to access the public IP address:

If an Elastic IP address is associated with the instance, the value returned is that of the Elastic IP address.

Each subnet has an attribute that determines whether instances launched into that subnet are assigned a public IP address. By default, nondefault subnets have this attribute set to false, and default subnets have this attribute set to true. When you launch an instance, a public IPv4 addressing feature is also available for you to control whether your instance is assigned a public IPv4 address; you can override the default behavior of the subnet's IP addressing attribute. The public IPv4 address is assigned from Amazon's pool of public IPv4 addresses, and is assigned to the network interface with the device index of eth0. This feature depends on certain conditions at the time you launch your instance.

Considerations

You can unassign the public IP address from your instance after launch by managing the IP addresses associated with a network interface . For more information about public IPv4 addresses, see Public IPv4 addresses .

You cannot auto-assign a public IP address if you specify more than one network interface. Additionally, you cannot override the subnet setting using the auto-assign public IP feature if you specify an existing network interface for eth0.

Whether you assign a public IP address to your instance during launch or not, you can associate an Elastic IP address with your instance after it's launched. For more information, see Elastic IP addresses . You can also modify your subnet's public IPv4 addressing behavior. For more information, see Modify the public IPv4 addressing attribute for your subnet .

To assign a public IPv4 address during instance launch using the console

Follow the procedure to launch an instance , and when you configure Network Settings , choose the option to Auto-assign Public IP .

To enable or disable the public IP addressing feature using the command line

Use the --associate-public-ip-address or the --no-associate-public-ip-address option with the run-instances command (AWS CLI)

Use the -AssociatePublicIp parameter with the New-EC2Instance command (AWS Tools for Windows PowerShell)

You can view the IPv6 addresses assigned to your instance, assign a public IPv6 address to your instance, or unassign an IPv6 address from your instance. You can view these addresses in the console through either the Instances page or the Network Interfaces page.

View the IPv6 addresses

Assign an ipv6 address to an instance, unassign an ipv6 address from an instance.

You can use the Amazon EC2 console, AWS CLI, and instance metadata to view the IPv6 addresses for your instances.

To view the IPv6 addresses for an instance using the console

In the navigation pane, choose Instances .

Select the instance.

On the Networking tab, locate IPv6 addresses .

To view the IPv6 addresses for an instance using the command line

To view the ipv6 addresses for an instance using instance metadata.

Use the following command to view the IPv6 address (you can get the MAC address from http://169.254.169.254/latest/meta-data/network/interfaces/macs/ ).

If your VPC and subnet have IPv6 CIDR blocks associated with them, you can assign an IPv6 address to your instance during or after launch. The IPv6 address is assigned from the IPv6 address range of the subnet, and is assigned to the network interface with the device index of eth0.

To assign an IPv6 address during instance launch

Follow the procedure to launch an instance , and when you configure Network Settings , choose the option to Auto-assign IPv6 IP .

To assign an IPv6 address after launch

Select your instance, and choose Actions , Networking , Manage IP addresses .

Expand the network interface. Under IPv6 addresses , choose Assign new IP address . Enter an IPv6 address from the range of the subnet or leave the field blank to let Amazon choose an IPv6 address for you.

Choose Save .

To assign an IPv6 address using the command line

Use the --ipv6-addresses option with the run-instances command (AWS CLI)

Use the Ipv6Addresses property for -NetworkInterface in the New-EC2Instance command (AWS Tools for Windows PowerShell)

assign-ipv6-addresses (AWS CLI)

Register-EC2Ipv6AddressList (AWS Tools for Windows PowerShell)

You can unassign an IPv6 address from an instance at any time.

To unassign an IPv6 address from an instance using the console

Expand the network interface. Under IPv6 addresses , choose Unassign next to the IPv6 address.

To unassign an IPv6 address from an instance using the command line

unassign-ipv6-addresses (AWS CLI)

Unregister-EC2Ipv6AddressList (AWS Tools for Windows PowerShell).

When you create an EC2 instance, AWS creates a hostname for that instance. For more information on the types of hostnames and how they're provisioned by AWS, see Amazon EC2 instance hostname types . Amazon provides a DNS server that resolves Amazon-provided hostnames to IPv4 and IPv6 addresses. The Amazon DNS server is located at the base of your VPC network range plus two. For more information, see DNS attributes for your VPC in the Amazon VPC User Guide .

Link-local addresses are well-known, non-routable IP addresses. Amazon EC2 uses addresses from the link-local address space to provide services that are accessible only from an EC2 instance. These services do not run on the instance, they run on the underlying host. When you access the link-local addresses for these services, you're communicating with either the Xen hypervisor or the Nitro controller.

Link-local address ranges

IPv4 – 169.254.0.0/16 (169.254.0.0 to 169.254.255.255)

IPv6 – fe80::/10

Services that you access using link-local addresses

Instance Metadata Service

Amazon Route 53 Resolver (also known as the Amazon DNS server)

Amazon Time Sync Service

Warning

To use the Amazon Web Services Documentation, Javascript must be enabled. Please refer to your browser's Help pages for instructions.

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of it.

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.

If the switch does not have the IPv6 address of a wireless client, the switch will not respond with NA and forward the NS packet to the wireless side. To resolve this, an NS Multicast Forwarding knob is provided. If this knob is enabled, the switch gets the NS packet for the IPv6 address that it does not have (cache miss) and forwards it to the wireless side. This packet reaches the intended wireless client and the client replies with NA.

This cache miss scenario occurs rarely, and only very few clients which do not implement complete IPv6 stack may not advertise their IPv6 address during NDP.

How To Configure IPv6 Client Address Learning

Configuring IPv6 Snooping (CLI)

IPv6 snooping must always be enabled on the switch and the controller.

Enable IPv6 on the client machine.

1.     vlan configuration 1

2.     ipv6 snooping

3.     ipv6 nd suppress

4.     exit

Configuring IPv6 on Switch

Use this configuration example to configure IPv6 on an interface.

Enable IPv6 on the client and IPv6 support on the wired infrastructure.

1.     interface vlan 1

2.     ip address fe80::1 link-local

3.     ipv6 enable

4.     end

Configuring DHCP Pool

1.     ipv6 dhcp pool Vlan21

2.     address prefix 2001:DB8:0:1:FFFF:1234::/64 lifetime 300 10

3.     dns-server 2001:100:0:1::1

4.     domain-name example.com

5.     end

Configuring Stateless Auto Address Configuration (without DHCP)

4.     no ipv6 nd managed-config-flag

5.     no ipv6 nd other-config-flag

6.     end

Configuring Stateless Auto Address Configuration (with DHCP)

5.     ipv6 nd other-config-flag

Configuring Stateful DHCP

1.     configure terminal

2.     ipv6 dhcp pool IPv6_DHCPPOOL

3.     address prefix 2001:DB8:0:1:FFFF:1234::/64

4.     dns-server 2001:100:0:1::1

5.     domain-name example.com

6.     exit

7.     interface vlan1

8.     ipv6 nd prefix 2001:db8::/64 no-advertise

9.     ipv6 nd managed-config-flag

10.     ipv6 nd other-config-flag

11.     ipv6 dhcp server IPv6_DHCPPOOL

Verifying IPv6 Client Address Learning

Verifying ipv6 address learning configuration.

This example displays the output of the show ipv6 dhcp pool command. This command displays the IPv6 service configuration on the switch . The vlan 21 configured pool detail displays 6 clients that are currently using addresses from the pool.

1.     show ipv6 dhcp pool

Debugging IPv6 Address Learning

Use the following CLI command to debug IPv6 in the switch .

Monitoring Client Address Learning

Viewing interfaces configured for ipv6 address learning.

Use this command to see the interfaces configured for IPv6 address learning.

1.     show ipv6 dhcp interface

Viewing IPv6 Address Learning

Use this command to monitor the IPv6 address learning and neighbor discovery.

Viewing RA Throttling and NS Suppression

Use this command to see the iRA throttling and NS suppression details.

1.     show ipv6 nd raguard Mypolicy

2.     show ipv6 nd ra-throttler policy Mythrottle

Configuration Example for IPv6 Client Address Learning

Creating a DHCP Scope

This example configures an IPv6 DHCP scope named vlan21. This DHCP scope provides IPv6 addresses in the 2001:DB8:0:1:FFFF:1234::/64 subnet. The validity and preferred validity of each IPv6 address provided is set to one day (86400 seconds, or 24 hours). The DHCP scope also provide a dns-server IPv6 address option (2001:100:0:1::1), and the domain name for the scope.

2.     ipv6 dhcp pool vlan21

3.     address prefix 2001:DB8:0:1:FFFF:1234::/64 lifetime 86400 86400

Enabling IPv6 on a Interface and Providing IPv6 Addresses to DHCP Clients

This example configures IPv6 on interface VLAN 21. The first address (fe80::1) is a link local address, the second address (2001:db8:0:1:ffff:1234::1/64) is a global unicast address. IPv6 DHCP clients requesting for address in VLAN 21 are directed to the DHCP pool vlan21. The switch informs IPv6 hosts in VLAN 21 that the DHCP scope provided supports stateful auto-configuration (nd managed-config-flag), and can also provide non-address options, such as domain name or dns server (nd other-config-flag).

1.     interface vlan 21

2.     ipv6 address fe80::1 link-local

3.     ipv6 address 2001:db8:0:1:ffff:1234::1/64

4.     ipv6 dhcp server vlan 21

5.     ipv6 nd managed-config-flag

6.     ipv6 nd other-config-flag

IMAGES

  1. kép Állandó feszült enable automatic ipv6 address assignment

    enable automatic ipv6 address assignment

  2. Enable IPv6

    enable automatic ipv6 address assignment

  3. IPv6 Address system

    enable automatic ipv6 address assignment

  4. How to configure IPv6 settings on modem router (self-developed UI)

    enable automatic ipv6 address assignment

  5. Troubleshoot IPv6 Dynamic Address Assignment with Cisco Router and

    enable automatic ipv6 address assignment

  6. 😎 Ipv6 address assignment. Section 16.1 IPv6 Protocol Overview

    enable automatic ipv6 address assignment

VIDEO

  1. Dynamic Addressing for IPv6 GUAs

  2.  IPV6 CONFIGURATION IN EASY STEPS!

  3. Tutorial 10 IPv6 address configuration and IPv6 static routing Group Ly, Linh, Thoa, Thúy

  4. Dynamic Routing with IPv6 6to4 Tunnels

  5. Cisco Router Stateless IPv6 Address Assignment

  6. How IPv6 Stateless Address Autoconfiguration (SLAAC) works

COMMENTS

  1. IPv6 Stateless Address Auto-configuration (SLAAC)

    Step 1: The node configures itself with a link-local address. When an IPv6 node is connected to an IPv6 enabled network, the first thing it typically does is to auto-configure itself with a link-local address. The purpose of this local address is to enable the node to communicate at Layer 3 with other IPv6 devices in the local segment.

  2. IPv6 Addressing and Basic Connectivity Configuration Guide ...

    An IPv6 address prefix, in the format ipv6-prefix / prefix-length, can be used to represent bit-wise contiguous blocks of the entire address space.The ipv6-prefix must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons. The prefix length is a decimal value that indicates how many of the high-order contiguous bits of the ...

  3. IPv6 Configuration Guide, Cisco IOS Release 15.0S

    Extensions to DHCPv6 also enable prefix delegation, through which an ISP can automate the process of assigning prefixes to a customer for use within the customer's network. ... DHCP for IPv6 Address Assignment. ... Enables automatic configuration of IPv6 addresses using stateless autoconfiguration on an interface and enables IPv6 processing on ...

  4. Troubleshoot IPv6 Dynamic Address Assignment with Cisco Router and

    To disable the automatic creation of the Temporary IPv6 Address run the command: netsh interface ipv6 set privacy state=disabled . With the command applied, the outputs show: ... netsh interface ipv6 set privacy state=enable. IPv6 dynamic address assignment offers more options than DHCP in IPv4. It is necessary to know the main configuration ...

  5. IPv6: How to configure static and DHCP IP addressing and deal with DNS

    In Settings go to Network & Internet and click the Properties button for the interface you wish to configure. Click the Edit button under IP settings, change the configuration type to Manual ...

  6. IPv6 Dynamic Address Allocation Mechanism Illustrated

    IPv6 supports multiple addresses, making address assignments more flexible and convenient. Unlike IPv4, which relied solely on the DHCP protocol for address assignment, IPv6 incorporates a native Stateless Address AutoConfiguration SLAAC) protocol. SLAAC can either work alone to provide IPv6 addresses to hosts, or it can work with DHCPv6 to generate new assignment schemes.

  7. IPv6 Address Assignment Example

    IPv6 Global Unicast Prefix Assignments. IANA "owns" the entire IPv6 address space and they assign certain prefixes to the RIRs (Regional Internet Registry). There are 5 RIRs at the moment: AFRINIC: Africa. APNIC: Asia/Pacific. ARIN: North America. LACNIC: Latin America and some Caribbean Islands.

  8. IPv6 tutorial

    In an IPv4 network, a computer's automatic address assignment means that a DHCP server is involved. IPv6 still knows DHCP-based address assignment (also called stateful address configuration), but now hosts can also configure themselves with IPv6 addresses (stateless address configuration). There are two types of stateless configurations.

  9. IPv6 Address Configuration on Hosts

    1. Enable IPv6 on the network interface. 2. Set the network interface to use "DHCP" or "Automatic (DHCP)" address assignment mode. 3. Hosts will send DHCPv6 requests to the DHCPv6 server, which will respond with an assigned IPv6 address and other configuration details.

  10. IPv6 address assignment

    IPv6 addresses can be assigned to an interface by doing the following: In addition, a link-local address is always automatically configured on an interface regardless of whether stateful or stateless address autoconfiguration is being used. The main difference, however, between address assignment in IPv6 and in IPv4 is that the IPv6 protocol ...

  11. How do I assign IPv6 addresses manually?

    If you wish, you would in Windows set a computer's static IPv6 inside Start > Network > Network and Sharing Center > Change Adapter Setting , right-click on the Ethernet connection IPv6 and choose Properties, right-click "Internet Protocol Version 6 (TCP/IPv6)" and click on Properties, the set "Use the following IPv6 address".

  12. IPv6

    Here is the config used on the router interface for SLAAC. PC12 (config-if)#int Ethernet0/0. PC12 (config-if)#ipv6 enable. PC12 (config-if)#ipv6 address autoconfig. And we get an IP address in the correct range ! I can also ping vlan 10 interface. PC12#sh ipv6 int brie. Ethernet0/0 [up/up] FE80::A8BB:CCFF:FE00:800.

  13. IPv6 Configuration Guide

    An IPv6 address prefix, in the format ipv6-prefix / prefix-length, can be used to represent bit-wise contiguous blocks of the entire address space.The ipv6-prefix must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons.

  14. Configuring IPv6 address autoconfiguration

    The IPv6 address autoconfiguration automatically creates new IPv6 interfaces for a given line description, and assigns IPv6 addresses for the interfaces. You can configure a line description to perform IPv6 address autoconfiguration using either a wizard in System i® Navigator, or the character-based interface.

  15. IPv6 Address Assignment with Stateless Auto-Configuration

    IPv6 stateless auto-configuration is a quick-and-easy, plug-and-play method of having a host join an existing IPv6 network. Stateless auto-configuration process consists of the following: The IPv6 host generates a link-local address for its interface. A link-local address is formed by taking the well-known link-local prefix of fe80:: and ...

  16. Enable or disable the Automatic IPv6 Address Assignment

    If Enable DHCP-PD is enabled in the previous LAN IPv6 Address Settings: Enable Automatic Enable or disable DHCP-PD for other IPv6 routers connected DHCP-PD in LAN to the LAN interface. Autoconfiguration Select SLAAC+RDNSS, SLAAC+Stateless DHCP, or Stateful Type DHCPv6.

  17. Amazon EC2 instance IP addressing

    The IPv6 address is assigned from the IPv6 address range of the subnet, and is assigned to the network interface with the device index of eth0. To assign an IPv6 address during instance launch. Follow the procedure to launch an instance, and when you configure Network Settings, choose the option to Auto-assign IPv6 IP.

  18. How to Enable IPv6 on a Cisco Router?

    This command globally enables IPv6 and must be the first command executed on the router. Configure the IPv6 global unicast address on an interface using the 'ipv6 address address/prefix-length [eui-64]' command. After you enter this command, the link local address will be automatically derived. If you omit the 'eui-64' parameter, you ...

  19. Configuring IPv6 Client IP Address Learning

    The most common method for IPv6 client address assignment is Stateless Address Auto-Configuration (SLAAC). SLAAC provides simple plug-and-play connectivity where clients self-assign an address based on the IPv6 prefix. ... :1/64 ipv6 enable ipv6 nd other-config-flag ipv6 dhcp server IPV6_DHCPPOOL end. Stateful DHCPv6 Address Assignment. Figure ...

  20. How to use IPv6 in enterprise networks

    On a Windows system, type the following: ping -6 <IPv6-address>. To check the network path to a remote system on Linux and macOS, type either of the following: $ traceroute6 <IPv6-address>. $ traceroute -6 <IPv6-address>. Windows administrators can use the tracert command to trace IPv6 address routes, as seen here:

  21. 8.5.1 Lab

    Step 2: Configure R1 to provide stateless DHCPv6 for PC-A. a. Create an IPv6 DHCP pool on R1 named R1-STATELESS. As a part of that pool, assign the DNS server address as 2001:db8:acad::1 and the domain name as stateless.com. R1(config)# ipv6 dhcp pool R1-STATELESS. R1(config-dhcp)# dns-server 2001:db8:acad::254.

  22. Auto-assign IPv6 address via AWS and CloudFormation

    I had a very similar issue and had a chat with AWS Support concerning this. The current state is that IPv6 support in CloudFormation is very limited. We ended up creating Custom Resources for lots of IPv6-specific things. We have a Custom Resource that: Enables IPv6-allocation on a subnet; Creates an Egress-Only Internet Gateway