前些天电脑突然发现我的电脑不能上IPv4的网站,但是改了hosts的IPv6网站却很正常,看了一下windows7的本地连接,很让我吃惊,IPv4无Internet访问权限,IPv6是Internet,就像下图那样。

这个问题之前从来没有遇到过,实际我是在看Google Reader时发现外链图片都看不见,甚至是白云的外链也看不见,才发现这个问题的,刚开始以为是自己系统的问题,切换到Ubuntu里发现依然如此。
虽然很郁闷,但是还是得上网啊,怎么办呢?
1.DNS
首先要解决的是DNS的问题,虽然我不上了IPv4网站,但是一些我没改hosts的IPv6网站是可以连接上的,不过杯具的是IPv4的DNS我是连接不上的,所以域名解析不了。
我最先想到的IPv6 DNS是那个Twitter反向代理是可以当做DNS用的,在windows7本地连接的IPv6属性里可以改DNS
2607:fcd0:1337:4b::2
这个DNS 可以把Twitter,Facebook等网站解析到反向代理的IP上
其次,我还想起来在Google和各种网站的IPv6服务hosts里提到过一个可以解析Google IPv6地址的DNS服务器
2001:470:20::2
其实我们学校的DNS服务器也是有IPv6地址的,server20.hust.edu.cn,IPv6地址是: 2001:250:4000:2000::53 ,IPv4地址是202.114.0.242,不过这个DNS没有特殊的功能。
2.HOSTS
DNS的问题解决了,但是为了图快,我用的是学校的DNS:2001:250:4000:2000::53,这样的话,六维,晨光是可以解析了,IPTV也可以看了,但是Google的服务是解析不了的,那么就改hosts把,Google和各种网站的IPv6服务hosts
除了Google的hosts之外里面还有一些其他网站的IPv6地址,改完之后是不是发现YouTube可以上了,O(∩_∩)O哈哈~
除了Google之外,想Twitter,Facebook也是有反向代理的,可以参见这个https://docs.google.com/View?id=dgjxsxws_148fvpz6wdg
Twitter的hosts如下
2607:fcd0:1337:4b::2 twitter.com
2607:fcd0:1337:4b::2 m.twitter.com
2607:fcd0:1337:4b::2 www.twitter.com
2607:fcd0:1337:4b::2 api.twitter.com
2607:fcd0:1337:4b::2 search.twitter.com
2607:fcd0:1337:4b::2 a1.twimg.com
2607:fcd0:1337:4b::2 a2.twimg.com
2607:fcd0:1337:4b::2 a3.twimg.com
2607:fcd0:1337:4b::2 a4.twimg.com
3.IPv6->IPv4
Google可以上了,Twitter可以上了,但是国内外众多其他的IPv4地址怎么办呢
我给一些方法参考
给浏览器设置IPv6代理:edu6.zzzcn.info:2012
IPv6在线代理:http://yegle.net/glype/
把GAE的在线代理,Twitter API等改IPv6 hosts: 2404:6800:8005::8d *.appspot.com//*代表app的名字
在一些IPv6免费上的学校很流行用一些中国某些公司的软件软件用IPv6带宽,访问IPv4网站,我虽然没用过,但是我相信速度不怎么样,其实在GAE上的代理也可以这样实现的,比如GAppProxy,去GAppProxy的主页,参照教程自己建一个fetchserver,比如你的fetchsever是 xxx.appspot.com/fetch.py,那么在hosts里添加一行 2404:6800:8005::8d xxx.appspot.com

然后把浏览器设置GAppProxy的的代理127.0.0.1:8000,这样就可以访问IPv4网站了,最新的GAppProxy支持YouTube了,对https也支持的,要相信Google的服务器是非常多的,速度当然不错。
本文对哪些不收取IPv6流量费的学校也是适用的,不过我们学校不是~~~~(>_<)~~~~