learncisco.net

IPv6 Connectivity

There are a few more methods with IP version 6 for address allocation than what we had with IP version 4. With IP version 6, we will have manual assignment, just like IP version 4. But we will also have the ability to use that EUI-64 method that we just discussed. So we are still manually assigning a portion of that address, but we are allowing the interface portion to be automatically figured out utilizing the Media Access Control, or MAC, address with the stuff we jammed in the middle there. We also have something that is known as stateless autoconfiguration. This is an automatic configuration whereby we discover, we discover what address we could utilize by communicating with our router and then automatically creating an IP version 6 address based on what we learned from our router. We’ll see that later. And then, our stateful autoconfiguration. We said that DHCP was stateful. So whenever you hear the term stateful autoconfiguration with IP version 6, you want to think of DHCP Version 6. For IP version 6 will be handing out IP version 6 addresses, utilizing a DHCP server.

Basic IPv6 connectivity

With IP version 4, do we have to turn on IP version 4 before we do anything else on our devices?

Let’s think about that. We can go to an interface, we can give it an IP address and not really do anything before that. That is because, the protocol suite is enabled. We could, in fact, disable the protocol suite, maybe we’ll be doing this in 15 years. We’ll be typing in the no IP routing command. No IP routing would turn off Internet Protocol version 4, or IPv4, but Internet Protocol version 6, or IPv6, is a new thing out and as a result it is still not enabled by default. And it’s a good thing that it isn’t, okay. But if we want to do anything with IPv6, you better do the first command here.

router(config)#ipv6 unicast-routing

IPv6 unicast routing and, viola, lots of stuff is available to us now that wasn’t before, IPv6 unicast, routing protocols, the ability to assign, interfaces with v6 address, and that’s how we would. That would be the next step. We’d go to an interface, we’d say IPv6 address.

router(config-if)#ipv6 address ipv6-address/ipv6-length [eui-64]

So this is a little different. Our v4 command is IP address, now it’s IPv6 address and then we put in, probably a shortened address. I say, probably, because you could put in leading zeros and the syntax takes it. But you put in the shortened address that you want to provide and you have a choice here and this is a tricky choice. Do you or do you not want to use EUI-64? If you do choose to use EUI-64 then you better only specify the first 64 bits. This is a mistake that I made, personally. I’m like, I want to use EUI-64, but I specified the entirety of the 128-bit address. That does not work, okay. So put in 64 bits, then your prefix notation mask, that’s all we use here, only kind of mask we use. And we would want to say /64 and then if you wanted to use EUI-64 and you only specified 64 bits, you say EUI-64 and then we validate this. We can look at the running configuration, but you could also look at interface output, show IPv6 interface.

R4#show ipv6 interface ethernet 0/1 Ethernet0/1 is up, line protocol is up   IPv6 is enabled, link-local address is FE80::A8BB:CCFF:FE01:3A10 Global unicast address(es):     2001:DB8:C18:1:A8BB:CCFF:FE01:3A10, subnet is 2001:DB8:C18:1::/64 [EUI]   Joined group address(es):     FF02::1     FF02::2     FF02::1:FF01:3A10   MTU is 1500 bytes

I in fact, liked show IPv6 interface brief. But in this case, we can see our address and we put in EUI-64. So what that means is we should be looking for a MAC address with FF:FE jammed in and we can see that. So what would this have done? We would’ve given a layer three address to the interface. This would be the first step in setting up a routing domain, set up a bunch of interfaces with IPv6 addresses. The second logical step would be to enable IPv6 routing. May be we will set up Open Shortest Path First, or OSPFv3 to advertise these subnets that we’re assigning to interfaces.

IPv6 configuration example

Here is a great example of manually assigning IPv6, addresses to our branch and Headquarters, or HQ, routers. Notice those addresses, they have been truncated. The host portion of branch is 1, the host portion of HQ is 2, but those network identifiers, the first 64 bits are the exact same. So we’re in the same subnet here with /64. But we can’t forget about the all-important command that we mentioned. IPv6 is not turned on by default on the routers. What is the command to do that? We see it here, IPv6 unicast routing. Don’t forget that or nothing else will happen in regards to IP version 6 for you.

IPv6 Configuration Example

ipv6 unicast-routing ! interface GigabitEthernet0/1  ipv6 address 2001:DB8:D1A5:C900::1/64
ipv6 unicast-routing ! interface GigabitEthernet0/1  ipv6 address 2001:DB8:D1A5:C900::2/64

Let’s examine this output, show ipv6 interface GigabitEthernet 0/1. You see an up/up interface. We see our link-local address FE80 something, something, something.

Branch#show ipv6 interface GigabitEthernet 0/1 GigabitEthernet0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::FE90:47FF:FEE5:2599 No Virtual link-local address(es): Description: Link to HQ Global unicast address(es): 2001:DB8:D1A5:C900::1, subnet is 2001:DB8:D1A5:C900::/64

And by the way, that something has FF:FE in it, so it’s link local and using EUI-64 to self-assign. Great! Step down to where they want us to talk about. We see our global unicast address, 2001, you can see the shortening ::1, says our subnet ID and I want you to think that even though this is a very foreign protocol, we’ve learnt all this stuff just for a different protocol suite we talked about, subnet IDs, classless interdomain routing, or CIDR notation masks. So the beauty of networking is, very few things are truly unique. You learn about one thing that helps you learn another and then another and then another.

Let’s say we want to validate and we would, because even though we see up/up interfaces, we see our IPv6 addresses, still the first time we do this, we’re going to go, is this really right, is this going to work? We ping it and we go, wooh, really, I can’t believe it, I can’t believe it. It works, you get a response, and so the ping command naturally will take not only just an IPv4 address, but it will take an IPv6 address as well. You see responses, still uses Internet Control Message Protocol, or ICMP, echoes and we move on to addressing other interfaces and other challenges with the v6 deployment.

Branch#ping 2001:DB8:D1A5:C900::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:D1A5:C900::2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/%), round-trip min/avg/max = 0/0/4 ms

If that ping command looks strange to anybody, we feel your pain. We were there once. Using IP version 4 addresses for so long and then pinging with hexadecimal values, it definitely looks strange, but you’ll get used to it over time.

Let’s not forget about traceroute or telnet either. Traceroute, great verification command, for determining the router hops, that a packet is taking from source to destination, same command for IP version 6, traceroute, you’re just specifying the IP version 6 address. And then telnet, we can telnet using the same command, specifying the IP version 6 address, no difference there at all.

Our Recommended Premium CCNA Training Resources

Cisco CCNA Gold Bootcamp

CCNA 200-301

  • Data Encapsulation
  • Developing Design for Layer 2
  • IOS Configuration Files
  • Three-Layer Model
  • Router as a DHCP Server
  • Gateway and DNS Issues
  • Configuration Files and Password Recovery
  • RIP version 2
  • Configuring EIGRP
  • Single Area OSPF
  • Troubleshooting Multiarea OSPF
  • Troubleshooting Switched Network
  • Configuring EtherChannel
  • How to Set User and Password on Cisco Router
  • Address Translation
  • Path Selection, DNS and ACL issues in IPv6
  • Data-Link Protocols
  • SNMP Overview and Configuration
  • Wireless Security
  • Authentication
  • NetFlow Overview and Configuration
  • What To Do After Getting your CCNA Certification
  • Cisco Practice Tests
  • Cisco Courses

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 Commented 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 Commented 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 Commented 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 Commented 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 Commented 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 Commented Jul 29, 2022 at 12:40
  • In a world where the ISP attributes to users dynamic IP addresses. –  harrymc Commented 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
  • The hidden cost of speed
  • The creator of Jenkins discusses CI/CD and balancing business with open source
  • Featured on Meta
  • Announcing a change to the data-dump process
  • Bringing clarity to status tag usage on meta sites

