IPv6 Foun­da­tion Part 7: IPv6 on Win­dows

IPv6 Foundation Part 7 - IPv6 on Windows
All the Tricks and Com­mands! Now Free! How IPv6 on Win­dows works, how to enable, dis­able & trou­bleshoot it! Find all your answers and more in this free Course!

Table of Con­tents

About this course

So you are inter­est­ed in IPv6, which is absolute­ly great!

IPv6 is not only the future of net­work­ing, it is already here today! All the big play­ers on the Inter­net are already IPv6 enabled and it is now time for you to join the par­ty!

This course cov­ers all major aspects of the new Inter­net Pro­to­col and what changed, com­pared to IPv4. You will under­stand the fun­da­men­tals and be ahead of your peers that are still on the sink­ing ship of IPv4! As of today, there are no IPv4 address­es left and we have no oth­er option but to go ahead and deploy IPv6.

IPv6 Act Now

IPv6 Foun­da­tion Part 7: IPv6 on Win­dows

In this part we will have a look at the dif­fer­ent client oper­at­ing system’s IPv6 sup­port and how to man­age an IPv6 net­work full-stack, includ­ing mon­i­tor­ing and IP address plan­ning and man­age­ment.

IPv6 Oper­at­ing Sys­tem Sup­port State

Let’s have a look at IPv6 sup­port and some his­to­ry for Microsoft Win­dows, Apple MacOS and Lin­ux imple­men­ta­tions of our new Inter­net Pro­to­col.

IPv6 on Win­dows

Microsoft was sur­pris­ing­ly quick after the first IPv6 draft RFC1883 was pub­lished in Decem­ber 1995 by offer­ing the first IPv6 stack in tri­al ver­sion for Win­dows 95 and Win­dows 98 by 1998.

In 2001 with Win­dows XP broad sup­port for IPv6 was inte­grat­ed.

Since 2006 with Win­dows Vista, IPv6 is enabled by default. Yes, on Win­dows Serv­er, too!

So to you all, run­ning IPv6 on Win­dows 10 this is great news!

Microsoft Win­dows uses IPv6 Pri­va­cy Exten­sions (ran­dom­ized Inter­face Iden­ti­fiers) by default with State­less Address Auto­con­fig­u­ra­tion (SLAAC) since Vista.

The life­time of a pub­lic address is reset (renewed) on each Router Adver­tise­ment, which makes the address the­o­ret­i­cal­ly sta­t­ic!

An addi­tion­al tem­po­rary address is gen­er­at­ed for out­bound con­nec­tions which changes.

So in sum­ma­ry Microsoft’s approach enables more or less anony­mous out­bound con­nec­tions, while keep­ing a semi-sta­t­ic address for inbound man­age­ment of the client.

How to show Inter­faces with IPv6 on Win­dows

netsh interface ipv6 show interface

The out­put will pro­vide all inter­faces includ­ing tun­nel inter­faces for Tere­do or 6to4 and loop­back inter­faces, each with the appro­pri­ate Inter­face Index (IDX), Met­ric (MET) and MTU size along with the cur­rent sta­tus.

How to con­fig­ure a sta­t­ic address for IPv6 on Win­dows

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

This com­mand can be used to add an IPv6 address to an exist­ing inter­face.

How to show all inter­face IPv6 address­es on Win­dows

netsh interface ipv6 show address

This com­mand shows all active IPv6 address­es on the sys­tem, includ­ing loop­back, Link-Local, glob­al and tun­nel inter­faces.

How to set a sta­t­ic route for IPv6 on Win­dows

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

With this com­mand you can add a sta­t­ic IPv6 route towards the spec­i­fied address with pre­fix length into your IPv6 rout­ing table, that uses the spec­i­fied next hop as a gate­way.

How to show the rout­ing table for IPv6 on Win­dows

netsh interface ipv6 show routes [level=verbose]

Dis­play the Win­dows IPv6 rout­ing table with this sim­ple com­mand. The Ver­bosi­ty lev­el is option­al and you do not usu­al­ly need it. Check out the dif­fer­ence in out­put if you like.

How to show the neigh­bor cache for IPv6 on Win­dows

netsh interface ipv6 show neighbors

You have learned before in this tuto­r­i­al, what pur­pose the IPv6 neigh­bor cache has. Now you can have a look at your Microsoft Win­dows IPv6 neigh­bors your­self. Try it!

How to dis­able or enable the fire­wall for IPv6 on Win­dows

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

I would nev­er rec­om­mend dis­abling a fire­wall over con­fig­ur­ing it cor­rect­ly, so use this com­mand to dis­able the fire­wall maybe in a lab but not in pro­duc­tion envi­ron­ments.

How to dis­able the ran­dom­ized inter­face iden­ti­fiers for IPv6 on Win­dows

netsh interface ipv6 set global randomizeidentifiers=disabled

Ran­dom­ized inter­face iden­ti­fiers are part of the IPv6 Pri­va­cy Exten­sions but can be dis­abled or enabled indi­vid­u­al­ly. Enabling this ran­dom­iza­tion can increase secu­ri­ty and pri­va­cy. Play with the set­ting in your lab und check out the dif­fer­ence between ran­dom num­bers and your own burned-in MAC address used with the EUI-64 address gen­er­a­tion process.

How to dis­able the Pri­va­cy Exten­sions for IPv6 on Win­dows

netsh interface ipv6 set privacy state=disabled

