Windows 7 User? You are IPv6 Capable!

Update: Please read my other post on pulling the plug on 6to4. Note that the bellow article is for experimental purposes and might impact the user experience.

Being IPv6 capable and one in the crowd is obviously cool, but has some limitations. One of this limitations are services you can access. For example, being IPv6 capable and using P2P is an obvious NO GO, simply because there is no one to peer with.

Limited user base of IPv6 is also one of main facts why content providers still excuse themselves for not offering native IPv6 service, and a reason you would probably get a strange look from your boss when you approach him with an IPv6 implementation offer :)) (not the case for everyone though, lucky me 🙂 )

OK, so lyrics aside! Are you a Windows 7 user? If the answer is yes, continue reading.

It might be some time till your service provider offers native dual stack capability. However, thanks to Microsoft (Windows 7 at this point has probably the best implemented IPv6 stack) you are IPv6 capable today!

Windows 7 natively supports a bunch of transition mechanisms, such as 6to4, ISATAP, Teredo. They are all enabled by default in your Windows 7 installation, which means you are probably doing IPv6 traffic today without even noticing it.

Most publications on the internet will teach you how to shut this all down, I however, will give you some insights regarding its usage.

I will not go into the smallest details, assuming that if you are reading this, you are probably doing well with your PC. I will focus the below description on the 6to4 transition mechanism. I am also providing just the bare details and if you really wish more try this web page.

The main prerequisite for having 6to4 working is a Windows 7 machine with a public IPv4 address. This is the case for most computers and service provider offerings today (soon to end).

Now lets first see if we are really IPv6 capable at this point.

First of all open the Command Prompt (Start->Accessories->Command Prompt). The best way to open it would be by right clicking the application and select Run as Administrator (to avoid future hassles).

After opening the prompt, simply type ipconfig and check if you have anything similar:

Tunnel adapter 6TO4 Adapter:

Connection-specific DNS Suffix  . :
IPv6 Address. . . . . . . . . . . : 2002:5ef3:75a5::5ef3:75a5
Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301

If it works, you should have an IPv6 as the above with 2002::. The 6to4 addresses are build using the following formula: 2002:IPv4in HEX::IPv4inHEX, so, actually your IPv4 prefix is mapped to an IPv6 address.

OK, so, if the address is there try and ping:

ping ipv6.google.com

if it works, you will see responses.

Also, you can open your browser and browse to http://ipv6.orange.md, which is an IPv6 only server and won’t open unless you are IPv6 capable.

If the above worked for you, lets continue.

As 6to4 is a transition mechanism only, and relies on external to your service provider relays, it is obviously quite unstable, and might give you less bandwidth throughput then your normal IPv4 service. If it works, it works, and if it doesn’t there is really no one to blame. For this reason, Windows 7 will not prefer the 6to4 IPv6 address to your IPv4 address, meaning that, going to http://ripe.net or trying http://whatismyv6.com/ will tell you are using IPv4, where http://test-ipv6.com/ or http://ipv6-test.com/ will detect your IPv6 address, but will state that your machine prefers IPv4 over IPv6. This means that any network usage you do will be IPv4 only, unless the content you are trying to reach is IPv6 only (quite rare today). This might be ok for most, but not for the pervert networkers mind 🙂

How to make your machine prefer the 6to4 over IPv4, allowing to access the IPv6 capable servers natively? It is easy:

In your command prompt type:

>netsh interface ipv6 show prefixpolicy
Precedence  Label  Prefix
----------  -----  --------------------------------
         5      5  2001::/32
        10      4  ::ffff:0:0/96
        20      3  ::/96
        30      2  2002::/16
        40      1  ::/0
        50      0  ::1/128

The above is the default preference usage table where

10 4 ::ffff:0:0/96 is the IPv4 address, which seems to be less preferred then the 2002::/16 and could make you think this is the case. This is not true though. Looks like the Winodws 7 mechanism also takes the labels into consideration, and will prefer the label match when choosing the protocol to use.  For instance, if you try to access an IPv4 website natively your source address label will be 4 and so will be your destination address label. However, when you will try to access an DS(IPv4IPv6) website over IPv6, you will use 6to4 ip address label of 2 to reach the destination with the label of 1 (native IPv6). This will make the selection algorithm prefer IPv4 over 6to4.

