IPv6 Foundation Part 7: IPv6 on Windows

IPv6 Foundation Part 7 - IPv6 on Windows
All the Tricks and Commands! How IPv6 on Windows works, how to enable, disable & troubleshoot it! Find all your answers and more right here!

Table of Contents

About this course

So you are interested in IPv6, which is absolutely great!

IPv6 is not only the future of networking, it is already here today! All the big players on the Internet are already IPv6 enabled and it is now time for you to join the party!

This course covers all major aspects of the new Internet Protocol and what changed, compared to IPv4. You will understand the fundamentals and be ahead of your peers that are still on the sinking ship of IPv4! As of today, there are no IPv4 addresses left and we have no other option but to go ahead and deploy IPv6.

IPv6 Act Now

IPv6 Foundation Part 7: IPv6 on Windows

In this part we will have a look at the different client operating system’s IPv6 support and how to manage an IPv6 network full-stack, including monitoring and IP address planning and management.

IPv6 Operating System Support State

Let’s have a look at IPv6 support and some history for Microsoft Windows, Apple MacOS and Linux implementations of our new Internet Protocol.

IPv6 on Windows

Microsoft was surprisingly quick after the first IPv6 draft RFC1883 was published in December 1995 by offering the first IPv6 stack in trial version for Windows 95 and Windows 98 by 1998.

In 2001 with Windows XP broad support for IPv6 was integrated.

Since 2006 with Windows Vista, IPv6 is enabled by default. Yes, on Windows Server, too!

So to you all, running IPv6 on Windows 10 this is great news!

Microsoft Windows uses IPv6 Privacy Extensions (randomized Interface Identifiers) by default with Stateless Address Autoconfiguration (SLAAC) since Vista.

The lifetime of a public address is reset (renewed) on each Router Advertisement, which makes the address theoretically static!

An additional temporary address is generated for outbound connections which changes.

So in summary Microsoft’s approach enables more or less anonymous outbound connections, while keeping a semi-static address for inbound management of the client.

How to show Interfaces with IPv6 on Windows

netsh interface ipv6 show interface

The output will provide all interfaces including tunnel interfaces for Teredo or 6to4 and loopback interfaces, each with the appropriate Interface Index (IDX), Metric (MET) and MTU size along with the current status.

How to configure a static address for IPv6 on Windows

netsh interface ipv6 add address <interface-id> <IPv6 address>

This command can be used to add an IPv6 address to an existing interface.

How to show all interface IPv6 addresses on Windows

netsh interface ipv6 show address

This command shows all active IPv6 addresses on the system, including loopback, Link-Local, global and tunnel interfaces.

How to set a static route for IPv6 on Windows

netsh interface ipv6 add route <IPv6 address>/<prefix-length> <interface-id> [<nexthop-ipv6-address>]

With this command you can add a static IPv6 route towards the specified address with prefix length into your IPv6 routing table, that uses the specified next hop as a gateway.

How to show the routing table for IPv6 on Windows

netsh interface ipv6 show routes [level=verbose]

Display the Windows IPv6 routing table with this simple command. The Verbosity level is optional and you do not usually need it. Check out the difference in output if you like.

How to show the neighbor cache for IPv6 on Windows

netsh interface ipv6 show neighbors

You have learned before in this tutorial, what purpose the IPv6 neighbor cache has. Now you can have a look at your Microsoft Windows IPv6 neighbors yourself. Try it!

How to disable or enable the firewall for IPv6 on Windows

netsh interface ipv6 set interface <interface-id> firewall={enabled|disabled}

I would never recommend disabling a firewall over configuring it correctly, so use this command to disable the firewall maybe in a lab but not in production environments.

How to disable the randomized interface identifiers for IPv6 on Windows

netsh interface ipv6 set global randomizeidentifiers=disabled

Randomized interface identifiers are part of the IPv6 Privacy Extensions but can be disabled or enabled individually. Enabling this randomization can increase security and privacy. Play with the setting in your lab und check out the difference between random numbers and your own burned-in MAC address used with the EUI-64 address generation process.

How to disable the Privacy Extensions for IPv6 on Windows

netsh interface ipv6 set privacy state=disabled

