The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the available options for dynamic IPv6 address assignment. Troubleshoot of Stateless Address Autoconfiguration (SLAAC) and Dynamic Host Configuration Protocol version 6 (DHCPv6) are covered.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on this hardware/software versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
IPv6 end hosts like computers and laptops that run Microsoft Windows can face a situation where IPv6 address is not dynamically received or shown as expected.
It is suggested to troubleshoot both the Cisco IOS and Microsoft Windows Operating System to to ensure the correct configurations are in place.
Note: Different Operating Systems can behave differently. This depends in how IPv6 has been implemented in their code. This document is intended to give readers an example of the configuration required on Microsoft Windows for IPv6. The configuration on Microsoft Windows presented in this document has been tested in the lab and found to work as expected. The Cisco Technical Assistance Center (TAC) does not support Microsoft Windows configuration assistance.
SLAAC |
|
DHCPv6 stateless |
|
DHCPv6 stateful |
|
Note: The only way end hosts can dynamically obtain IPv6 default gateway information is from an ICMPv6 Router Advertisement (RA) packet originated by the local Router. DHCPv6 packets currently does not carry any IPv6 default gateway information.
The packet exchange between Router and end host is shown next:
Step 1. End Host initially sends ICMPv6 RS packet.
Step 2. Router replays with ICMPv6 RA packet.
In order to see the exchange, run the free and open source packet analyzer Wireshark on the computer and use these filters:
ICMPv6 RS | icmpv6.type == 133 | |
ICMPv6 RA | icmpv6.nd.ra.flag |
End hosts must derive IPv6 address and default gateway information based on information contained in the ICMPv6 RA packet received.
Example of ICMPv6 RA packet obtain with Wireshark:
Frame 187: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: fe80::c801:b9ff:fef0:8, Dst: ff02::1 ! Default Gateway. Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x4ce1 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : ca:01:b9:f0:00:08) ICMPv6 Option (MTU : 1500) ICMPv6 Option (Prefix information : 2001:abcd::/64) ! Prefix information.
1) ICMPv6 Option (Prefix information) field.
This is the the prefix information that end hosts use for the network portion of their IPv6 address.
The interface identifier (host portion) is created by the end host it uses EUI-64 method.
Microsoft Windows can create the host portion randomly.
2) Internet Protocol Version 6, Source field.
End hosts use the IPv6 source address of the RA packet to configure its IPv6 default gateway.
Step 1. Ensure the ipv6 unicast-routing command is configured from Global Configuration mode.
Step 2. Ensure the interface in the local network is configured with a valid IPv6 address.
ipv6 unicast-routing ! Enable IPv6 Routing. In absence of this command ! ! the Router does not send any ICMPv6 RA packet. interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::1/64 end
Step 3. Ensure the prefix advertised in the ICMPv6 RA packet is prefix length /64. Otherwise, the end host cannot create any IPv6 address via SLAAC:
ipv6 unicast-routing ! interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::1/64 ! Prefix length defined as /64 on the Router. end
ICMPv6 RA packet capture:
Frame 187: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: fe80::c801:b9ff:fef0:8, Dst: ff02::1 Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x4ce1 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : ca:01:b9:f0:00:08) ICMPv6 Option (MTU : 1500) ICMPv6 Option (Prefix information : 2001:abcd::/64) ! Prefix & prefix lenght information.
Step 4. The command debug ipv6 nd shows in real time the reception of the ICMPv6 RS packet and the advertisement of the ICMPv6 RA on the local network.
Router# debug ipv6 nd ICMP Neighbor Discovery events debugging is on Router#
Router# show logging | include RS
ICMPv6-ND: Received RS on GigabitEthernet0/0/0 from FE80::5850:6D61:1FB:EF3A
R1#
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
Router#
Step 1. Ensure the end host receives the RA packet.
This can be done with Wireshark and a capture with icmpv6.nd.ra.flag filter.
Step 2. 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. Navigate to Control Panel > Network and Sharing Center > Change adapter settings
Step 2. Right click on the network adapter of your selection > Properties
The network adapter does not have Internet Protocol version 6 (TCP/IPv6) enabled when you get the next message in Windows Command Prompt (CMD) with the command netsh interface ipv6 show interface "Local Area Connection".
Note: In the this command, you can replace Local Area Connection with the name of the network adapter Microsoft Windows uses to connect to the network.
Tip: To open a Command Prompt. Press Windows + R in your keyboard to open Run box. Run the command cmd and press OK
Step 3. Ensure the Router Discovery parameter is set to enabled.
Run the command netsh interface ipv6 show interface "Local Area Connection" in CMD.
Microsoft Windows can ignore the content of the received ICMPv6 RA packet when the Router Discovery parameter is set to disabled. This can cause Microsoft Windows not generate any IPv6 address.
Use this command to to enable Router Discovery:
C:\> netsh interface ipv6 set interface "Local Area Connection" routerdiscovery=enabled
Step 4. Ensure the Advertising parameter is set to disabled.
Run the command netsh interface ipv6 show interface "Local Area Connection" in CMD.
Microsoft Windows can ignore the content of the received ICMPv6 RA packet if the Advertising parameter is set to enabled.
The Advertising parameter enabled causes Microsoft Windows behave as IPv6 Router, generate and send its own ICMPv6 RA packets to the local network.
The default state of the Advertising parameter must be disabled.
Use this command to disable Advertising:
C:\> netsh interface ipv6 set interface "Local Area Connection" advertise=disabled
End hosts can request additional IPv6 configuration parameters like DNS, domain name, etc, with the use of DHCPv6 stateless. For this, the ICMPv6 RA packet must have the Other Configuration flag (O bit) set.
The Router sets the O flag when the ipv6 nd other-config-flag command is present in Cisco IOS interface configuration mode.
Router# interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::1/64 ipv6 nd other-config-flag
!
The packet exchange between the Router and end hosts occurs as shown in the image.
Step 1. End Host initially sends ICMPv6 RS
Step 2. Router replays with ICMPv6 RA and include the O flag set
Step 3. End Host sends DHCPv6 Informaton-request
Step 4. Router replays with DHCPv6 Reply
ICMPv6 RA with Other Configuration flag set packet capture:
Frame 9: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: fe80::c801:b9ff:fef0:8, Dst: ff02::1 Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x4ca1 [correct] Cur hop limit: 64 Flags: 0x40 0... .... = Managed address configuration: Not set .1.. .... = Other configuration: Set ! Cisco IOS command ipv6 nd other-config-flag sets the O flag ..0. .... = Home Agent: Not set ...0 0... = Prf (Default Router Preference): Medium (0) .... .0.. = Proxy: Not set .... ..0. = Reserved: 0 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : ca:01:b9:f0:00:08) ICMPv6 Option (MTU : 1500) ICMPv6 Option (Prefix information : 2001:abcd::/64)
On Wireshark, use the dhcpv6 filter to show the exchange of DHCPv6 packets:
Source Destination Protocol Length Info
PC IPv6 link local ff02::1:2 DHCPv6 120 Information-request XID: 0x8018f9 CID: 000100011f3e8772000c29806ccc Frame 3884: 120 bytes on wire (960 bits), 120 bytes captured (960 bits) on interface 0 Ethernet II, Src: Vmware_80:6c:cc (00:0c:29:80:6c:cc), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) Internet Protocol Version 6, Src: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a), Dst: ff02::1:2 (ff02::1:2) User Datagram Protocol, Src Port: 546 (546), Dst Port: 547 (547) DHCPv6 Message type: Information-request (11) Transaction ID: 0x8018f9 Elapsed time Client Identifier Vendor Class Option Request Source Destination Protocol Length Info Router IPv6 link local PC IPv6 link local DHCPv6 136 Reply XID: 0x8018f9 CID: 000100011f3e8772000c29806ccc Frame 3887: 136 bytes on wire (1088 bits), 136 bytes captured (1088 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: Vmware_80:6c:cc (00:0c:29:80:6c:cc) Internet Protocol Version 6, Src: Router IPv6 link local (fe80::c801:b9ff:fef0:8), Dst: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a) User Datagram Protocol, Src Port: 547 (547), Dst Port: 546 (546) DHCPv6 Message type: Reply (7) Transaction ID: 0x8018f9 Server Identifier Client Identifier DNS recursive name server Domain Search List
This example shows the configuration of DHCPv6 Stateless Server in Cisco IOS.
Step 1. From Global configuration mode run the command ipv6 dhcp pool NAME.
Step 2. Use the dns-server and doman-name sub-commands to define the parameters that are sent to the end hosts via DHCPv6.
Step 3. Apply the pool defined in the interface configuration mode with the command ipv6 dhcp server NAME.
Step 4. Add the command ipv6 nd other-config-flag in the interface configuration mode.
ipv6 unicast-routing ! ipv6 dhcp pool LAN_POOL dns-server 2001:4860:4860::8888 domain-name lab-test.net ! interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::1/64 ipv6 nd other-config-flag ! Sets the Other Configuration flag in the RA packet. ipv6 dhcp server LAN_POOL !
In order to verify the configuration on Cisco IOS is correct, use these commands:
Step 1. show ipv6 dhcp pool must confirm the parameter applied in the configuration.
Step 2. show ipv6 dhcp binding must not show any information since DHCPv6 stateless does not keep track of IPv6 clients.
Step 3. show ipv6 dhcp interface must show the pool is applied to the interface in the local network.
Router#show ipv6 dhcp pool DHCPv6 pool: LAN_POOL DNS server: 2001:4860:4860::8888 Domain name: lab-test.net Active clients: 0 ! DHCPv6 Stateless does not keep track of IPv6 clients. Router#
Router#show ipv6 dhcp binding Router#
Router#show ipv6 dhcp interface FastEthernet0/0 is in server mode Using pool: LAN_POOL Preference value: 0 Hint from client: ignored Rapid-Commit: disabled Router#
The command debug ipv6 dhcp must show the message exchange between the Router and end host:
Router#debug ipv6 dhcp 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 Router#
From the command prompt, run the command ipconfig /all to ensure Microsoft Windows has received DNS Server information and domain name:
C:\Users\ >ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : MY-LAPTOP Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No DNS Suffix Search List. . . . . . : lab-test.net Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : lab-test.net Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection Physical Address. . . . . . . . . : 00-0C-29-80-6C-CC DHCP Enabled. . . . . . . . . . . : No Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2001:abcd::5850:6d61:1fb:ef3a(Preferred) Temporary IPv6 Address. . . . . . : 2001:abcd::7151:b553:1a0a:80bb(Preferred) Link-local IPv6 Address . . . . . : fe80::5850:6d61:1fb:ef3a%11(Preferred) Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11 DHCPv6 IAID . . . . . . . . . . . : 234884137 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1F-3E-87-72-00-0C-29-80-6C-CC DNS Servers . . . . . . . . . . . : 2001:4860:4860::8888 NetBIOS over Tcpip. . . . . . . . : Disabled Connection-specific DNS Suffix Search List : lab-test.net C:\Users\ >
End hosts can request IPv6 address and additional parameters with the use of DHCPv6 Stateful. For this, the ICMPv6 RA packet must have the Managed Address Configuration flag (M flag) set.
The Router sets the M flag when the ipv6 nd managed-config-flag command is present in Cisco IOS interface configuration mode.
Router# interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::1/64 ipv6 nd managed-config-flag
!
The packet exchange between the Router and end hosts occurs as shown in the image.
Step 1. End Host initially sends ICMPv6 RS.
Step 2. Router replays with ICMPv6 RA with M flag set.
Step 3. End Host send DHCPv6 Solicit.
Step 4. Router replays with DHCPv6 Advertise.
Step 5. End Host sends DHCPv6 Request.
Step 6. Router replays with DHCPv6 Reply.
ICMPv6 RA with Managed address configuration flag set packet capture:
Frame 1190: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: IPv6mcast_01 (33:33:00:00:00:01) Internet Protocol Version 6, Src: Router IPv6 link local (fe80::c801:b9ff:fef0:8), Dst: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: Router Advertisement (134) Code: 0 Checksum: 0x0642 [correct] Cur hop limit: 64 Flags: 0x80 1... .... = Managed address configuration: Set .0.. .... = Other configuration: Not set ..0. .... = Home Agent: Not set ...0 0... = Prf (Default Router Preference): Medium (0) .... .0.. = Proxy: Not set .... ..0. = Reserved: 0 Router lifetime (s): 1800 Reachable time (ms): 0 Retrans timer (ms): 0 ICMPv6 Option (Source link-layer address : ca:01:b9:f0:00:08) ICMPv6 Option (MTU : 1500) ICMPv6 Option (Prefix information : 2001:abcd::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0x80
1... .... = On-link flag(L): Set
.0.. .... = Autonomous address-configuration flag(A): Not set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 1800
Preferred Lifetime: 1800
Reserved
Prefix: 2001:abcd:: (2001:abcd::)
In Wireshark, use the dhcpv6 filter to show the exchange of DHCPv6 packets:
Source Destination Protocol Length Info PC IPv6 link local ff02::1:2 DHCPv6 157 Solicit XID: 0x328090 CID: 000100011f3e8772000c29806ccc Frame 965: 157 bytes on wire (1256 bits), 157 bytes captured (1256 bits) on interface 0 Ethernet II, Src: Vmware_80:6c:cc (00:0c:29:80:6c:cc), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) Internet Protocol Version 6, Src: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a), Dst: ff02::1:2 (ff02::1:2) User Datagram Protocol, Src Port: 546 (546), Dst Port: 547 (547) DHCPv6 Message type: Solicit (1) Transaction ID: 0x328090 Elapsed time Client Identifier Identity Association for Non-temporary Address Fully Qualified Domain Name Vendor Class Option Request Source Destination Protocol Length Info Router IPv6 link local PC IPv6 link local DHCPv6 180 Advertise XID: 0x328090 CID: 000100011f3e8772000c29806ccc IAA: 2001:abcd::70a1:36a7:3e72:fa95 Frame 966: 180 bytes on wire (1440 bits), 180 bytes captured (1440 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: Vmware_80:6c:cc (00:0c:29:80:6c:cc) Internet Protocol Version 6, Src: Router IPv6 link local (fe80::c801:b9ff:fef0:8), Dst: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a) User Datagram Protocol, Src Port: 547 (547), Dst Port: 546 (546) DHCPv6 Message type: Advertise (2) Transaction ID: 0x328090 Server Identifier Client Identifier Identity Association for Non-temporary Address DNS recursive name server Domain Search List Source Destination Protocol Length Info PC IPv6 link local ff02::1:2 DHCPv6 199 Request XID: 0x328090 CID: 000100011f3e8772000c29806ccc IAA: 2001:abcd::70a1:36a7:3e72:fa95 Frame 967: 199 bytes on wire (1592 bits), 199 bytes captured (1592 bits) on interface 0 Ethernet II, Src: Vmware_80:6c:cc (00:0c:29:80:6c:cc), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02) Internet Protocol Version 6, Src: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a), Dst: ff02::1:2 (ff02::1:2) User Datagram Protocol, Src Port: 546 (546), Dst Port: 547 (547) DHCPv6 Message type: Request (3) Transaction ID: 0x328090 Elapsed time Client Identifier Server Identifier Identity Association for Non-temporary Address Fully Qualified Domain Name Vendor Class Option Request Source Destination Protocol Length Info Router IPv6 link local PC IPv6 link local DHCPv6 180 Reply XID: 0x328090 CID: 000100011f3e8772000c29806ccc IAA: 2001:abcd::70a1:36a7:3e72:fa95 Frame 968: 180 bytes on wire (1440 bits), 180 bytes captured (1440 bits) on interface 0 Ethernet II, Src: ca:01:b9:f0:00:08 (ca:01:b9:f0:00:08), Dst: Vmware_80:6c:cc (00:0c:29:80:6c:cc) Internet Protocol Version 6, Src: Router IPv6 link local (fe80::c801:b9ff:fef0:8), Dst: PC IPv6 link local (fe80::5850:6d61:1fb:ef3a) User Datagram Protocol, Src Port: 547 (547), Dst Port: 546 (546) DHCPv6 Message type: Reply (7) Transaction ID: 0x328090 Server Identifier Client Identifier Identity Association for Non-temporary Address DNS recursive name server Domain Search List
This example shows the configuration of DHCPv6 Stateful Server in Cisco IOS.
Step 1. From Global configuration mode run the command ipv6 dhcp pool NAME.
Step 2. Use address prefix, dns-server and doman-name sub-commands to define the parameters that are sent to the end hosts via DHCPv6.
Step 3. Apply the pool defined in the interface configuration mode with the command ipv6 dhcp server NAME.
Step 4. Add the command ipv6 nd managed-config-flag in the interface configuration mode.
Step 5. Add the command ipv6 nd prefix default 1800 1800 no-autoconfig in the interface configuration mode to disable the Autonomous address-configuration(A) flag in the ICMPv6 RA packet.
Note: End hosts can configure for itself two different IPv6 addresses when you use the DHCPv6 Stateful Server approach. The first one with the information contained in the ICMPv6 RA packet. The second one with the information contained in the DHCPv6 packet. To avoid this, the ICMPv6 RA packet can disable the A flag to instruct end hosts to not generate IPv6 address based on the information contained in it.
Note: Prefix information can be removed from the content of the ICMPv6 RA packet with the command ipv6 nd prefix default no-advertise in interface configuration mode.
ipv6 unicast-routing ! ipv6 dhcp pool LAN_POOL address prefix 2001:ABCD::/64 ! Includes the IPv6 prefix in the DHCPv6 packet exchange. dns-server 2001:4860:4860::8888 domain-name lab-test.net ! interface GigabitEthernet0/0/0 ipv6 address 2001:ABCD::/64 eui-64 ipv6 nd prefix default 1800 1800 no-autoconfig ! Disables the Autonomous address-configuration(A) flag in the ICMPv6 RA packet. ipv6 nd managed-config-flag ! Sets the Managed address configuration flag in the ICMPv6 RA packet. ipv6 dhcp server LAN_POOL end
In order to verify the configuration on Cisco IOS is correct, use these commands:
Step 1. show ipv6 dhcp pool must confirm the parameter applied in the configuration.
Step 2. show ipv6 dhcp binding must information for the IPv6 addresses leased to end hosts.
Step 3. show ipv6 dhcp interface must show the pool is applied to the interface in the local network.
Router#show ipv6 dhcp pool DHCPv6 pool: LAN_POOL Address allocation prefix: 2001:ABCD::/64 valid 172800 preferred 86400 (1 in use, 0 conflicts) DNS server: 2001:4860:4860::8888 Domain name: lab-test.net Active clients: 1 Router#
Router#show ipv6 dhcp binding
Client: FE80::5850:6D61:1FB:EF3A
DUID: 000100011F3E8772000C29806CCC
Username : unassigned
IA NA: IA ID 0x0E000C29, T1 43200, T2 69120
Address: 2001:ABCD::3DD4:77BB:E035:9375
preferred lifetime 86400, valid lifetime 172800
expires at Dec 28 2016 10:44 PM (172488 seconds)
Router#
Router#show ipv6 dhcp interface
FastEthernet0/0 is in server mode
Using pool: LAN_POOL
Preference value: 0
Hint from client: ignored
Rapid-Commit: disabled
Router#
The command debug ipv6 dhcp must show the message exchange between the Router and end host:
Router#debug ipv6 dhcp IPv6 DHCP debugging is on Router# IPv6 DHCP: Received SOLICIT 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: 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 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 Router#
Run the command ipconfig /all to ensure Microsoft Windows has received IPv6 address, default gateway, DNS Server information and domain name:
C:\Users\ >ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : MY-LAPTOP Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No DNS Suffix Search List. . . . . . : lab-test.net Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : lab-test.net Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection Physical Address. . . . . . . . . : 00-0C-29-80-6C-CC DHCP Enabled. . . . . . . . . . . : No Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2001:abcd::3dd4:77bb:e035:9375(Preferred) Lease Obtained. . . . . . . . . . : Sunday, January 01, 2017 4:47:02 PM Lease Expires . . . . . . . . . . : Tuesday, January 03, 2017 4:47:02 PM Link-local IPv6 Address . . . . . : fe80::5850:6d61:1fb:ef3a%11(Preferred) Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11 DHCPv6 IAID . . . . . . . . . . . : 234884137 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1F-3E-87-72-00-0C-29-80-6C-CC DNS Servers . . . . . . . . . . . : 2001:4860:4860::8888 NetBIOS over Tcpip. . . . . . . . : Disabled Connection-specific DNS Suffix Search List : lab-test.net C:\Users\ >
Microsoft Windows generates by default a random interface ID for auto-configured IPv6 address (with SLAAC) rather than use EUI-64 method.
C:\Users\ >ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:abcd::5850:6d61:1fb:ef3a ! Randomly generated interface ID. Temporary IPv6 Address. . . . . . : 2001:abcd::8d1:8bbb:14e4:658e Link-local IPv6 Address . . . . . : fe80::5850:6d61:1fb:ef3a%11 Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11
This behavior can be changed to make Windows to use the EUI-64 process.
netsh interface ipv6 set global randomizeidentifiers=disabled
You can see now see the Interface ID was generated with the use of the EUI-64 process.
C:\Users\ >ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:abcd::20c:29ff:fe80:6ccc ! Interface ID now generated by EUI-64 method. Temporary IPv6 Address. . . . . . : 2001:abcd::9818:d729:fadb:8812 Link-local IPv6 Address . . . . . : fe80::20c:29ff:fe80:6ccc%11 Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11
To use the random interface ID process again you can run the command:
netsh interface ipv6 set global randomizeidentifiers=enabled
For security reasons, Windows can temporarily create IPv6 addresses and use those as a source for outbound connections.
This can create confusion in scenarios when the expectation is that end hosts use certain IPv6 address to source the communication like when Firewall rules are defined in the network.
The Temporary IPv6 Address is because of Windows implementation of RFC 4941.
C:\Users\ >ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:abcd::5850:6d61:1fb:ef3a Temporary IPv6 Address. . . . . . : 2001:abcd::8d1:8bbb:14e4:658e Link-local IPv6 Address . . . . . : fe80::5850:6d61:1fb:ef3a%11 Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11
C:\Users\ >netsh interface ipv6 show privacy
Querying active state...
Temporary Address Parameters
---------------------------------------------
Use Temporary Addresses : enabled
Duplicate Address Detection Attempts: 5
Maximum Valid Lifetime : 7d
Maximum Preferred Lifetime : 1d
Regenerate Time : 5s
Maximum Random Time : 10m
Random Time : 0s
C:\Users\Gus>
To disable the automatic creation of the Temporary IPv6 Address run the command:
netsh interface ipv6 set privacy state=disabled
With the command applied, the outputs show:
C:\Users\ >ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:abcd::5850:6d61:1fb:ef3a Link-local IPv6 Address . . . . . : fe80::5850:6d61:1fb:ef3a%11 Default Gateway . . . . . . . . . : fe80::c801:b9ff:fef0:8%11
C:\Users\ >netsh interface ipv6 show privacy Querying active state... Temporary Address Parameters --------------------------------------------- Use Temporary Addresses : disabled Duplicate Address Detection Attempts: 5 Maximum Valid Lifetime : 7d Maximum Preferred Lifetime : 1d Regenerate Time : 5s Maximum Random Time : 10m Random Time : 0s
To use Temporary IPv6 Address again you can run the command:
netsh interface ipv6 set privacy state=enable
IPv6 dynamic address assignment offers more options than DHCP in IPv4. It is necessary to know the main configuration points and what to check when the process does not complete as expected. The basic configuration commands are offered for this on Cisco IOS and Microsoft Windows for a complete view of the overall process.