To correct the situation, you should change the prefix policy label to be the same as the native IPv6 label (1). To do that type the following:

netsh int ipv6

set prefixpolicy ::ffff:0:0/96 10 4

set prefixpolicy ::/96 20 3

set prefixpolicy 2002::/16 30 1

set prefixpolicy ::/0 40 1

set prefixpolicy ::1/128 50 0

The above will make the 6to4 preferred over IPv4. Going or pinging any of the above mentioned websites will make you use the IPv6 transport (remember though, it might be not as fast or stable as your IPv4).

NOTE: You should type the policy entirely, otherwise, after a reboot you might end up with only the string that has been modified in the service policy, and it will not work properly. Trying to modify a non existing policy will return an error like “Item not found”. There is a workaround for that. In your command prompt, simply type

netsh int ipv6 reset

To make things more fun, you can even go further, and for instance, change your providers DNS address with the HE forwarder in the network settings (74.82.42.42). It is white listed with Google, and will make you browse all the Google services in a native manner, which should be more than enough for experiments you do with your machine.

Advertisements

17 thoughts on “Windows 7 User? You are IPv6 Capable!

    • Hi Mark,

      Thanks for the comment.

      The P2P software works with IPv6. As you mentioned transmission is ok on Linux and Mac, and Azureus work on Windows. However the overall number of peers is extremely small, leading to very low throughput. This was the point of my introduction. Mainly, the number of customers using the service, not the service unavailability. Another big issue is that trackers themselves are not dual stack, and you must have IPv4 in order to keep communication with the tracker.

  1. I’ve found far better p2p downloads since going dual stack on my server. The reason seems to be yes, there are far fewer, but there are also far fewer users as a percentage firewalling their p2p software on ipv6. Thought that might actually interest you.

    I’ve been dual stacked for some time thanks to gogo6 and sixxs.net. This allows a native network behind a router with similar to a 6to4 tunnel at the router, and a /48 subnet. I also run shorewall6 as my firewall for the ipv6 side of things.

    Found this site, while trying to get autoconf working on a Windows 7 laptop with a broadcom wireless chipset.

    • Hi Jamie,

      Thanks for the reply. Indeed, things tend to change. It is still quite unlikely you can peer with anyone, but when you do, it is obviously working. I believe your suggestion of using tunnel broker service might interest readers of this post. On the other hand, be aware that at this time even the managed tunnels are probably only seen as a way to do some personal research.

      This post is mainly offering readers an easy way to try IPv6 at no effort using anycast 6to4. However, today I definitely do not recommend anyone considers it as a functional solution even for home use. Unless you can stand the drawbacks of course.

      So, if I might suggest – though a tunnel broker might still be the only choice and they are still doing a great deal by letting people get IPv6, it is important you ask your ISP either they can give you a native connection.

  2. Hello there, just became aware of your blog through Google, and found that it’s truly informative. I’m
    going to watch out for brussels. I’ll appreciate if you continue this in future. Many people will be benefited from your writing. Cheers!

  3. Good day! This is kind of off topic but I need some help from an established blog.
    Is it tough to set up your own blog? I’m not very techincal but I can figure things out pretty quick. I’m thinking about making my own but I’m not sure where to start. Do you have any ideas or suggestions? Thanks

  4. Good day! Do you know if they make any plugins to assist with SEO?
    I’m trying to get my blog to rank for some targeted keywords but I’m not seeing
    very good gains. If you know of any please share. Cheers!

  5. Serfuję po sieci wiecej niż cztery godziny dziennie i do tej pory
    nie trafiłam na tak fascynujące forum jak Twoje. W mojej opinii jeśliby wszyscy właściciele dawali tyle z siebie interent byłby bardziej wartościowy.

    CelujÄ…carobota.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s