You can dis­able the IPv6 Pri­va­cy Exten­sions com­plete­ly with this one com­mand.

How to do a Ping to ver­i­fy con­nec­tiv­i­ty for IPv6 on Win­dows

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

Ping6 is the IPv6 alter­na­tive to the old Ping com­mand, which is used to check if there is end-to-end reach­a­bil­i­ty between your host and a des­ti­na­tion. You can either use an IPv6 address for the des­ti­na­tion, or use a DNS name (it works!) but be aware — when using a DNS name you can­not be 100% sure that IPv6 is used as trans­port instead of IPv4.

Check out the parts about Source Pro­to­col Selec­tion and Source Address Selec­tion to under­stand which Pro­to­col and which address is used when ini­ti­at­ing a con­nec­tion.

How to do a Tracer­oute to ver­i­fy Rout­ing and Path of IPv6 on Win­dows

tracert6 <ipv6-address>

For Tracer­oute, tracert6 is the IPv6 alter­na­tive to the IPv4 trac­ert com­mand, which is used to check the dif­fer­ent hops and the rout­ing path between your host and a des­ti­na­tion. You can either use an IPv6 address for the des­ti­na­tion, or use a DNS name (it works!) but be aware — when using a DNS name you can­not be 100% sure that IPv6 is used as trans­port instead of IPv4.

Same as with Ping, check out the parts about Source Pro­to­col Selec­tion and Source Address Selec­tion again to under­stand which Pro­to­col and which address is used when ini­ti­at­ing a con­nec­tion.

Cau­tion: why you should nev­er dis­able IPv6 on Win­dows!

May I quote Microsoft:

Do not deac­ti­vate IPv6 on Win­dows!

IPv6 is in inte­gral part of Win­dows. If you dis­able IPv6 on Win­dows 10 or any ear­li­er Ver­sion until Win­dows Vista, Win­dows 2008 or Win­dows 8, some com­po­nents will not work any­more.

Com­po­nents that are based on IPv6 include, but are not lim­it­ed to:
Home­Group, Remote Assis­tance, Direc­tAc­cess, Win­dows Mail.

Microsoft rec­om­mends to leave IPv6 enabled, even if there is no IPv6 con­nec­tiv­i­ty to the out­side (e.g. the Inter­net)

I do appre­ci­ate that. Now that you are learn­ing every­thing about IPv6, there is no need to dis­able it. It’s way bet­ter to con­fig­ure it cor­rect­ly and enable it, right!

How to dis­able IPv6 on Win­dows

You should not dis­able IPv6 on Win­dows, but if you still want to or even need to, fol­low these sim­ple steps for dis­abling IPv6 on Win­dows 10:

  1. Right-click the Net­work icon on your Desk­top and open Net­work and Shar­ing Cen­ter
  2.  Click the side option Change Adapter Set­tings
  3. Right-click on the net­work adapter you want to dis­able IPv6 on and click Prop­er­ties
  4. Uncheck the Inter­net Pro­to­col Ver­sion 6 (TCP/IPv6) box
  5. Con­firm with OK but­ton

As soon as you want to re-enablle IPv6 on your Win­dows machine, the fol­low­ing will guide you:

How to enable IPv6 on Win­dows

I’m hap­py you want to enable IPv6 on Win­dows. This will be quick and easy!

Just fol­low these steps:

  1. Right-click the Net­work icon on your Desk­top and open Net­work and Shar­ing Cen­ter
  2.  Click the side option Change Adapter Set­tings
  3. Right-click on the net­work adapter you want to enable IPv6 on and click Prop­er­ties
  4. Check the Inter­net Pro­to­col Ver­sion 6 (TCP/IPv6) box
  5. Con­firm with OK but­ton
 
Now IPv6 is enabled for this inter­face. In case you first acti­vat­ed it just now, you might want to do oth­er con­fig­u­ra­tion like set­ting an IPv6 address or set a (default) route on your sys­tem. Just fol­low the dif­fer­ent steps in this arti­cle to get your Win­dows machine ful­ly IPv6 capa­ble!

Thank You

Thank you for attend­ing the Orig­i­nal IPv6 Foun­da­tion Mas­ter Class! You can book­mark this site to use it as a quick ref­er­ence in case you need to re-read some­thing and you can share this page to social media and your friends and col­leagues. Stay tuned to this blog for more in-depth sto­ries like this one.

Rec­om­mend­ed Resources for addi­tion­al read­ing

Apart from the links through­out this course I rec­om­mend the fol­low­ing resources for addi­tion­al infor­ma­tion:

  1. The Inter­net Soci­ety (ISOC) IPv6 Por­tal
  2. Test your IPv6 con­nec­tiv­i­ty on test-ipv6.com
  3. The offi­cial IANA list of assigned IPv6 address space is very inter­est­ing
  4. The Google IPv6 deploy­ment sta­tis­tics
  5. The RIPE NCC IPv6 work­ing group and mail­ing list

Book rec­om­men­da­tions on IPv6

I can rec­om­mend the fol­low­ing 3 books (Ama­zon refer­ral links) which I enjoyed read­ing:

This con­cludes IPv6 Foun­da­tion Part 7: IPv6 on Win­dows of the orig­i­nal IPv6 Foun­da­tion Mas­ter Class.

Pre­vi­ous Part: IPv6 Foun­da­tion Part 6: IPv6 DHCP (DHCPv6)

Next Part: IPv6 Foun­da­tion Part 8: IPv6 on Lin­ux

Share this post

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