21

I have been experimenting with IPv6 using a Windows7 client with the default Teredo IPv6 tunnel enabled.

I can reach IPv6 hosts (ipv6.google.com & www.v6.facebook.com) successfully using PING -6. I can also make HTTP requests to these hosts successfully using a Python script (using an IPv6-based socket).

Using Firefox/Chrome/IE doesn't work. A packet capture shows that these browsers are making DNS A queries whereas my Python script results in an AAAA query to resolve the Ipv6 query successfully.

Update 1: I tested with the (very useful) link that Matt suggested and got the following information:

You also appear to have Teredo enabled. You did successfully connect to an IPv6 site during this test - but only when forcing the connection by connecting to an IPv6 numeric address, instead of a web site name. This setting will not help or hurt you going forward to reach IPv6 web sites. Teredo (a tunneling protocol for Windows computers) advice will be posted hopefully soon

Update 2 I've concluded that the answer to my question is 'by not using teredo for IPv6'. This page contains the following statement at the bottom:

Due to current absence of Teredo relays on the Internet, connections to native IPv6 addresses are unlikely to succeed over the Teredo interface. If WSAConnectByName is called, Windows Vista will not issue AAAA queries when Teredo is the only IPv6 capable interface available. This ensures that native IPv6 addresses are not obtained as a destination and that connections are attempted over IPv4, which has the highest chance of success. In order to obtain IPv6 addresses when Teredo is the only IPv6 capable interface, an application must explicitly use the DnsQuery API for AAAA records.

This means that when an application resolves a hostname to an IP address, Windows will not issue a request for IPv6 records (AAAA) if teredo is the only IPv6 access available unless the app specifically requests an IPv6 address. Most apps will not do this as the best practice is to query for all types of address (eg by passing AF_UNSPEC to getaddrinfo)

I have set up alternative IPv6 tunneled access using the free service from Hurricane Electric and can now browse over IPv6 to my hearts content :-)

rupello
  • 480

3 Answers3

7

Go to the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters

Add a DWORD value:

AddrConfigControl = 0

You will have DNS resolving through the Teredo tunnel.

Gareth
  • 19,080
user78041
  • 241
6

In Firefox go to about:config and look for

network.dns.disableIPv6

Make sure that is set to false which it should be by default.

Then test it by going to http://test-ipv6.com/

Majenko
  • 32,964
3

If the test at test-ipv6.com passes, and you still aren't getting the dancing kame turtle, also disable network.http.fast-fallback-to-IPv4. Once I did that, the turtle showed up for kame.net

ruvim
  • 183
Michael
  • 31