You can disable the IPv6 Privacy Extensions completely with this one command.

How to do a Ping to verify connectivity for IPv6 on Windows

ping6 <ipv6-address> [<interface-id>]

Ping6 is the IPv6 alternative to the old Ping command, which is used to check if there is end-to-end reachability between your host and a destination. You can either use an IPv6 address for the destination, or use a DNS name (it works!) but be aware – when using a DNS name you cannot be 100% sure that IPv6 is used as transport instead of IPv4.

Check out the parts about Source Protocol Selection and Source Address Selection to understand which Protocol and which address is used when initiating a connection.

How to do a Traceroute to verify Routing and Path of IPv6 on Windows

tracert6 <ipv6-address>

For Traceroute, tracert6 is the IPv6 alternative to the IPv4 tracert command, which is used to check the different hops and the routing path between your host and a destination. You can either use an IPv6 address for the destination, or use a DNS name (it works!) but be aware – when using a DNS name you cannot be 100% sure that IPv6 is used as transport instead of IPv4.

Same as with Ping, check out the parts about Source Protocol Selection and Source Address Selection again to understand which Protocol and which address is used when initiating a connection.

Caution: why you should never disable IPv6 on Windows!

May I quote Microsoft:

Do not deactivate IPv6 on Windows!

IPv6 is in integral part of Windows. If you disable IPv6 on Windows 10 or any earlier Version until Windows Vista, Windows 2008 or Windows 8, some components will not work anymore.

Components that are based on IPv6 include, but are not limited to:
HomeGroup, Remote Assistance, DirectAccess, Windows Mail.

Microsoft recommends to leave IPv6 enabled, even if there is no IPv6 connectivity to the outside (e.g. the Internet)

I do appreciate that. Now that you are learning everything about IPv6, there is no need to disable it. It’s way better to configure it correctly and enable it, right!

How to disable IPv6 on Windows

You should not disable IPv6 on Windows, but if you still want to or even need to, follow these simple steps for disabling IPv6 on Windows 10:

  1. Right-click the Network icon on your Desktop and open Network and Sharing Center
  2.  Click the side option Change Adapter Settings
  3. Right-click on the network adapter you want to disable IPv6 on and click Properties
  4. Uncheck the Internet Protocol Version 6 (TCP/IPv6) box
  5. Confirm with OK button

As soon as you want to re-enablle IPv6 on your Windows machine, the following will guide you:

How to enable IPv6 on Windows

I’m happy you want to enable IPv6 on Windows. This will be quick and easy!

Just follow these steps:

  1. Right-click the Network icon on your Desktop and open Network and Sharing Center
  2.  Click the side option Change Adapter Settings
  3. Right-click on the network adapter you want to enable IPv6 on and click Properties
  4. Check the Internet Protocol Version 6 (TCP/IPv6) box
  5. Confirm with OK button
 
Now IPv6 is enabled for this interface. In case you first activated it just now, you might want to do other configuration like setting an IPv6 address or set a (default) route on your system. Just follow the different steps in this article to get your Windows machine fully IPv6 capable!

Thank You

Thank you for attending the Original IPv6 Foundation Master Class! You can bookmark this site to use it as a quick reference in case you need to re-read something and you can share this page to social media and your friends and colleagues. Stay tuned to this blog for more in-depth stories like this one.

Recommended Resources for additional reading

Apart from the links throughout this course I recommend the following resources for additional information:

  1. The Internet Society (ISOC) IPv6 Portal
  2. Test your IPv6 connectivity on test-ipv6.com
  3. The official IANA list of assigned IPv6 address space is very interesting
  4. The Google IPv6 deployment statistics
  5. The RIPE NCC IPv6 working group and mailing list

Book recommendations on IPv6

I can recommend the following 3 books (Amazon referral links) which I enjoyed reading:

This concludes IPv6 Foundation Part 7: IPv6 on Windows of the original IPv6 Foundation Master Class.

Previous Part: IPv6 Foundation Part 6: IPv6 DHCP (DHCPv6)

Next Part: IPv6 Foundation Part 8: IPv6 on Linux

Share this post

Share on pocket
Share on reddit
Share on facebook
Share on twitter
Share on linkedin
Share on xing