我一直在使用Windows7客户端启用默认Teredo IPv6隧道的IPv6进行试验。
我可以使用PING -6成功访问IPv6主机(ipv6.google.com和www.v6.facebook.com)。我还可以使用Python脚本(使用基于IPv6的套接字)向这些主机成功发出HTTP请求。
使用Firefox / Chrome / IE无效。数据包捕获显示,这些浏览器正在进行DNS A查询,而我的Python脚本会生成AAAA查询,以成功解析Ipv6查询。
更新1: 我测试了Matt建议的(非常有用)链接,并获得了以下信息:
您似乎还启用了Teredo。在此测试中,您确实已成功连接到IPv6站点-但仅在通过连接到IPv6数字地址而不是网站名称来强制连接时。此设置不会帮助或伤害您继续访问IPv6网站。Teredo(Windows计算机的隧道协议)建议将很快发布
更新2 我得出的结论是,我的问题的答案是“不对IPv6使用teredo”。此页面底部包含以下语句:
由于Internet上目前没有Teredo中继,因此与本地IPv6地址的连接不太可能通过Teredo接口成功进行。如果调用WSAConnectByName,则当Teredo是唯一可用的支持IPv6的接口时,Windows Vista将不会发出AAAA查询。这样可以确保不会将本机IPv6地址作为目的地,并确保尝试通过IPv4进行连接的可能性最大。为了在Teredo是唯一支持IPv6的接口时获得IPv6地址,应用程序必须显式使用DnsQuery API进行AAAA记录。
这意味着,当应用程序将主机名解析为IP地址时,如果teredo是唯一可用的IPv6访问权限,则Windows不会发出对IPv6记录(AAAA)的请求,除非该应用程序明确请求了IPv6地址。大多数应用不会执行此操作,因为最佳实践是查询所有类型的地址(例如,通过将AF_UNSPEC传递给getaddrinfo)
我使用来自飓风电气公司的免费服务设置了替代的IPv6隧道访问,现在可以通过IPv6浏览到我的内心内容:-)