Hot Network Questions

  • Is it a good idea to perform I2C Communication in the ISR?
  • How to clean a female disconnect connector
  • Does a party have to wait 1d4 hours to start a Short Rest if no healing is available and an ally is only stabilized?
  • Hashable and ordered enums to describe states of a process
  • In a tabular with p-column, line spacing after multi-line cell too short with the array package
  • Does Psalm 127:2 promote laidback attitude towards hard work?
  • Visuallizing complex vectors?
  • Setting labels to be the "Blocking" type using PyQGIS
  • What`s this? (Found among circulating tumor cells)
  • When has the SR-71 been used for civilian purposes?
  • Can reinforcement learning rewards be a combination of current and new state?
  • In which town of Europe (Germany ?) were this 2 photos taken during WWII?
  • Could a lawyer agree not to take any further cases against a company?
  • What are the most commonly used markdown tags when doing online role playing chats?
  • What was the typical amount of disk storage for a mainframe installation in the 1980s?
  • Intersection of Frobenius subalgebra objects
  • Sum[] function not computing the sum
  • What was Jesus' issue with Mary touching him after he'd returned to earth after His resurrection?
  • Is there a way to prove ownership of church land?
  • Is the 2024 Ukrainian invasion of the Kursk region the first time since WW2 Russia was invaded?
  • I'm a little embarrassed by the research of one of my recommenders
  • Fusion September 2024: Where are we with respect to "engineering break even"?
  • SOT 23-6 SMD marking code GC1MGR
  • Nausea during high altitude cycling climbs

ipv6 assignment command

Logo

CCNA 200-301 v1.1

  • CCNA 200-301 Labs
  • CCNP 350-401 ENCOR
  • CCNP 350-401 ENCOR Labs
  • CCNP 300-410 ENARSI
  • CCIE Enterprise Infrastructure
  • Cisco Packet Tracer Lab Course
  • NRS II IRP Course
  • NRS II MPLS Course
  • NRS II Service Architecture
  • Nokia Configuration Course
  • Nokia SRC Program
  • JNCIA Junos
  • HCIA (HCNA)
  • HCIA Configuration Course
  • What is Huawei R&S Certification?
  • Huawei ICT Certifications
  • Python Course
  • IPv6 Course
  • IP Multicast Course
  • NRS I Configuration Course
  • Cisco Packet Tracer How To Guide
  • Online Courses
  • Udemy Courses
  • CCNA Flashcard Questions
  • Protocol Cheat Sheets
  • Subnetting Cheat Sheet
  • Linux Cheat Sheet
  • Python Cheat Sheet
  • CLI Commands Cheat Sheets
  • Miscellaneous Cheat Sheets
  • Cisco Packet Tracer Labs
  • Cisco GNS3 Labs
  • Huawei eNSP Labs
  • Nokia GNS3 Labs
  • Short Config Videos
  • Network Tools
  • IPCisco on Social Media
  • Network Engineer Interview Questions
  • Personality Interview Training
  • Sign In/Up | Members
  • Lost password
  • Sign In/Sign Up
  • ENROLL HERE

Logo

  • IPv6 Configuration on Cisco Packet Tracer

ipv6-configuration

Table of Contents

IPv6 Configuration

IPv6 is the new version of the most important Network Layer Protocol IP. With this new IP version, IPv6, beside different features, some configuration differencies are also coming. In this lesson, we will focus on these IPv6 Configuration Steps, IPv6 Configuration on Cisco devices . We will use the below Packet Tracer topology for our IPv6 Config .

You can download Packet Tracer IPv6 Lab , in Packet Tracer Labs page.

In this configuration lesson, we will follow the below IPv6 Configuration steps :

Enable IPv6 Globally

Enable ipv6 on interface, configure eui-64 format global unicast address, configure manual global unicast address, manual link local address configuration, auto ipv6 address configuration, enable dhcpv6 client, ipv6 verification commands.

  So, let’s go to the IPv6 Configuration steps and configure IPv6 for Cisco routers .

After going to the configuration mode with “ configure terminal ” command, to enable IPv6 on a Cisco router, “ ipv6 unicast-routing ” command is used. With this Cisco command, IPv6 is enabled globally on the router. This can be used before both interface configurations and IPv6 Routing Protocol configurations.

Router 1# configure terminal Router 1(config)# ipv6 unicast-routing Router 2# configure terminal Router 2(config)# ipv6 unicast-routing

After enabling IPv6 globally, we should enable IPv6 under the Interfaces. To enable IPv6 under an interface, we will use “ ipv6 enable ” command. Let’s enable IPv6 on two interfaces of each router.

Router 1 (config)# interface FastEthernet0/0 Router 1 (config-if)# ipv6 enable Router 1 (config-if)# no shutdown Router 1 (config)# interface FastEthernet0/1 Router 1 (config-if)# ipv6 enable Router 1 (config-if)# no shutdown
Router 2 (config)# interface FastEthernet0/0 Router 2 (config-if)# ipv6 enable Router 2 (config-if)# no shutdown Router 2 (config)# interface FastEthernet0/1 Router 2 (config-if)# ipv6 enable Router 2 (config-if)# no shutdown

EUI-64 format is the IPv6 format used to create IPv6 Global Unicast Addresses . It is a specific format that we have also talked about before. With this format, basically, interface id of the whole IPv6 adderess is ceated with the help of the MAC address. After that, this created interface id is appended to the network id.

To configure an interface with EUI-64 format (Extended Unique Identifier), firstly we will go under the interface, then we will use “ ip address ipv6-address/prefix-length eui-64 ” command. Here, our IPv6 address and prefix-length are 2001:AAAA:BBBB:CCCC::/64. The real EUI-64 Global Unicast Address will be created with this address and MAC address after IPv6 configuration.

Router 1 (config)# interface FastEthernet0/0 Router 1(config-if)# ipv6 address 2001:AAAA:BBBB:CCCC::/64 eui-64 Router 1(config-if)# end

Let’s check the IPv6 address that is created with EUI-64 format with “ show ipv6 interface brief ” command.

Router 1# show ipv6 interface brief FastEthernet0/0            [up/up] FE80::2E0:B0FF:FE0E:7701 2001:AAAA:BBBB:CCCC:2E0:B0FF:FE0E:7701 FastEthernet0/1            [up/up] FE80::2E0:B0FF:FE0E:7702 Vlan1                      [administratively down/down] unassigned

If we do not use EUI-64 format address, we have to write the whole IPv6 Address to the configuration line. Let’s configure Gigabit Ethernet 0/0 interface of Router 2 manually .

Router 2 (config)# interface FastEthernet0/0 Router 2 (config-if)# ipv6 address 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234/64 Router 2(config-if)# end

Here, both of these directly connected interfaces are in the same subnet, the Network ID is same (2001:AAAA:BBBB:CCCC::/64).

Let’s check the IPv6 address that we have manually assigned with “ show ipv6 interface brief ” command.

Router 2# show ipv6 interface brief FastEthernet0/0            [up/up] FE80::206:2AFF:FE15:BD01     2001:AAAA:BBBB:CCCC:1234:1234:1234:1234 FastEthernet0/1            [administratively up/up] FE80::206:2AFF:FE15:BD02 Vlan1                      [administratively down/down] unassigned

To check the connectivity between two node, we use ping. As IPv4, with IPv6, we also use ping, but this time it is called IPv6 Ping . The format of IPv6 Ping is a little difference than IPv4 Ping. These  differences are the format of the used IP address and the used keywords. With IPv6 Ping , “ ping ipv6 ” keywords are used before the destination IPv6 address.

Here, we will ping from Router 1 GigabitEthernet0/0 interface to Router 2 GigabitEthernet0/0 interface.

Router 1# ping ipv6 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234   Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms

To check the configured IPv6 Address, we can use “ show ipv6 interface interface-name ” command.

Router 1# show ipv6 interface FastEthernet0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::2E0:B0FF:FE0E:7701 No Virtual link-local address(es): Global unicast address(es): 2001:AAAA:BBBB:CCCC:2E0:B0FF:FE0E:7701 , subnet is 2001:AAAA:BBBB:CCCC::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF0E:7701 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.
Router 2# show ipv6 interface FastEthernet0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::206:2AFF:FE15:BD01 No Virtual link-local address(es): Global unicast address(es):     2001:AAAA:BBBB:CCCC:1234:1234:1234:1234 , subnet is 2001:AAAA:BBBB:CCCC::/64 Joined group address(es): FF02::1 FF02::2 FF02::1:FF15:BD01 FF02::1:FF34:1234 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.

Here, with ipv6 ping, there are some options that we can use. These are given below:

ping ipv6 [hostname | ip_address] [repeat repeat-count | size datagram-size | source [ interface-name | source-address ]

  • repeat : Ping packet count. The default ping repeat value is 5.
  • size : Datagram size. The default value ping size is 56 bytes.
  • source : Source Address of the ping. Default value is None.

So if we would like to send 10 IPv6 ping packet with 200 byte datagrams from 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234 to 2001:AAAA:BBBB:CCCC:1111:2222:3333:4444, we will use the below command:

Router 2 # ping ipv6 2001:AAAA:BBBB:CCCC:1111:2222:3333:4444 repeat 10 size 200 source 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234

To configure a Link Locak address manually, we use “ ipv6 address link-local ipv6-address ” command. Here, we should write an IPv6 address in the range of Link Local addresses. If you would like to learn more about a Link Local Address, you can check Link Local Address lesson.

Let’s configure GigabitEthernet0/1 interface of Router 1 with Link Local Address FE80::AAAA:BBBB:CCCC:DDDD. Here, there is no need to write a prefix length but we will add link-local keyword at the end of the command.

Router 1 (config)# interface FastEthernet0/1 Router 1 (config-if)# ipv6 address FE80::AAAA:BBBB:CCCC:DDDD link-local Router 1 (config-if)# end

Let’s check the manually configure ipv6 Link-Local address with “ show ipv6 interface brief ” command.

Router 1# show ipv6 interface brief FastEthernet0/0            [up/up] FE80::2E0:B0FF:FE0E:7701 2001:AAAA:BBBB:CCCC:2E0:B0FF:FE0E:7701 FastEthernet0/1            [administratively down/down]     FE80::AAAA:BBBB:CCCC:DDDD Vlan1                      [administratively down/down] unassigned

IPv6 Addresses can be configured automatically. This is one of the most important characteristics coming with IPv6. For IPv6 Auto configuration , we will use “ ipv6 address autoconfig ” command. Let’s use it on Router 2 on GigabitEthernet0/1.

Router 2 (config)# interface FastEthernet0/1 Router 2 (config-if)# ipv6 address autoconfig Router 2 (config-if)# end

This type of IPv6 address configuration is Sateless Auto Configuration .

Let’s check the Autoconfigured Link-Local ipv6 address with “ show ipv6 interface brief ” command.

Router 2# show ipv6 interface brief FastEthernet0/0            [up/up] FE80::206:2AFF:FE15:BD01 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234 FastEthernet0/1            [up/down]     FE80::206:2AFF:FE15:BD02 Vlan1                      [administratively down/down] unassigned

Let’s ping from Router 2 to Router 1 to test this second interfaces’ ipv6 connection.

Router 2# ping ipv6 FE80::AAAA:BBBB:CCCC:DDDD Output Interface: FastEthernet0/1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to FE80::AAAA:BBBB:CCCC:DDDD, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/1 ms

To enable DHCPv6 Client function on an interface, we use “ ipv6 address dhcp ” command under this interface. With this command, interface gets its IPv6 address form the DHCPv6 server . Let’s enable DHCPv6 on GigabitEthernet0/2 of Router 2.

Router 1 (config)# interface FastEthernet0/1 Router 1 (config-if)# ipv6 address dhcp Router 1 (config)# end

To verify DHCPv6 enabled interfaces, we can use “ show ipv6 dhcp interface ” command.

Router 1 # show ipv6 dhcp interface

To verify IPv6 Configuration, we can use different show commands. These IPv6 show commands are given below

  • To check IPv6 interface configuration and status we use “ show ipv6 interface interface-id ”.
Router 1# show ipv6 interface FastEthernet0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::2E0:B0FF:FE0E:7701 No Virtual link-local address(es): Global unicast address(es): 2001:AAAA:BBBB:CCCC:2E0:B0FF:FE0E:7701, subnet is 2001:AAAA:BBBB:CCCC::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF0E:7701 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.
  • To check IPv6 neighbor cache entries we use “ show ipv6 neighbors ”.
Router 1# show ipv6 neighbors IPv6 Address                              Age Link-layer Addr State Interface 2001:AAAA:BBBB:CCCC:1234:1234:1234:1234    23 0006.2A15.BD01  REACH Fa0/0 FE80::206:2AFF:FE15:BD02                    7 0006.2A15.BD02  REACH Fa0/1
  • To check IPv6 Routing Table we use “ show ipv6 route ”.
Router 1# show ipv6 route   IPv6 Routing Table – 3 entries Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP U – Per-user Static route, M – MIPv6 I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2 ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2 D – EIGRP, EX – EIGRP external C   2001:AAAA:BBBB:CCCC::/64 [0/0] via ::, FastEthernet0/0 L   2001:AAAA:BBBB:CCCC:2E0:B0FF:FE0E:7701/128 [0/0] via ::, FastEthernet0/0 L   FF00::/8 [0/0] via ::, Null0
  • To check IPv6 DHCP we use “ show ipv6 dhcp ”.
Router 1# show ipv6 dhcp This device’s DHCPv6 unique identifier (DUID): 0003000100E0B00E7701
  • To check IPv6 Protocols we use “ show ipv6 protocols ”.
Router 1# show ipv6 protocols IPv6 Routing Protocol is “connected” IPv6 Routing Protocol is “static

Questions For IPv6 Configuration

Question 1: with which command do we enable ipv6 globally for ipv6 configuration.

a) ipv6 enable

b) ipv6 unicast-routing

c) ipv6 no shutdown

d) ipv6 run

Question 2: Which command enables IPv6 under an interface?

Question 3: which command enables auto ipv6 addressing under an interface .

a) ipv6 auto

d) ipv6 address autoconfig

e) ipv6 run

Question 4: Which command enables DHCPv6 under an interface?

a) ipv6 auto dhcp

b) ipv6 address dhcp

c) ipv6 address autoconfig

d) ipv6 dhcp run

e) ipv6 dhcp on

Question 5: How to send 20 ping packet to 001:AAAA:BBBB:CCCC:1111:2222:3333:4444 address?

a) ping ipv6 2001:AAAA:BBBB:CCCC:1111:2222:3333:4444 source 20

b) ping ipv6 2001:AAAA:BBBB:CCCC:1111:2222:3333:4444 size 20

c) ping ipv6 2001:AAAA:BBBB:CCCC:1111:2222:3333:4444 repeat 20

Answers: 1) b     2) a    3) d    4) b    5) c   

ipv6 assignment command

Leave a Reply Cancel reply

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

Network Fundamentals

  • Collision Domain vs Broadcast Domain
  • Coaxial Cable Details
  • Types of Networks
  • Top Internet Access Technologies
  • WAN Topology Types
  • Network Topology Architectures
  • Power Over Ethernet (PoE)
  • Ethernet Collisions and Troubleshooting
  • Cisco NGFW and Cisco NGIPS
  • Networking Connectors
  • Ping Command
  • Basic Cisco Router Configuration on Packet Tracer
  • ICMP (Internet Control Message Protocol)
  • Address Resolution Protocol (ARP)
  • Network Cabling
  • Network Devices
  • TCP/IP Model
  • OSI Referance Model

IPv4 Addressing

  • Verify IP Parameters for Client OS
  • Wildcard Mask
  • VLSM Subnetting
  • IPv4 vs IPv6 Comparison
  • Cisco IP Address Configuration
  • APIPA Address
  • Private IP Address Ranges
  • Subnetting Examples
  • IP Addressing (IPv4)
  • IP Subnetting and Subnetting Examples

IPv6 Addressing

  • IPv6 Unique Local Address
  • IPv6 Global Unicast Address

TCP and UDP

  • TCP Header : Sequence & Acknowledgement Number
  • TCP Handshake
  • TCP versus UDP
  • UDP (User Datagram Protocol)
  • TCP (Transmission Control Protocol)
  • TCP Header : TCP Options
  • TCP Header : TCP Window Size, Checksum & Urgent Pointer
  • TCP Header : TCP Flags
  • Voice VLAN Configuration
  • Packet Tracer VLAN Example 2
  • How to Configure Cisco VLANs
  • VTP Configuration with Packet Tracer
  • VTP (VLAN Trunking Protocol)
  • DTP and VLAN Frame Tagging protocols ISL, dot1.q
  • Cisco Packet Tracer VLAN Configuration Example
  • VLAN Port Assignment and VLAN Port Types
  • VLANs (Virtual Local Area Networks)

Switching and LANs

  • Ethernet Basics
  • Layer 2 vs Layer 3 Switch
  • Cisco Switch Configuration on Cisco Packet Tracer
  • MAC Address Lookup
  • What is a mac address
  • Local Area Networks
  • Network Topologies
  • Hubs, Switches and Routers

Spanning Tree Protocol

  • Loop Guard, Uplink Fast, Backbone Fast and UDLD
  • Unidirectional Link Detection (UDLD)
  • BPDU (Bridge Data Unit Protocol)
  • STP Loop Guard
  • STP BPDU Filter
  • STP BPDU Guard
  • STP Root Guard
  • Portfast, Root Guard, BPDU Filter and BPDU Guard
  • PVST+ and Rapid PVST+
  • STP (Spanning Tree Protocol) Example on Packet Tracer
  • RSTP Configuration on Packet Tracer
  • STP Portfast Configuration with Packet Tracer
  • Spanning Tree Protocol Operation
  • Rapid Spanning Tree Protocol (RSTP)
  • Spanning Tree Protocol (STP)

Neighbor Discovery

  • LLDP Configuration on Cisco IOS
  • Neighbour Discovery Protocols
  • CDP Configuration with Packet Tracer

EtherChannels

  • PAgP Configuration on Cisco Devices
  • LACP Configuration on Cisco Devices
  • Link Aggregation Control Protocol (LACP)

Routing Fundamentals

  • Route Summarization
  • Link State vs Distance Vector Protocols
  • Routing Path Determination
  • Routing Table
  • Static Routes
  • IPv4 Floating Static Routes
  • Inter VLAN Routing Configuration on Packet Tracer
  • Switch Virtual Interface Configuration on Packet Tracer
  • Switch Virtual Interfaces
  • Inter VLAN Routing with Router on Stick
  • IP and Layer 3 Overview
  • Static Route Configuration on Cisco Routers
  • Dynamic Routing Protocols
  • OSPF Cost and SPF Algorithm
  • OSPFv3 Configuration Example on Cisco IOS
  • OSPFv3 (Open Shortest Path First Version 3)
  • Cisco Single Area OSPF Configuration
  • Other OSPF Key Points
  • OSPF Network Types
  • OSPF Area Types
  • OSPF LSA Types
  • OSPF Packet Types
  • OSPF Adjacency
  • OSPF(Open Shortest Path First) Overview

WAN (Wide Area Networks)

  • MLPPP Configuration on Cisco Packet Tracer
  • What is MLPPP?
  • Metro Ethernet Technology
  • WAN and WAN Technologies

DHCP and DNS

  • DNS Configuration on Cisco Routers
  • Domain Name System Overview
  • Router DHCP Configuration with Packet Tracer
  • DHCP IP Allocation Operation
  • DHCP (Dynamic Host Configuration Protocol)
  • NAT (Network Address Translation)
  • PAT Configuration with Packet Tracer
  • Dynamic NAT Configuration with Packet Tracer
  • Static NAT Configuration with Packet Tracer

First Hop Redundancy

  • HSRP Configuration on Cisco IOS
  • HSRP (Hot Standby Router Protocol)
  • First Hop Redundancy Protocols (FHRPs)

Network Management

  • Syslog Overview
  • Configuration Register
  • TFTP, FTP, SFTP and SCP
  • SSH Configuration on Packet Tracer
  • Syslog Configuration Cisco
  • Cisco NTP Configuration
  • NTP (Network Time Protocol)
  • SNMP Overview
  • SNMP Configuration On Cisco IOS
  • Cisco Router Password Recovery
  • IPv6 Floating Static Routes
  • IPv6 Static and Default Route Configuration
  • Stateless Address Auto Configuration
  • IPv6 NDP (Neighbour Discovery Protocol)
  • What does IPv6 bring?
  • Subnetting in IPv6
  • IPv6 Address Types
  • IPv4 and IPv6 Headers
  • IPv6 and IPv6 Addresses

Quality of Service

  • Network Traffic Types
  • Policing and Shaping in QoS
  • Classification and Marking in QoS
  • Quality of Service Overview
  • Radius Configuration for Wireless Users
  • Cisco RADIUS Server Configuration on Packet Tracer
  • TACACS+ Overview
  • RADIUS Overview
  • AAA Protocols : RADIUS and TACACS+
  • Authentication, Authorization, Accounting (AAA)
  • WLAN Frequency Bands
  • Other Wireless Network Extention Types
  • Wireless Principles
  • WLAN Components
  • Wireless Network Design Models
  • WLC Management Access Connections
  • Wireless Access Point Modes
  • Wireless Security Protocols
  • WLAN Configuration on Packet Tracer

Security Fundamentals

  • DHCP Snooping Configuration on Packet Tracer
  • Cisco Banner Configuration on Packet Tracer
  • What is DHCP Snooping?
  • Access Control Lists
  • Multifactor Authentication (MFA)
  • Dynamic ARP Inspection
  • Cyber Attacks, Network Attacks, Threats and Mitigation
  • 802.1x (Port Based Network Access Control)
  • Switch Port Security Configuration on Cisco Packet Tracer
  • Switch Port Security
  • Extended Access List Configuration With Packet Tracer
  • Standard Access List Configuration With Packet Tracer
  • Basic Cisco Router Security Configuration

Automation and Programmability

  • Ansible vs Puppet vs Chef
  • Generative AI vs Predictive AI
  • Chef Overview
  • Puppet Overview
  • Ansible Overview
  • Network Automation Tools
  • Interpret JSON Encoded Data
  • Cisco DNA Center
  • Cisco SD-Access
  • Data Serialization Languages: JSON, YAML, XML
  • Traditional Network Management versus Cisco DNA Center
  • Cisco DNA and Intent-Based Networking (IBN)
  • How Network Automation Impacts Network Management

SDN (Software Defined Networking)

  • What is SDN ?
  • Traditional Network Drawbacks Versus SDN
  • What Will SDN Bring?
  • SDN Architecture Components
  • SDN Terminology
  • Virtualization
  • Virtual Network Structure

Latest Lessons

  • Link State vs Distance Vector Protocols Part of: CCNA 200-301 v1.1
  • Unidirectional Link Detection (UDLD) Part of: CCNA 200-301 v1.1
  • Layer 2 vs Layer 3 Switch Part of: CCNA 200-301 v1.1
  • BPDU (Bridge Data Unit Protocol) Part of: CCNA 200-301 v1.1
  • STP Loop Guard Part of: CCNA 200-301 v1.1
  • STP BPDU Filter Part of: CCNA 200-301 v1.1
  • STP BPDU Guard Part of: CCNA 200-301 v1.1
  • STP Root Guard Part of: CCNA 200-301 v1.1
  • Generative AI vs Predictive AI Part of: CCNA 200-301 v1.1
  • IPv6 Global Unicast Address Part of: CCNA 200-301 v1.1
  • More Lessons

Latest Blog Posts

Cisco ccna v1.1 update, new lessons, Generative AI (Artificial Intelligence), Cloud Network Management and Machine Learning

WHAT YOU WILL FIND?

  • 250.000+ Students All Over The World
  • 8.000+ Questions & Answers
  • 100+ Lab Files & Cheat Sheets
  • 30+ IT/Network Courses
  • A Real Desire To Help You
  • Daily Social Media Shares
  • %100 Satisfaction
  • CISCO Courses
  • NOKIA Courses
  • HUAWEI Courses
  • JUNIPER Courses
  • PYTHON Course
  • KEY Courses
  • VIDEO Courses
  • UDEMY Courses
  • Cheat Sheets
  • Configuration Files
  • Interview Questions
  • IPCisco On Social Media
  • Pärnu mnt. 139c – 14, 11317, Tallinn, Estonia
  • [email protected]

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.

ipv6 assignment command

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:

Address Type Binary Form Hexadecimal Form Application
Link-local address (unicast) 1111 1110 10 fe80::/10 Use on a single link, non-routable
Unique local address (unicast) 1111 1101 fd00::/8 Analogous to IPv4 private network addressing
Global unicast address 001 2000::/3 Internet communications
Multicast address 1111 1111 ff00::/8 Group communications, video streaming

ipv6 assignment command

  • 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


2
3
4
5
6
7
8
9
10
11
12
13

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O| Reserved | Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ...
+-+-+-+-+-+-+-+-+-+-+-+-

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


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Prefix Length |L|A| Reserved1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Valid Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Preferred Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Prefix +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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:


2
3
4
5
6

interface Vlan10
ipv6 enable
ipv6 address 2001:ABCD:1000::1/64
ipv6 nd ra dns server 2001:4860:4860::8888 infinite
ipv6 nd ra dns search-list example.com

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.


2
3
4
5
6
7
8
9
10
11

ipv6 dhcp pool vlan-10-clients
dns-server 2001:4860:4860::8888
domain-name example.com
sntp address 2001:DB8:2000:2000::33
interface Vlan10
ipv6 enable
ipv6 address 2001:ABCD:1000::1/64
ipv6 nd other-config-flag
ipv6 dhcp server vlan-10-clients
# ipv6 dhcp relay destination 2001:9:6:40::1

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.


2
3
4
5
6
7
8
9
10
11
12

ipv6 dhcp pool vlan-10-clients
address prefix FD09:9:5:90::/64
address prefix 2001:9:5:90::/64
dns-server 2001:9:5:90::115
domain-name test.com
interface Vlan10
ipv6 enable
ipv6 address 2001:ABCD:1:1::1/64
ipv6 nd prefix 2001:ABCD:1:1::/64 no-advertise
ipv6 nd managed-config-flag
ipv6 dhcp server vlan-10-clients

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:


2
3
4
5
6
7
8
9
10

wired0 Link encap:Ethernet HWaddr A0:EC:F9:6C:D9:30
inet6 addr: 2001:20::53c7:1364:a4d8:fd91/128 Scope:Global
inet6 addr: 2001:20::a2ec:f9ff:fe6c:d930/64 Scope:Global
inet6 addr: fe80::a2ec:f9ff:fe6c:d930/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:510 errors:0 dropped:0 overruns:0 frame:0
TX packets:1213 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:93670 (91.4 KiB) TX bytes:271979 (265.6 KiB)

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.

M-bit O-bit A-bit Host Address Other Configuration
0 0 0 Static Settings Manual Configuration
0 0 1 Prefix specified by RA, automatically generated manually configured
0 1 0 Static Settings DHCPv6
0 1 1 Prefix specified by RA, automatically generated DHCPv6
1 0 0 Stateful DHCPv6 DHCPv6
1 0 1 Stateful DHCPv6 and/or automatically generated DHCPv6
1 1 0 Stateful DHCPv6 DHCPv6
1 1 1 Stateful DHCPv6 and/or automatically generated DHCPv6

Summarize three dynamic allocation schemes:

Allocation Scheme Features Appiccation Scenarios
SLAAC Simple and practical, fast deployment SMB, Consumer Product Networking, Internet of Things (IoT)
SLAAC + Stateless DHCPv6 Auto Configuration, Extended Services SMBs need additional network services
Stateful DHCPv6 Centralized management and control Large enterprises, institutions, and campus networks

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.

Command Description
Displays a short summary of IPv6 status and configuration for each interface
Displays IPv6 and NDP usability status information for single interface
Displays IPv6 network prefix information for single interface
Display DHCPv6 configuration pool information
Displays all automatic client bindings from the DHCPv6 server binding table
Display DHCPv6 interface information
Debug IPv6 NDP protocol
Debug DHCPv6 server

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:


2
3
4
5
6
7
8

ICMP Neighbor Discovery events debugging is on
Router# show logging | include RS
ICMPv6-ND: Received RS on GigabitEthernet0/0/0 from FE80::5850:6D61:1FB:EF3A
Router# show logging | include RA
ICMPv6-ND: Sending solicited RA on GigabitEthernet0/0/0
ICMPv6-ND: Request to send RA for FE80::C801:EFFF:FE5A:8
ICMPv6-ND: Setup RA from FE80::C801:EFFF:FE5A:8 to FF02::1 on GigabitEthernet0/0/0

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.


2
3
4
5
6
7
8

IPv6 DHCP debugging is on

IPv6 DHCP: Received INFORMATION-REQUEST from FE80::5850:6D61:1FB:EF3A on FastEthernet0/0
IPv6 DHCP: Option VENDOR-CLASS(16) is not processed
IPv6 DHCP: Using interface pool LAN_POOL
IPv6 DHCP: Source Address from SAS FE80::C801:B9FF:FEF0:8
IPv6 DHCP: Sending REPLY to FE80::5850:6D61:1FB:EF3A on FastEthernet0/0

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.


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

IPv6 DHCP: Option UNKNOWN(39) is not processed
IPv6 DHCP: Option VENDOR-CLASS(16) is not processed
IPv6 DHCP: Using interface pool LAN_POOL
IPv6 DHCP: Creating binding for FE80::5850:6D61:1FB:EF3A in pool LAN_POOL
IPv6 DHCP: Binding for IA_NA 0E000C29 not found
IPv6 DHCP: Allocating IA_NA 0E000C29 in binding for FE80::5850:6D61:1FB:EF3A
IPv6 DHCP: Looking up pool 2001:ABCD::/64 entry with username '000100011F3E8772000C29806CCC0E000C29'
IPv6 DHCP: Poolentry for the user not found
IPv6 DHCP: Allocated new address 2001:ABCD::D9F7:61C:D803:DCF1
IPv6 DHCP: Allocating address 2001:ABCD::D9F7:61C:D803:DCF1 in binding for FE80::5850:6D61:1FB:EF3A, IAID 0E000C29
IPv6 DHCP: Updating binding address entry for address 2001:ABCD::D9F7:61C:D803:DCF1
IPv6 DHCP: Setting timer on 2001:ABCD::D9F7:61C:D803:DCF1 for 60 seconds
IPv6 DHCP: Source Address from SAS FE80::C801:B9FF:FEF0:8
IPv6 DHCP: Sending ADVERTISE to FE80::5850:6D61:1FB:EF3A on FastEthernet0/0
IPv6 DHCP: Received REQUEST from FE80::5850:6D61:1FB:EF3A on FastEthernet0/0
IPv6 DHCP: Option UNKNOWN(39) is not processed
IPv6 DHCP: Option VENDOR-CLASS(16) is not processed
IPv6 DHCP: Using interface pool LAN_POOL
IPv6 DHCP: Looking up pool 2001:ABCD::/64 entry with username '000100011F3E8772000C29806CCC0E000C29'
IPv6 DHCP: Poolentry for user found
IPv6 DHCP: Found address 2001:ABCD::D9F7:61C:D803:DCF1 in binding for FE80::5850:6D61:1FB:EF3A, IAID 0E000C29
IPv6 DHCP: Updating binding address entry for address 2001:ABCD::D9F7:61C:D803:DCF1
IPv6 DHCP: Setting timer on 2001:ABCD::D9F7:61C:D803:DCF1 for 172800 seconds
IPv6 DHCP: Source Address from SAS FE80::C801:B9FF:FEF0:8
IPv6 DHCP: Sending REPLY to FE80::5850:6D61:1FB:EF3A on FastEthernet0/0

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.

Filter String Only Show
icmpv6.type=133 ICMPv6 RS
icmpv6.nd.ra.flag ICMPv6 RA
dhcpv6 DHCPv6 packets

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

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
  • Enterprise Buyer’s Guides
  • Internet of Things
  • Network Management Software
  • Network Security
  • 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

Launch puts china firmly in the communications satellite game, bgp: what is border gateway protocol, and how does it work, what is dns and how does it work, google unveils $1b plan for subsea cables to japan, 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

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, tame active directory groups to streamline management, prep for automation, just-in-time it infrastructure: how to attain it for strategic advantage, 9 hot jobs in the evolving data center, how to inventory server software with powershell, how to inventory server storage with powershell, show me more, edgecore unveils 400g spine switch for data centers.

Image

Network hiring, skills and certification trends

Image

Using genAI in IT operations boosts productivity, but security concerns linger

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

How to determine if a string contains a regular expression

Image

How to use the Grep command

Image

How to see how many days passed since the beginning of the Linux epoch

Image

Sponsored Links

  • Visibility, monitoring, analytics. See Cisco SD-WAN in a live demo.
  • OpenText Financial Services Summit 2024 in New York City!
  • Trending Now
  • Foundational Courses
  • Data Science
  • Practice Problem
  • Machine Learning
  • System Design
  • DevOps Tutorial

How to Configure IPv6 on CISCO Router?

An IPv6 is the sixth version of any IP address on the IP protocol. It consists of eight groups of four hexadecimal digits. IP v6 is a 128-bits address having an address space of 2^128. 

For more details about IPv6 refer to the articles: What is IPv6? and Internet Protocol version 6 (IPv6) .

Steps to Configure IPv6 on Cisco Packets Tracer:

Step 1: First open the Cisco packet tracer desktop and create a network topology something like the image and an IPv6 addressing table given below.

PC PC FE80::207:ECFF:FEA3:EB56 FE80::1
Switch PT-switch FE80::207:ECFF:FEB9:862A FE80::1
Router 2911 FE80::250:FFF:FE6C:B21 FE80::1
cable Automatic connecting cable nil nil

ipv6 assignment command

IP Addressing Table:

Gig0/0 2001:DB:AAAA:A::1/64
Gig0/1 2001:DB:AAAA:B::1/64

Step 2: Configuring the  GigabitEthernet Interfaces.

  •  First, we will configure the GigabitEthernet0/0 using CLI.
  • Click on router0 and go to CLI and type the commands are given below:
  • Now we will configure the GigabitEthernet0/1 Interface.
  • Then, both the interfaces will be active now:

ipv6 assignment command

Step 3: Configuring Ipv6 address in both Interfaces using CLI:

  • CLI commands to configure IPv6 address in GigabitEthernet0/0 and GigabitEthernet0/1 ports are given below:

ipv6 assignment command

Step 4: We have configured the router now change the settings of hosts in IPv6 configuration:

  • First, click on PC0 and go to desktop then IP configuration.
  • Now find the IPv6 configuration.
  • Change the settings from static to automatic and then after a few seconds, the IPv6 address and default gateway are displayed.

ipv6 assignment command

  • Similarly, repeat this procedure with PC1 and PC2

ipv6 assignment command

Step 5: Now we have to verify the connection by pinging the IPv6 address of PC0 in PC1.

  • First, click on PC1 and go to the command prompt, and type ping <ipv6 address>
  • As we can see in the below image, getting replies from PC0 means the connection is established successfully.

ipv6 assignment command

Simulation Result:

author

Please Login to comment...

Similar reads.

  • CCNA IP Addressing
  • Top 10 Fun ESL Games and Activities for Teaching Kids English Abroad in 2024
  • Top Free Voice Changers for Multiplayer Games and Chat in 2024
  • Best Monitors for MacBook Pro and MacBook Air in 2024
  • 10 Best Laptop Brands in 2024
  • System Design Netflix | A Complete Architecture

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

How to configure IPv6 Static Route

Lesson Contents

If you know how to configure a static route for IPv4 , you shouldn’t have any issues with IPv6 static routes. The configuration and syntax are similar. There are only some minor differences. In this lesson, I will show you how to configure all IPv6 static route types.

Configuration

To demonstrate this topology, I will use the following topology:

r1 r2 serial link ipv6 addresses

R1 and R2 are connected with a serial link. R2 has a loopback interface with IPv6 address 2001:DB8:2:2::2/64. Let’s see if we can reach this address.

  • Static route for a prefix

Let’s start with a simple example where we create a static route for the prefix we want to reach: 2001:DB8:2:2::/64.

Static route for a prefix – outgoing interface

Like with IPv4, it is possible to use an interface as the next hop. This will only work with point-to-point interfaces:

Here’s what the routing table looks like:

Let’s see if it works:

Our ping is working.

Static route for a prefix – global unicast next hop

Instead of an outgoing interface, we can also specify the global unicast address as the next hop:

No problem at all…

Static route for a prefix – link-local next hop

One of the differences between IPv4 and IPv6 is that IPv6 generates a link-local address for each interface. These link-local addresses are also used by routing protocols like RIPng, EIGRP, OSPFv3, etc, as the next-hop addresses. Let’s see what the link-local address is of R2:

Let’s use this as the next-hop address. When you use a global unicast address as the next hop, your router can look at the routing table and figure out what outgoing interface to use to reach this global unicast address. With link-local addresses, the router has no clue which outgoing interface to use so you will have to specify both the outgoing interface and the link-local address:

Just to be sure, let’s try a ping:

No problems there.

  • Static default route

Just like IPv4, we can also create static default routes. A default route has only zeroes (::) and a /0 prefix length. This is the equivalent of 0.0.0.0/0 in IPv4. We can do this with an interface, global unicast, or link-local address. Let’s try all options!

Static default route – outgoing interface

Let’s start with the outgoing interface first:

Here’s the routing table:

Let’s try a quick ping:

Static default route – global unicast next hop

Instead of an outgoing interface, let’s try a global unicast next-hop address:

Time for the next option.

Static default route – link-local next hop

Let’s replace the global unicast next hop address with a link-local address:

  • Static host route

We can also create static routes for a single IPv6 address, called a static host route . These examples are the same as the ones you have seen before, but this time, we will create an entry for 2001:DB8:2:2::2/128, which is similar to using a /32 subnet mask in IPv4.

Static host route – outgoing interface

First, we will try the outgoing interface:

Here is the routing table:

Static host route – global unicast next hop

Let’s try a global unicast address as the next hop:

And let’s try a quick ping:

Static host route – link-local next hop

Last but not least, a link-local address as the next hop address:

Here’s R1’s routing table:

Let’s try another ping:

  • Static floating route

We can also configure floating static routes . To test this, I have to add another router:

r1 r2 r3 serial fastethernet ipv6 addresses

R3 is added to our topology, and I configured the same loopback address (2001:DB8:23:23::23/128) on both routers. R3 will be used as our main path to reach this address. When the link is down, we want to use R2.

Here’s the static route that is used to use R3 as the primary path:

Static floating route – outgoing interface

Let’s try the outgoing interface first. The static route looks like this:

Note that at the end of the line above, I specified the administrative distance with a value of 2. With both interfaces up, R1 will send all traffic to R3:

Above, you can see that the default administrative distance is 1. Let’s shut the FastEthernet 0/0 interface to test our static floating route:

Let’s look at the routing table again:

The entry to R2 is now installed. You can also see the administrative distance value of two in the routing table.

Static floating route – global unicast next hop

Instead of the outgoing interface, we can also use a global unicast address as the next hop:

The routing table will then look like this:

Static floating route – link-local next hop

Or use a link-local address as the next hop:

You have now learned how to configure the following IPv6 static routes:

And how to do this with different next-hop types:

  • Outgoing interface (only for point-to-point interfaces)
  • Global unicast address
  • Link-local address

I hope these examples have been useful to you!

Tags: Static Route

Forum Replies

please help me with IPv6 default route.

for example:

Futura(config)#ipv6 route ::/0 fastEthernet 0/0 FE80::CE0A:22FF:FED5:0

so ::/0 means, any address, where must match 0 bytes.

Is my example of default route correct?

Using ::/0 for the default route is correct. The :: part means all 0s and the /0 represents the network mask, not the bytes.

Hello Rene,

Thanks alot for your amazing way to explain this. I have a question, how did you get the address FE80::CE0A:22FF:FED5:0 is it any address start with FE80 (link local) or what? I did not get it. Thanks in advance Wisam

Everything that starts with FE80::/10 is a link-local address. The remaining part of the address was generated with EUI-64. This article will help:

https://networklessons.com/ipv6/ipv6-eui-64-explained

Hello Rene, Thanks alot for your reply.

I still did not get how you get it to write it in your command line below,

“Futura(config) #ipv6 route 2001::2/128 fastEthernet 0/0 FE80::CE0A:22FF:FED5:0” where we can find it? do we have to use show command before we add this line.

Thanks Rene Wisam

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

How to configure ipv6 address in Linux (RHEL / CentOS 7/8)

January 2, 2024

Linux , How To , Tips and Tricks

This step by step by guide to configure IPv6 address is validated on RHEL and CentOS 7 .

How-to-configure-ipv6-address-linux

IPv6 can act as a replacement for the IPv4 network protocol. The major problem it solves is the exhaustion of IPv4 addresses by using a much larger network address space. It also provides a number of enhancements and new features for network configuration management and support for future protocol changes.

The key reason IPv6 is not yet in wide deployment is that the core protocol does not have a simple way for systems that only have IPv6 addresses to communicate with systems that only have IPv4 addresses.

An IPv6 address is a 128-bit number , normally expressed as eight colon-separated groups of four hexadecimal nibbles (half-bytes). Each nibble represents four bits of the IPv6 address, so each group represents 16 bits of the IPv6 address.

To make it easier to write IPv6 addresses, leading zeros in a colon-separated group do not need to be written. However at least one nibble must be written in each field. Zeros which follow a non zero nibble in the group do not need to be written.

Since addresses with long strings of zeros are common, combine one or more groups of consecutive zeros with exactly one :: block.

Notice that under these rules 2001:1:1:1443::400 would be another less convenient way to write the example address. But it is a valid representation of the same address, and this can confuse administrators new to IPv6.

Some tips for writing consistently readable addresses

  • Always suppress all the leading zeros in a group
  • Use :: to shorten as much as possible. If two runs of zeros are equal in length, shorten the leftmost run of zeros by preference.
  • Although it is allowed, do not use :: to shorten one group of zeros, Use :0: instead, and save :: for runs of zeros longer than a single group.
  • Always use lowercase letters for hexadecimal numbers a through f .

Pre-requisite before starting to configure IPv6 address

Make sure that IPv6 is enable on your node. Look out for below entry in your sysctl configuration

This will list the IPv6 status for the default value and per interface value.

Here " 0 " means IPv6 is in active on our node, if the above returns " 1 " then it means IPv6 is disable on your node. So if the IPv6 is disable then your IPv6 configuration will not work.

I have already written an article with steps to enable or disable IPv6

Comparison of nm-setting and ifcfg-* directives

The following table maps some of the key NetworkManager settings name relevant to IPv6 connections to ifcfg-* directives.

nmcli con mod ifcfg-* file Effect
 manual =no IPv6 is configured statically
 auto =yes Will configure network settings using SLAAC from router advertisements.
 dhcp =no
=yes
Will configure network settings by using DHCPv6, but not SLAAC

"2001:db8::a/64 2001:db8::1"
=2001:db8::a/64
=2001:db8::1
Sets static IPv6 Address and Gateway
Modify   to use this 
 example.com =example.com Modify   to use to use this domain in the   directive
 true =no Ignore DNS server information from the DHCP server
 yes =YES Automatically activates the connection at boot
 eth0 =eth0 The name of this connection
 eth0 =eth0 The connection is bound to this network interface with this name
The connection is bound to the network interface with this MAC Address

Configure IPv6 address using Network Manager.

Open Network Manager Console from your Linux node

Select Edit a Connection and click on Ok

How to configure ipv6 address in Linux (RHEL / CentOS 7/8)

Next look out for your Ethernet card on which you wish to configure IPv6 address. If your NIC card does not appear on the list then you can add a new device . Since for me my device ( eno50 ) exists, so I will select the device and select Edit

How to configure ipv6 address in Linux (RHEL / CentOS 7/8)

This will bring you the main configuration page where you must give all the details to configure IPv6 address. Since I do not want to add IPv4 address to the same Ethernet device, I have disabled the IPv4 option.

Provide the IPv6 address/subnet and the gateway . Make sure you select Automatically Connect

How to configure ipv6 address in Linux (RHEL / CentOS 7/8)

Lastly click OK to exit the utility.

Next restart the network services to activate the changes

Now let us check the network configuration of eno50

So looks like I was able to successfully configure my interface with IPv6 address.

Validate the connectivity by pinging the IPv6 gateway

So I am able to connect to my gateway which means my IPv6 configuration was successful.

Configure IPv6 address using CLI

The following command will add a new connection for the interface eno49 , which will auto connect at startup, getting IPv4 networking information using DHCPv4. It will also get IPv6 networking settings by listening for router advertisements on the locallink.

The below command configures the eno49 interface statically using the IPv6 address and network prefix 2001:1:1:1443::433/122 and default IPv6 gateway 2001:1:1:1443::43F , but it still auto connects at startup and saves its configuration into /etc/sysconfig/network-scripts/ifcfg-eno49 .

Let us validate our configuration by pinging the gateway using eno49 interface

Again with the CLI looks like the steps are successful for me.

Modify existing IPv6 configuration

In the below command we are changing the IPv6 address of our interface eno49 from 2001:1:1:1443::433 to 2001:1:1:1443::434 , while the gateway remains the same.

Restart the eno49 interface

Next bring the the interface

Validate the new IP address for eno49 device

Check the connectivity from eno49 to it's gateway

Check the configuration file for eno49

I hope the steps from the article to configure IPv6 address on Linux (CentOS/RHEL 7/8) was helpful. Let me know your suggestions and feedback using the comment section.

Deepak Prasad

Deepak Prasad

He is the founder of GoLinuxCloud and brings over a decade of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels in various domains, from development to DevOps, Networking, and Security, ensuring robust and efficient solutions for diverse projects. You can connect with him on his LinkedIn profile.

Can't find what you're searching for? Let us assist you.

Enter your query below, and we'll provide instant results tailored to your needs.

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

Buy GoLinuxCloud a Coffee

For any other feedbacks or questions you can send mail to [email protected]

Thank You for your support!!

6 thoughts on “How to configure ipv6 address in Linux (RHEL / CentOS 7/8)”

One update for Centos 8. Change systemctl restart network to systemctl restart NetworkManager.service

I really love your website.. Very nice colors & theme. Did you make this amazing site yourself? Please reply back as I’m planning to create my very own site and want to know where you got this from or exactly what the theme is called. Kudos!

For us noobs: the network should be restarted after the address setup:

service network restart

Thanks for your feedback, I have updated the article 🙂

How did you get /122 when creating the new ip address and same gateway example?

This is the gateway and subnet provided by our network team.

Leave a Comment Cancel reply

Save my name and email in this browser for the next time I comment.

Notify me via e-mail if anyone answers my comment.

ipv6 assignment command

We try to offer easy-to-follow guides and tips on various topics such as Linux, Cloud Computing, Programming Languages, Ethical Hacking and much more.

Recent Comments

Popular posts, 7 tools to detect memory leaks with examples, 100+ linux commands cheat sheet & examples, tutorial: beginners guide on linux memory management, top 15 tools to monitor disk io performance with examples, overview on different disk types and disk interface types, 6 ssh authentication methods to secure connection (sshd_config), how to check security updates list & perform linux patch management rhel 6/7/8, 8 ways to prevent brute force ssh attacks in linux (centos/rhel 7).

Privacy Policy

HTML Sitemap

12.6.6 Packet Tracer – Configure IPv6 Addressing (Answers)

Same for: 4.4.6 Packet Tracer – Configure IPv6 Addressing

12.6.6 Packet Tracer – Configure IPv6 Addressing (Instructor Version)

4.4.6 Configure IPv6 Addressing Instructor Note: Red font color or gray highlights indicate text that appears in the instructor copy only.

12.6.6 Packet Tracer - Configure IPv6 Addressing

12.6.6 Packet Tracer – Configure IPv6 Addressing

Addressing Table

Device Interface IPv6 Address/Prefix Default Gateway
R1 G0/0 2001:db8:1:1::1/64 N/A
G0/0 fe80::1
G0/1 2001:db8:1:2::1/64 N/A
G0/1 fe80::1
S0/0/0 2001:db8:1:a001::2/64 N/A
S0/0/0 fe80::1
Sales NIC 2001:db8:1:1::2/64 fe80::1
Billing NIC 2001:db8:1:1::3/64 fe80::1
Accounting NIC 2001:db8:1:1::4/64 fe80::1
Design NIC 2001:db8:1:2::2/64 fe80::1
Engineering NIC 2001:db8:1:2::3/64 fe80::1
CAD NIC 2001:db8:1:2::4/64 fe80::1
ISP S0/0/0 2001:db8:1:a001::1 fe80::1

Part 1: Configure IPv6 Addressing on the Router Part 2: Configure IPv6 Addressing on Servers Part 3: Configure IPv6 Addressing on Clients Part 4: Test and Verify Network Connectivity

In this activity, you will practice configuring IPv6 addresses on a router, servers, and clients. You will also practice verifying your IPv6 addressing implementation.

Part 1: Configure IPv6 Addressing on the Router

Step 1: enable the router to forward ipv6 packets..

a. Click R1 and then the CLI tab. Press Enter .

b. Enter privileged EXEC mode.

c. Enter the ipv6 unicast-routing global configuration command. This command must be entered to enable the router to forward IPv6 packets.

Step 2: Configure IPv6 addressing on GigabitEthernet0/0.

a. Enter the commands necessary to move to interface configuration mode for GigabitEthernet0/0.

b. Configure the IPv6 address with the following command:

c. Configure the link-local IPv6 address with the following command:

d. Activate the interface.

Step 3: Configure IPv6 addressing on GigabitEthernet0/1.

a. Enter the commands necessary to move to interface configuration mode for GigabitEthernet0/1. b. Refer to the Addressing Table for the correct IPv6 address. c. Configure the IPv6 address, the link-local address and activate the interface.

Step 4: Configure IPv6 addressing on Serial0/0/0.

a. Enter the commands necessary to move to interface configuration mode for Serial0/0/0 . b. Refer to the Addressing Table for the correct IPv6 address. c. Configure the IPv6 address, the link-local address and activate the interface.

Step 5: Verify IPv6 addressing on R1.

It is good practice to verify addressing when it is complete by comparing configured values with the values in the addressing table. a. Exit configuration mode on R1.

b. Verify the addressing configured by issuing the following command:

c. If any addresses are incorrect, repeat the steps above as necessary to make any corrections. Note: To make a change in addressing with IPv6, you must remove the incorrect address or else both the correct address and incorrect address will remain configured on the interface. Example:

d. Save the router configuration to NVRAM.

Part 2: Configure IPv6 Addressing on the Servers

Step 1: configure ipv6 addressing on the accounting server..

a. Click Accounting and click the Desktop tab > IP Configuration .

b. Set the IPv6 Address to 2001:db8:1:1::4 with a prefix of /64 .

c. Set the IPv6 Gateway to the link-local address, fe80::1 .

Configure IPv6 addressing on the Accounting Server

Configure IPv6 addressing on the Accounting Server

Step 2: Configure IPv6 addressing on the CAD Server.

Configure the CAD server with addresses as was done in Step 1. Refer to the Addressing Table for the addresses to use.

Configure IPv6 addressing on the CAD Server

Configure IPv6 addressing on the CAD Server

Part 3: Configure IPv6 Addressing on the Clients

Step 1: configure ipv6 addressing on the sales and billing clients..

a. Click Billing and then select the Desktop tab followed by IP Configuration .

b. Set the IPv6 Address to 2001:db8:1:1::3 with a prefix of /64 .

12.6.6 Packet Tracer - Configure IPv6 Addressing (Answers) 8

Step 2: Configure IPv6 Addressing on the Engineering and Design Clients.

a. Click Engineering and then select the Desktop tab followed by IP Configuration .

b. Set the IPv6 Address to 2001:db8:1:2::3 with a prefix of /64 .

  • Engineering

12.6.6 Packet Tracer - Configure IPv6 Addressing (Answers) 10

Part 4: Test and Verify Network Connectivity

Step 1: open the server web pages from the clients..

a. Click Sales and click the Desktop tab. Close the IP Configuration window, if necessary.

12.6.6 Packet Tracer - Configure IPv6 Addressing (Answers) 12

Step 2: Ping the ISP.

a. Click on any client.

b. Click the Desktop tab > Command Prompt .

c. Test connectivity to the ISP by entering the following command:

12.6.6 Packet Tracer - Configure IPv6 Addressing (Answers) 14

Answers Key

Download packet tracer (.pka) file:, 12.6.6 packet tracer - configure ipv6 addressing .pka.

Previous Lab 11.10.2 Packet Tracer – Design and Implement a VLSM Addressing Scheme – Physical Mode

Next Lab 12.9.1 Packet Tracer – Implement a Subnetted IPv6 Addressing Scheme

guest

Serial0/0/0: Error: 2001:DB8:1:1::/64 is overlapping with 2001:DB8:1:1::/64 on GigabitEthernet0/0

Al Bundy

Excellent & incredible working tool help. Thanks.

Official websites use .gov

Secure .gov websites use HTTPS

Logo for U.S. Department of Defense

Command Senior Enlisted Leader Assignment

The Office of the Senior Enlisted Advisor to the Chairman of the Joint Chiefs of Staff announced today the following assignment:

Navy Command Master Chief Jason "JR" Reynolds, currently assigned as command master chief, Office of Naval Intelligence, Washington, D.C., has been selected to replace Army Command Sgt. Maj. Thomas Baird as command senior enlisted leader for the National Geospatial-Intelligence Agency, Springfield, Virginia.

Subscribe to Defense.gov Products

Choose which Defense.gov products you want delivered to your inbox.

Defense.gov

Helpful links.

  • Live Events
  • Today in DOD
  • For the Media
  • DOD Resources
  • DOD Careers
  • Help Center
  • DOD / Military Websites
  • Agency Financial Report
  • Value of Service
  • Taking Care of Our People
  • FY 2025 Defense Budget
  • National Defense Strategy

U.S. Department of Defense logo

The Department of Defense provides the military forces needed to deter war and ensure our nation's security.

  • Skip to main content
  • Skip to search
  • Skip to footer

Products and Services

ipv6 assignment command

Partnerships that make everything possible

A Cisco partnership provides you exclusive benefits like programs and specializations made to reward you, training and enablement that modernize your practice, and opportunities to transform your capabilities and selling motions.

Register as a Cisco partner or affiliate your account

For new companies.

Log in with your Cisco account and register your company as a Cisco partner to gain access to exclusive partner content.

For individuals

Log in with your Cisco account and associate that account with an existing Cisco partner company to gain access to exclusive partner content.

Your profitability is our number 1 goal

ipv6 assignment command

Partner Program

A program that is flexibly structured around how you deliver value to customers.

ipv6 assignment command

Marketing Velocity

Training to help modernize your marketing approach, customizable campaigns, and access to a top-tier digital community.

ipv6 assignment command

Paths to transformation

Explore the possibilities of how Cisco can help you build new capabilities and evolving customer needs.

Cisco partners bring real results

The stadium of the future.

Successful businesses don't always play by the rules. Cisco Partner AmpThink isn’t just playing the game, they’re redefining it—and they’re winning.

Paving the way for others

One of the first members of the African American Cisco Partner Community, TGS is helping to open doors for other black-owned companies.

Find a partner

Partners work to integrate, build, buy, and consult on solutions, software, and services for their customers.

@CiscoPartners

Cisco Partner

Cisco Partners

Partner Blogs

IMAGES

  1. How to Ping IPv6 Address from Windows and Linux CLI

    ipv6 assignment command

  2. IPv6 Windows Command Line Examples

    ipv6 assignment command

  3. More IPv6 Windows netsh Commands

    ipv6 assignment command

  4. How to Ping an IPv6 Address in Linux Command Line

    ipv6 assignment command

  5. How to Ping IPv6 Address in Windows 11

    ipv6 assignment command

  6. IPv6 Windows Command Line Examples

    ipv6 assignment command

VIDEO

  1. IPV6 configuration

  2. 111 TSHOOT Address Assignment Issues Static IPv6

  3. ARDELIA L A 1202220070 SI4607 KELOMPOK 5 Stateless IPv6 Assignment Mtd (SLAAC Only & SLAAC + DHCPv6)

  4. Quickly assignment of IP address in Redhat Linux

  5. IPv6 Address Assignment in OpenStack IPv6 Address Mode DHCPv6

  6. 12.3

COMMENTS

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

    When IPv6 or IPv4 command output displays an IPv6 address, a long IPv6 address can overflow into neighboring fields, causing the output to be difficult to read. ... Configuring IPv6 Addressing and Enabling IPv6 Routing. Perform this task to assign IPv6 addresses to individual device interfaces and enable IPv6 traffic forwarding globally on the ...

  2. IPv6 Commands: ipv6 a to ipv6 g

    To acquire an IPv6 address on an interface from the Dynamic Host Configuration Protocol for IPv6 (DHCPv6) server, use the ipv6 address dhcp command in the interface configuration mode. To remove the address from the interface, use the no form of this command. ipv6 address dhcp [rapid-commit] no ipv6 address dhcp.

  3. IPv6 Address Assignment Example

    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. RIPE NCC: Europe, Middle east and Central Asia.

  4. IPv6 Configuration Guide

    Perform this task to assign IPv6 addresses to individual device interfaces and enable IPv6 traffic forwarding globally on the device. By default, IPv6 addresses are not configured and IPv6 routing is disabled. ... on the device with the ipv6 unicast-routing command, an IPv6 address has been configured on Gigabit Ethernet interface 0/0/0 with ...

  5. IPv6

    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.

  6. How to Configure IPv6 Address on Cisco Routers with Example

    Extended Unique Identifier or EUI-64 format allows a host to automatically assign itself a unique 64-bit IPv6 interface identifier without manual configuration. ... Cisco IOS supports IPv6 many years ago, but it is not enabled by default and needs to be explicitly enabled with the command "ipv6 unicast routing".

  7. IPv6 Connectivity Configuration with Example

    IPv6 configuration example. Here is a great example of manually assigning IPv6, addresses to our branch and Headquarters, or HQ, routers. Notice those addresses, they have been truncated. The host portion of branch is 1, the host portion of HQ is 2, but those network identifiers, the first 64 bits are the exact same.

  8. How do I assign IPv6 addresses manually?

    How do I assign IPv6 addresses manually?

  9. Configuration Example: IPv6 Inter-VLAN Communication

    Enables global IPv6 forwarding. CORP(config)# ipv6 router ospf 1. Enters OSPFv3 programming mode. CORP(config-rtr)# router-id 192.168.1.1. Assigns a router ID for the OSPFv3 process. CORP(config-rtr)# default- information originate. Adds any default routing information to the OSPFv3 updates.

  10. 9 Steps

    IPv6 Configuration on Cisco Packet Tracer

  11. 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.

  12. IPv6 Commands

    Use the show ipv6 rip command to display IPv6 RIP routes. ... sets an address prefix for address assignment. This address must be in hexadecimal, using 16-bit values between colons. link-address IPv6-prefix sets a link-address IPv6 prefix. When an address on the incoming interface or a link-address in the packet matches the specified IPv6 ...

  13. IPv6 Stateless Address Auto-configuration (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 ...

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

    IPv6: How to configure static and DHCP IP addressing and ...

  15. How to Configure IPv6 on CISCO Router?

    How to Configure IPv6 on CISCO Router?

  16. How to configure IPv6 Static Route

    IPv6 Address Types; IPv6 Address Assignment Example; IPv6 EUI-64 explained; IPv6 Summarization Example; IPv6 General Prefix; ... I still did not get how you get it to write it in your command line below, "Futura(config) #ipv6 route 2001::2/128 fastEthernet 0/0 FE80::CE0A:22FF: ...

  17. IPv6 configuration examples

    IPv6 configuration examples. IPv6 quick start example. Site-to-site IPv6 over IPv6 VPN example. Site-to-site IPv4 over IPv6 VPN example. Site-to-site IPv6 over IPv4 VPN example. FortiGate LAN extension. Diagnostics. Using the packet capture tool. Using the debug flow tool.

  18. How to configure ipv6 address in Linux (RHEL / CentOS 7/8)

    Select Edit a Connection and click on Ok. Next look out for your Ethernet card on which you wish to configure IPv6 address. If your NIC card does not appear on the list then you can add a new device. Since for me my device (eno50) exists, so I will select the device and select Edit.

  19. Troubleshoot IPv6 Dynamic Address Assignment with Cisco Router and

    Use the command ipconfig to verify the IPv6 address. If the IPv6 address is still not displayed, follow the next steps. Step 3. Ensure that the network adapter has Internet Protocol version 6 (TCP/IPv6) checkbox activated on the Windows computer. On Windows, you can find this configuration here: Step 1.

  20. 12.6.6 Packet Tracer

    Step 1: Enable the router to forward IPv6 packets. a. Click R1 and then the CLI tab. Press Enter. b. Enter privileged EXEC mode. c. Enter the ipv6 unicast-routing global configuration command. This command must be entered to enable the router to forward IPv6 packets. R1(config)# ipv6 unicast-routing.

  21. Command Senior Enlisted Leader Assignment

    The Office of the Senior Enlisted Advisor to the Chairman of the Joint Chiefs of Staff announced today the following assignment: Navy Command Master Chief Jason "JR" Reynolds, currently assigned ...

  22. Understand the IPv6 Link-Local Address

    Understand the IPv6 Link-Local Address

  23. Partners

    Partner with Cisco to be agile, relevant, and profitable. Explore programs, incentives, and the benefits of becoming a Cisco partner.