1.http://plusium.blogspot.co.uk/2011/09/ipv6-setting-on-windows-7-with.html
中国电信ADSL的环境下配置IPv6.
2.http://plusium.blogspot.co.uk/2011/10/windows-7-tunnelbroker-ipv6.html
windows 7 下使用tunnelbroker 服务配置IPv6
3. http://plusium.blogspot.co.uk/2011/11/ipv6-networking.html
IPv6心法第三层:将一台 Windows 7 电脑配置成 IPv6 路由器
----------------------------------------------------------
在其他平台上轻易开启 Teredo 从而访问 IPv6 资源
×××希望各位公网用户不要再使用高校的isatap通道打开ipv6了,教育网的ipv6带宽很有限,而教育网的ipv4却不能出国,因此教育网ipv6是高校学生们获取我朝以外资源最实惠的途径了!×××
Windows XP(SP1+):
netsh interface ipv6 install
netsh interface ipv6 set teredo client
Windows Vista/7:
netsh int ter set state client
Debian/Ubuntu Linux:
sudo apt-get install miredo
Redhat/Fedora Linux:
su -c 'yum install miredo'
su -c 'service miredo-client start'
如果经过上面的设置还无法连接,请继续往下看:
Windows XP:
netsh interface ipv6 set teredo client <服务器地址>.
(注意有个句点)
Windows Vista/7:
netsh int teredo set state client <服务器地址>.
(注意有个句点)
Linux用户需要修改配置文件并重启服务:
Debian/Ubuntu:
sudo gedit /etc/miredo.conf
Redhat/Fedora:
su -c 'dbus-launch gedit miredo.conf'
注释原来所有的 ServerAddress 段(在前面加上#号),然后增加下面的语句:
ServerAddress <服务器地址>
然后重启miredo服务
su -c 'service miredo-client restart' #Redhat/Fedora
sudo service miredo restart #Debian/Ubuntu
公共Teredo服务器地址列表
* teredo.remlab.net / teredo-debian.remlab.net (法国) (Miredo 默认设置)
* teredo.autotrans.consulintel.com (西班牙)
* teredo.ipv6.microsoft.com (美国 雷蒙德) (Windows XP/2003/Vista/7/2008 系统默认设置)
* teredo.ngix.ne.kr (韩国)
* teredo.managemydedi.com (美国 芝加哥)
如果windows用户经过上面的设置还无法连接,请继续往下看:
Windows XP:
netsh interface ipv6 set teredo enterpriseclient
Windows Vista/7:
netsh int ter set state enterpriseclient
更新: 如果 Windows XP 用户设置了hosts之后仍然无法访问非纯 IPv6 站点, 可以尝试下面的步骤(来自:http://www.5184zikao.com/archives/10693.html)
netsh int ipv6 set prefix ::1/128 50 0
netsh int ipv6 set prefix ::/0 40 1
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix ::/96 20 3
netsh int ipv6 set prefix ::ffff:0:0/96 10 4
netsh int ipv6 set prefix 2001::/32 5 1
打开浏览器,输入网址: ipv6.google.com 并回车,你看到了什么?
参考资料:
http://en.wikipedia.org/wiki/Teredo_tunneling#Teredo_servers
--------------------------------
借助自定义hosts文件指定域名解析IP,可以实现绝大多数的翻墙。至于IPV6是个什么玩意儿,我这里就不多说了,有需要的朋友可以去IPV6之家瞅瞅。其实网上关于如何开启IPV6的文章已经铺天盖地,我这里算是后知后觉,主要是有些朋友问这个问题,我自己也还有一些不太明白的地方,所以拿出来一起讨论。
有人问:我不是教育网用户,普通的ADSL也能上IPV6吗?本文试图回答这个问题。
第一种办法:本地链接,右键属性,“安装”,选择“协议”,选择“Microsoft TCP/IP 版本 6”,确定;
第二种办法:手动,打开命令行窗口,C:>ipv6 install,回车;
第一种:采用isatap隧道,有些学校提供了免费的isatap隧道供公众使用,甚至不需要注册,以下是最常用的四个
第二种方法:访问一下http://ipv6.google.com,能找到服务器的话,说明已启用ipv6;
第三种方法:访问一下http://www.kame.net,看看顶部的乌龟,是活动的则说明已启用IPV6,静止的则是IPV4;
hosts文件没有后缀名,在C:Windowssystem32driveretc目录中,用文本编辑工具比如记事本打开,添加上附录中给出的列表,WIN7用户可以直接覆盖原来文件。
三,也可以从这里下载hosts列表:点击此处
四,如果启用ipv6之后出现localhost或127.0.0.1无法访问的情况,请把hosts文件最前面的这两行
-----------------------------------------------
NOTE: 如需引用文中IP地址,请尽量使用贴图!
1. Windows XP
由于在XP下,IPv6默认是被禁用的,因此需要手动安装。
1.1 打开命令行窗口,输入如下指令进入netsh命令交互模式:
netsh -c interface
1.2 安装IPv6协议
在 netsh interface> 命令提示模式下依次输入以下指令:
ipv6
install
commit
完成后应如下图所示:
1.3 配置IPv6 Teredo
按下图所示,输入IPv6 Teredo设置指令:
完成后输入:
commit
exit
提交更改并退出netsh
1.4 在Hosts文件中添加支持IPv6网站的地址映射表
请将本文末Hosts File的内容粘贴追加至"%systemroot%\system32\drivers\etc\hosts"文件尾,然后保存之。
2. Windows 7/Vista
在7/Vista下,IPv6是默认允许的,因此无需安装IPv6和配置IPv6 Teredo,只需要执行1.4 在Hosts文件中添加支持IPv6网站的地址映射表。
3. Ubuntu
测试环境使用的Ubuntu是最新的10.04桌面版。
3.1 安装miredo
请在Terminal中,执行如下指令:
sudo apt-get install miredo
3.2 修改防火墙IPv6设置
以root权限打开ufw的配置文件: "/etc/default/ufw",找到"IPV6=no"这一行,将其改为"IPV6=yes"。
3.3 修改Hosts文件
请将本文末Hosts File的内容粘贴追加 至"/etc/hosts"文件尾,然后保存之。
3.4 重启网络
sudo invoke-rc.d networking restart
4. 测试及故障排除
4.1 使用Ping命令测试
在Windows下使用ping -6 ipv6.google.com
在Ubuntu下使用需要使用ping6指令,可以在Terminal中输入:
ping6 -c 3 twitter.com
4.2 出现完全ping不通的情况
首先,请检查防火墙是否允许IPv6 Teredo,在Windows下,默认是允许IPv6 Teredo 的,而在Ubuntu 10.04下,防火墙是默认禁用IPv6 Teredo的,因此会出现执行ping6指令错误的情况()。
其次,请按以下相应图示调整Teredo服务器地址
在Windows下,请按下图所示操作:
在Ubuntu下,请执行以root权限打开miredo的配置"/etc/miredo/miredo.conf",调整"ServerAddress"为合适的Teredo服务器地址:
4.3 Hosts文件
本文末的 Hosts File 只是本人使用的一个精简版本(来源于这里),目前支持Dropbox,Twitter, Google Docs/Reader/Photos/YouTube ; 如有需要请自行调整。
4.4 访问Twitter的Firefox截图
Hosts File (如果在你的Hosts文件中没有"::1 localhost"这一行,请添加之):
## ipv4 hosts:
174.36.30.71 www.dropbox.com
## ipv6 hosts:
# testing ipv6 hosts
2404:6800:8001::68 ipv6.google.com
## ipv6.arpa domain: 2001:4860:8006::*
# google url shortener
2001:4860:8006::62 goo.gl
# twitter
2607:fcd0:1337:4b::6 twitter.com
2607:fcd0:1337:4b::2 search.twitter.com
2607:fcd0:1337:4b::2 api.twitter.com
2607:fcd0:1337:4b::2 www.twitter.com
2607:fcd0:1337:4b::2 m.twitter.com
# google docs hosts
2001:4860:8006::64 docs.google.com
2001:4860:8006::64 writely.l.google.com
2001:4860:8006::62 spreadsheet.google.com
2001:4860:8006::62 spreadsheets.google.com
2001:4860:8006::62 spreadsheets.l.google.com
2001:4860:8006::62 writely.google.com
2001:4860:8006::62 writely.l.google.com
2001:4860:8006::62 writely-com.l.google.com
2001:4860:8006::62 writely-china.l.google.com
# google reader
2001:4860:8006::62 reader.google.com
# google blogspot
2001:4860:8006::62 www.blogspot.com
2001:4860:8006::62 www.blogger.com
2001:4860:8006::62 blogsofnote.blogspot.com
2001:4860:8006::62 knownissues.blogspot.com
2001:4860:8006::62 1.bp.blogspot.com
2001:4860:8006::62 2.bp.blogspot.com
2001:4860:8006::62 3.bp.blogspot.com
2001:4860:8006::62 4.bp.blogspot.com
2001:4860:8006::62 googleblog.blogspot.com
2001:4860:8006::62 googleappengine.blogspot.com
2001:4860:8006::62 cholyjoe.blogspot.com
# google earth
2001:4860:8006::62 earth.google.com
--------------------------------------------------------
描述了如何通过Hurricane Electric提供的免费IPV6隧道,连接到IPV6网络的方法。
IPV6 是新一代网络技术,提供 2128的超大地址空间,换算成十进制就是 3.4×1038。相当于地球上每平方米有 6.7×1023个地址(对比一下,阿佛加德罗常数是 6.02×1023,是一升气体所含的分子数)。和 IPV4 相似,IPV6 地址也会有所浪费,但即使最保守的估计,每平方米也有 1600 个地址。在可以预见的将来,完全能满足人类的需求。
主流的操作系统的最新版本,例如 Linux、Windows、FreeBSD、OpenBSD、NetBSD、Solaris、Aix,以及 Cisco、Juniper 和华为等公司生产的路由器,目前都已经能够支持 IPV6 了。
IPV6 和 IPV4 最明显的区别,当然就在于地址的长度不同。IPV4 中 IP 地址的长度是 32 位,有 232 -1 个地址,IPV4 的地址长度为 128 位,有 2128 -1 个地址。
IPV6地址的表示方法
一个IPV6地址有16字节,共128位。把这个地址分为8个组,每个组由4个16进制无符号整数组成,用冒号分隔,不区分大小写,例如:
fe80:0000:0000:0000:020d:61ff:fe9b:1234
每个组中的16进制数如果是以零开头,则可以省略开头的零。这样,上述地址亦可表示为:
fe80:0:0:0:20d:61ff:fe9b:1234
如果一个组或连续的几个组的内容都是零,可以用双冒号代替。上述地址可继续简写为:
fe80::20d:61ff:fe9b:1234
明显地,双冒号只能出现一次,否则无法得知双冒号代表的是多少个零。例如:
2001:1234:0000:0000:ABCD:0000:0000:5678
可简写为
2001:1234::ABCD:0:0:5678
或
2001:1234:0:0:ABCD::5678
上面的两种简写都是合法和正确的。
和IPV4相似,IPV6中也定义了一些特殊地址。例如:
::/1
代表回环地址,大致相当于IPV4中的127.0.0.1。
隧道技术简介
IPV6目前还在实验阶段,没有走入寻常百姓家,但我们隐约已经可以听到IPV6的脚步声了。例如世界上最大的IPV6实验网–教育网CERNET2已经全面建成,清华大学的很多学生宿舍已经可以使用IPV6地址了。
虽然如此,但中国大陆的多数ISP还不支持直接的IPV6接入,普通网民如果想体验IPV6,需要使用隧道技术。
隧道,是一种在IPV4升级到IPV6期间的过渡技术。可以将IPV6数据包进行封装,通过现有的IPV4网络进行传输,并利用隧道代理接入IPV6网络。目前在国内外有不少研究机构和商业公司提供可以免费使用IPV6隧道代理,常见的有:
1. 上海交通大学(http://ipv6.sjtu.edu.cn/news/041231.php),无需申请,可以直接使用。
2. 泰国的NECTEC(http://tb.ipv6.nectec.or.th/tb/index.php ),免费申请,立即生效。
3. Hurricane Electric ( http://tunnelbroker.net/tunnel_detail.php ),以下简称HENET,免费申请,申请24小时后生效。
不论使用哪一个隧道,都需要有一个真实的外部IP地址才可以,下面以HENET为例,介绍一下在Linux下建立和使用隧道访问IPV6网络的方法。
首先在HENET的网页上注册并申请一条隧道,注意申请的时候您的IPV4地址必须能被HENET所”ping”到。等待24小时后,就可以看到自己隧道的详情了。例如笔者隧道的详细情况如下:
表 1. 隧道两端的地址
服务器IPV4地址 64.71.128.83
服务器IPV6地址 2001:470:1F03:EE1::1/64
笔者的IPv4地址 125.96.98.198
笔者的IPV6地址 2001:470:1F03:EE1::2/64
如果您的IPV4地址发生了变化,则在HENET网站上重新建立隧道即可。网页中点击”Example Configs”链接,即可看到相对应的配置命令,HENET提供了Linux、FreeBSD、Windows、Solaris等操作系统下对应的命令。
笔者的使用Fedora Core 5 Linux,默认就支持IPV6,建立上述隧道的命令是:
#ifconfig sit0 up
#ifconfig sit0 inet6 tunnel ::64.71.128.83
#ifconfig sit1 up
#ifconfig sit1 inet6 add 2001:470:1F03:EE1::2/64
#route -A inet6 add ::/0 dev sit1
首先启用sit0隧道接口,隧道另一端的地址是HENET的64.71.128.83。然后启用sit1隧道接口,并且设置本身的隧道接口。最后一个命令设定系统访问所有IPV6地址时,都从sit1接口出去。
上述命令需要以root用户的身份执行,执行完毕后立即生效。这时就尝试访问IPV6网络了。但重新启动系统后,上述隧道的配置配置全部会丢失。如果想使得隧道的配置总是能够在开机后自动生效,则可手工建立下列两个文件,其内容如下:
#cat /etc/sysconfig/static-routes-ipv6
sit1 ::/0
#cat /etc/sysconfig/network-scripts/ifcfg-sit1
DEVICE=sit1
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=64.71.128.83
IPV6ADDR=2001:470:1F03:EE1::2/64
另外在/etc/sysconfig/network 文件中添加一行如下:
NETWORKING_IPV6=yes
感受IPV6
Linux下的多数网络工具都可以支持IPV6,例如Firefox浏览器。Firefox在访问一个网站时,如果同时解析到IPV4和IPV6地址时,在系统支持IPV6的情况下,会优先使用IPV6地址。您可以尝试访问下列地址:
1. http://www.kame.net/,如果你使用IPV4地址去访问,可以看到一个静止海龟,一旦你使用IPV6地址,则这个海龟会动。
2. http://www.deepspace6.net/,网页下方会显示你的IPV4或IPV6地址。
3. http://ipv6.sjtu.edu.cn/ ,上海交大的IPV6首页,会在页面的右上方显示您的IPV6或IPV4地址。
4. http//mirrors.bieringer.de/Linux+IPv6-HOWTO/,Linux下的IPV6 Howto文档,页面下方会显示您的IPV4或IPV6地址。
其他可用的网络工具还有host、dig、ping6、tcpdump、links、lynx、traceroute6等命令,其中前两个命令无需操作系统支持IPV6,亦可使用。
支持IPV6的Linux系统上,host命令在查询域名地址的时候,会同时返回IPV4和IPV6地址。
$host www.deepspace6.net
www.deepspace6.net has address 192.167.219.83
www.deepspace6.net has IPv6 address 2001:760:2e01:1::dead:beef
$
如果只想看IPV6地址,则使用命令:
$host -t AAAA www.deepspace6.net
www.deepspace6.net has IPv6 address 2001:760:2e01:1::dead:beef
$
这是由于在支持IPV6的DNS服务器中,用AAAA记录(简称4A,Quad-A)代替了原来的A记录。相似的,dig命令也可以使用”-t AAAA” 参数。
ping6命令用来在IPV6环境下取代原有的ping命令。
$ping6 -c 4 www.6bone.net
PING www.6bone.net(classical.hexago.com) 56 data bytes
64 bytes from classical.hexago.com: icmp_seq=0 ttl=57 time=673 ms
64 bytes from classical.hexago.com: icmp_seq=1 ttl=57 time=668 ms
64 bytes from classical.hexago.com: icmp_seq=2 ttl=57 time=672 ms
64 bytes from classical.hexago.com: icmp_seq=3 ttl=57 time=743 ms
— www.6bone.net ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 668.738/689.558/743.326/31.104 ms, pipe 2
$
traceroute6命令就是IPV6环境下的traceroute。可以跟踪当前的IPV6路由信息。
$traceroute6 www.6bone.net
traceroute to www.6bone.net (2001:5c0:0:2::24), 30 hops max, 40 byte packets
1 2001:470:1f03:ee1::1 (2001:470:1f03:ee1::1) 297.786 ms 300.323 ms 301.071 ms
2 2001:470:1fff:2::26 (2001:470:1fff:2::26) 304.122 ms 305.512 ms 315.105 ms
3 2001:470:0:9::2 (2001:470:0:9::2) 317.708 ms 319.274 ms 319.999 ms
4 paix6.ttnet.ad.jp (2001:504:d::e) 322.116 ms 322.795 ms 323.521 ms
5 2001:2a0:3:7::6175 (2001:2a0:3:7::6175) 557.583 ms 558.293 ms 558.981 ms
6 sl-bb1v6-nyc-t-11.sprintv6.net (2001:440:1239::1) 666.972 ms 655.402 ms 669.479 ms
7 2001:440:eeee:ffca::2 (2001:440:eeee:ffca::2) 676.343 ms 664.283 ms 670.184 ms
8 classical.hexago.com (2001:5c0:0:2::24) 671.037 ms 676.618 ms 677.437 ms
$
首先去https://www.tunnelbroker.net/申请一个64位的IPV6地址块,并记下
Server IPv4 Address
Server IPv6 Address
Client IPv4 Address
Client IPv6 Address
然后你要有一个能刷tomato的路由器,并刷上相应的Tomato Toastman版. 我用的中兴h618b对应的版本是Tomato Firmware v1.28.7820 MIPSR1-Toastman K26 USB VPN.
login到router,进入basic->ipv6菜单.
IPv6 Service Type 选择 6in4 Static Tunnel
Assigned / Routed Prefix 填写要分配给接入机器的ipv6前缀,比如你申请到的是类x.x.x.x::1的地址,这儿填写x.x.x.x::
Prefix Length填64
Router IPv6 Address选择Default,会自动填写成he.net分配的Server IPv6 Address,不然选择Manual手工填写成Server IPv6 Address.
Enable Router Advertisements勾上,
Tunnel Remote Endpoint (IPv4 Address)填写he.net分配的Server IPv4 Address,
Tunnel Client IPv6 Address填写he.net分配的Client IPv6 Address,64位长.
如果你好运气路由器是固定的IPV4地址,那么设置这些就ok了.保存后radvd会自动启动用于分配ipv6地址.
如果是pppoe之类拿的动态IP地址,那么这时候he.net上显示的Client IPv4 Address则会和你现在路由器地址不符. 这个时候所说的”完美”支持就表示出来了.
进入basic->ddns菜单,看,下拉列表里有个”HE.net IPv6 Tunnel Broker”,贴心吧.帐号填写完后保存,这样地址改动后,会自动update he.net上的Client IPv4 Address数据.
之后路由器给接入的机器分配IPv4地址时,会自动也分配一个IPv6地址. 这样router后面带的所有机器,都能实现IPV6接入了.
中国电信ADSL的环境下配置IPv6.
2.http://plusium.blogspot.co.uk/2011/10/windows-7-tunnelbroker-ipv6.html
windows 7 下使用tunnelbroker 服务配置IPv6
3. http://plusium.blogspot.co.uk/2011/11/ipv6-networking.html
IPv6心法第三层:将一台 Windows 7 电脑配置成 IPv6 路由器
----------------------------------------------------------
在其他平台上轻易开启 Teredo 从而访问 IPv6 资源
×××希望各位公网用户不要再使用高校的isatap通道打开ipv6了,教育网的ipv6带宽很有限,而教育网的ipv4却不能出国,因此教育网ipv6是高校学生们获取我朝以外资源最实惠的途径了!×××
Windows XP(SP1+):
netsh interface ipv6 install
netsh interface ipv6 set teredo client
Windows Vista/7:
netsh int ter set state client
Debian/Ubuntu Linux:
sudo apt-get install miredo
Redhat/Fedora Linux:
su -c 'yum install miredo'
su -c 'service miredo-client start'
如果经过上面的设置还无法连接,请继续往下看:
Windows XP:
netsh interface ipv6 set teredo client <服务器地址>.
(注意有个句点)
Windows Vista/7:
netsh int teredo set state client <服务器地址>.
(注意有个句点)
Linux用户需要修改配置文件并重启服务:
Debian/Ubuntu:
sudo gedit /etc/miredo.conf
Redhat/Fedora:
su -c 'dbus-launch gedit miredo.conf'
注释原来所有的 ServerAddress 段(在前面加上#号),然后增加下面的语句:
ServerAddress <服务器地址>
然后重启miredo服务
su -c 'service miredo-client restart' #Redhat/Fedora
sudo service miredo restart #Debian/Ubuntu
公共Teredo服务器地址列表
* teredo.remlab.net / teredo-debian.remlab.net (法国) (Miredo 默认设置)
* teredo.autotrans.consulintel.com (西班牙)
* teredo.ipv6.microsoft.com (美国 雷蒙德) (Windows XP/2003/Vista/7/2008 系统默认设置)
* teredo.ngix.ne.kr (韩国)
* teredo.managemydedi.com (美国 芝加哥)
如果windows用户经过上面的设置还无法连接,请继续往下看:
Windows XP:
netsh interface ipv6 set teredo enterpriseclient
Windows Vista/7:
netsh int ter set state enterpriseclient
更新: 如果 Windows XP 用户设置了hosts之后仍然无法访问非纯 IPv6 站点, 可以尝试下面的步骤(来自:http://www.5184zikao.com/archives/10693.html)
netsh int ipv6 set prefix ::1/128 50 0
netsh int ipv6 set prefix ::/0 40 1
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix ::/96 20 3
netsh int ipv6 set prefix ::ffff:0:0/96 10 4
netsh int ipv6 set prefix 2001::/32 5 1
打开浏览器,输入网址: ipv6.google.com 并回车,你看到了什么?
参考资料:
http://en.wikipedia.org/wiki/Teredo_tunneling#Teredo_servers
--------------------------------
借道ISATAP访问IPV6
借助自定义hosts文件指定域名解析IP,可以实现绝大多数的翻墙。至于IPV6是个什么玩意儿,我这里就不多说了,有需要的朋友可以去IPV6之家瞅瞅。其实网上关于如何开启IPV6的文章已经铺天盖地,我这里算是后知后觉,主要是有些朋友问这个问题,我自己也还有一些不太明白的地方,所以拿出来一起讨论。
有人问:我不是教育网用户,普通的ADSL也能上IPV6吗?本文试图回答这个问题。
如何安装IPV6
Vista和Win7默认已经安装了ipv6协议,所以无需再次安装。在XP和win2003下,第一种办法:本地链接,右键属性,“安装”,选择“协议”,选择“Microsoft TCP/IP 版本 6”,确定;
第二种办法:手动,打开命令行窗口,C:>ipv6 install,回车;
注意:如出现Failed to complete the action,Error 0×800704b8错误,可先键入如下命令,回车。然后再运行ipv6 install。感谢ipv6bbs的管理员提供解决方案;
如何启用IPV6
上面所言,只是安装了IPV6协议,而不是已经完成了IPV6的配置,能浏览IPV6网站了——当然,如果你是校园网用户,并且所在学校已经开通了IPV6,另当别论——对普通ADSL用户来说,目前常用的使用ipv6的办法有两个。第一种:采用isatap隧道,有些学校提供了免费的isatap隧道供公众使用,甚至不需要注册,以下是最常用的四个
isatap.tsinghua.edu.cn(清华大学的)启用:打开命令行窗口(如果是Vista/Win7用户,需要到 开始菜单→附件→命令行窗口→右键以“管理员权限运行”),手动设置isatap隧道,比如添加上海交大的免费隧道:
isatap.shu.edu.cn (上大的)
isatap.hust.edu.cn(华中科大的)
isatap.sjtu.edu.cn (上交的)
C:UsersAdministrator>netsh一共就输入三条命令(上文>之后的),每输入一条回车确认,如下图:
netsh>int ipv6 isatap
netsh interface ipv6 isatap>set router isatap.sjtu.edu.cn enable
测试IPV6配置是否已成功
第一种方法:如上图的命令行窗口中,先输入exit退出netsh配置,然后键入ipconfig /all,回车。在得到的结果中,查看一下有没有形如2002:77a6:6eba::77a6:6eba这样的东东,比如2001或2002,有的话基本确定已成功;第二种方法:访问一下http://ipv6.google.com,能找到服务器的话,说明已启用ipv6;
第三种方法:访问一下http://www.kame.net,看看顶部的乌龟,是活动的则说明已启用IPV6,静止的则是IPV4;
配置使用IPV6翻墙,访问某些被GFW的网站
需要在系统的hosts文件中添加一些网址的IPV6地址,附录中给出一份建议的IPV6 hosts列表。hosts文件没有后缀名,在C:Windowssystem32driveretc目录中,用文本编辑工具比如记事本打开,添加上附录中给出的列表,WIN7用户可以直接覆盖原来文件。
附录
一,有些具体环境可能采用isatap无法使用ipv6,可以尝试采用6to4:C:Documents and SettingsAdministrator>netsh二,这里有一份hosts列表并在持续更新中:点击此处
netsh>int
netsh interface>ipv6
netsh interface>ipv6>install
netsh interface ipv6>6to4
netsh interface ipv6 6to4>set relay 202.112.26.246 enable
三,也可以从这里下载hosts列表:点击此处
四,如果启用ipv6之后出现localhost或127.0.0.1无法访问的情况,请把hosts文件最前面的这两行
127.0.0.1 localhost做如下修改
::1 localhost
127.0.0.1 localhost localhost4
::1 localhost4 localhost6
-----------------------------------------------
ubuntu下ipv6设置
ubuntu默认支持ipv6,只需配置地址即可。
vi /etc/network/interface
加入
iface lo inet6 loopback
iface eth0 inet6 static
address 1:2:3::4
netmask 64
加入
iface lo inet6 loopback
iface eth0 inet6 static
address 1:2:3::4
netmask 64
重启
/etc/init.d/networking restart
/etc/init.d/networking restart
测试
ping6 1:2:3::1
ping6 1:2:3::1
如果有跑apache,apache2指定了监听的ip要去修改,/etc/apache2/ports.conf 的Listen参数。
重启,必须
apache2 restart
而不是简单reload,否则监听端口无法生效
重启,必须
apache2 restart
而不是简单reload,否则监听端口无法生效
测试
netstat -tulpn | grep :80
必须有tcp6输出
netstat -tulpn | grep :80
必须有tcp6输出
telnet -6 1:2:3::4 80
如果无法访问,看看是否有ufw防火墙,有的话去修改使得ufw支持ipv6。
vi /etc/default/ufw enable
ipv6=yes
如果无法访问,看看是否有ufw防火墙,有的话去修改使得ufw支持ipv6。
vi /etc/default/ufw enable
ipv6=yes
原先添加的规则只是针对ipv4,需要重新删除再添加一次,最后重启
/etc/init.d/ufw reload
使用telnet测试.
/etc/init.d/ufw reload
使用telnet测试.
--------------------------------
ipv6 over the wall
本文将介绍如何在Windows XP,Windows 7/Vista
及Ubuntu下使用IPv6到达自由空间。网上一些介绍利用IPv6翻墙的文章,大多数都是采用了不合适或者是错误的技术,本文试图做一个补充,文中介
绍的技术相对更简单有效,大家尝试后再给予评论吧。NOTE: 如需引用文中IP地址,请尽量使用贴图!
1. Windows XP
由于在XP下,IPv6默认是被禁用的,因此需要手动安装。
1.1 打开命令行窗口,输入如下指令进入netsh命令交互模式:
netsh -c interface
1.2 安装IPv6协议
在 netsh interface> 命令提示模式下依次输入以下指令:
ipv6
install
commit
完成后应如下图所示:
1.3 配置IPv6 Teredo
按下图所示,输入IPv6 Teredo设置指令:
完成后输入:
commit
exit
提交更改并退出netsh
1.4 在Hosts文件中添加支持IPv6网站的地址映射表
请将本文末Hosts File的内容粘贴追加至"%systemroot%\system32\drivers\etc\hosts"文件尾,然后保存之。
2. Windows 7/Vista
在7/Vista下,IPv6是默认允许的,因此无需安装IPv6和配置IPv6 Teredo,只需要执行1.4 在Hosts文件中添加支持IPv6网站的地址映射表。
3. Ubuntu
测试环境使用的Ubuntu是最新的10.04桌面版。
3.1 安装miredo
请在Terminal中,执行如下指令:
sudo apt-get install miredo
3.2 修改防火墙IPv6设置
以root权限打开ufw的配置文件: "/etc/default/ufw",找到"IPV6=no"这一行,将其改为"IPV6=yes"。
3.3 修改Hosts文件
请将本文末Hosts File的内容粘贴追加 至"/etc/hosts"文件尾,然后保存之。
3.4 重启网络
sudo invoke-rc.d networking restart
4. 测试及故障排除
4.1 使用Ping命令测试
在Windows下使用ping -6 ipv6.google.com
在Ubuntu下使用需要使用ping6指令,可以在Terminal中输入:
ping6 -c 3 twitter.com
4.2 出现完全ping不通的情况
首先,请检查防火墙是否允许IPv6 Teredo,在Windows下,默认是允许IPv6 Teredo 的,而在Ubuntu 10.04下,防火墙是默认禁用IPv6 Teredo的,因此会出现执行ping6指令错误的情况()。
其次,请按以下相应图示调整Teredo服务器地址
在Windows下,请按下图所示操作:
在Ubuntu下,请执行以root权限打开miredo的配置"/etc/miredo/miredo.conf",调整"ServerAddress"为合适的Teredo服务器地址:
4.3 Hosts文件
本文末的 Hosts File 只是本人使用的一个精简版本(来源于这里),目前支持Dropbox,Twitter, Google Docs/Reader/Photos/YouTube ; 如有需要请自行调整。
4.4 访问Twitter的Firefox截图
Hosts File (如果在你的Hosts文件中没有"::1 localhost"这一行,请添加之):
## ipv4 hosts:
174.36.30.71 www.dropbox.com
## ipv6 hosts:
# testing ipv6 hosts
2404:6800:8001::68 ipv6.google.com
## ipv6.arpa domain: 2001:4860:8006::*
# google url shortener
2001:4860:8006::62 goo.gl
2607:fcd0:1337:4b::6 twitter.com
2607:fcd0:1337:4b::2 search.twitter.com
2607:fcd0:1337:4b::2 api.twitter.com
2607:fcd0:1337:4b::2 www.twitter.com
2607:fcd0:1337:4b::2 m.twitter.com
# google docs hosts
2001:4860:8006::64 docs.google.com
2001:4860:8006::64 writely.l.google.com
2001:4860:8006::62 spreadsheet.google.com
2001:4860:8006::62 spreadsheets.google.com
2001:4860:8006::62 spreadsheets.l.google.com
2001:4860:8006::62 writely.google.com
2001:4860:8006::62 writely.l.google.com
2001:4860:8006::62 writely-com.l.google.com
2001:4860:8006::62 writely-china.l.google.com
# google reader
2001:4860:8006::62 reader.google.com
# google blogspot
2001:4860:8006::62 www.blogspot.com
2001:4860:8006::62 www.blogger.com
2001:4860:8006::62 blogsofnote.blogspot.com
2001:4860:8006::62 knownissues.blogspot.com
2001:4860:8006::62 1.bp.blogspot.com
2001:4860:8006::62 2.bp.blogspot.com
2001:4860:8006::62 3.bp.blogspot.com
2001:4860:8006::62 4.bp.blogspot.com
2001:4860:8006::62 googleblog.blogspot.com
2001:4860:8006::62 googleappengine.blogspot.com
2001:4860:8006::62 cholyjoe.blogspot.com
# google earth
2001:4860:8006::62 earth.google.com
--------------------------------------------------------
利用隧道感受IPV6
描述了如何通过Hurricane Electric提供的免费IPV6隧道,连接到IPV6网络的方法。
IPV6 是新一代网络技术,提供 2128的超大地址空间,换算成十进制就是 3.4×1038。相当于地球上每平方米有 6.7×1023个地址(对比一下,阿佛加德罗常数是 6.02×1023,是一升气体所含的分子数)。和 IPV4 相似,IPV6 地址也会有所浪费,但即使最保守的估计,每平方米也有 1600 个地址。在可以预见的将来,完全能满足人类的需求。
主流的操作系统的最新版本,例如 Linux、Windows、FreeBSD、OpenBSD、NetBSD、Solaris、Aix,以及 Cisco、Juniper 和华为等公司生产的路由器,目前都已经能够支持 IPV6 了。
IPV6 和 IPV4 最明显的区别,当然就在于地址的长度不同。IPV4 中 IP 地址的长度是 32 位,有 232 -1 个地址,IPV4 的地址长度为 128 位,有 2128 -1 个地址。
IPV6地址的表示方法
一个IPV6地址有16字节,共128位。把这个地址分为8个组,每个组由4个16进制无符号整数组成,用冒号分隔,不区分大小写,例如:
fe80:0000:0000:0000:020d:61ff:fe9b:1234
每个组中的16进制数如果是以零开头,则可以省略开头的零。这样,上述地址亦可表示为:
fe80:0:0:0:20d:61ff:fe9b:1234
如果一个组或连续的几个组的内容都是零,可以用双冒号代替。上述地址可继续简写为:
fe80::20d:61ff:fe9b:1234
明显地,双冒号只能出现一次,否则无法得知双冒号代表的是多少个零。例如:
2001:1234:0000:0000:ABCD:0000:0000:5678
可简写为
2001:1234::ABCD:0:0:5678
或
2001:1234:0:0:ABCD::5678
上面的两种简写都是合法和正确的。
和IPV4相似,IPV6中也定义了一些特殊地址。例如:
::/1
代表回环地址,大致相当于IPV4中的127.0.0.1。
隧道技术简介
IPV6目前还在实验阶段,没有走入寻常百姓家,但我们隐约已经可以听到IPV6的脚步声了。例如世界上最大的IPV6实验网–教育网CERNET2已经全面建成,清华大学的很多学生宿舍已经可以使用IPV6地址了。
虽然如此,但中国大陆的多数ISP还不支持直接的IPV6接入,普通网民如果想体验IPV6,需要使用隧道技术。
隧道,是一种在IPV4升级到IPV6期间的过渡技术。可以将IPV6数据包进行封装,通过现有的IPV4网络进行传输,并利用隧道代理接入IPV6网络。目前在国内外有不少研究机构和商业公司提供可以免费使用IPV6隧道代理,常见的有:
1. 上海交通大学(http://ipv6.sjtu.edu.cn/news/041231.php),无需申请,可以直接使用。
2. 泰国的NECTEC(http://tb.ipv6.nectec.or.th/tb/index.php ),免费申请,立即生效。
3. Hurricane Electric ( http://tunnelbroker.net/tunnel_detail.php ),以下简称HENET,免费申请,申请24小时后生效。
不论使用哪一个隧道,都需要有一个真实的外部IP地址才可以,下面以HENET为例,介绍一下在Linux下建立和使用隧道访问IPV6网络的方法。
首先在HENET的网页上注册并申请一条隧道,注意申请的时候您的IPV4地址必须能被HENET所”ping”到。等待24小时后,就可以看到自己隧道的详情了。例如笔者隧道的详细情况如下:
表 1. 隧道两端的地址
服务器IPV4地址 64.71.128.83
服务器IPV6地址 2001:470:1F03:EE1::1/64
笔者的IPv4地址 125.96.98.198
笔者的IPV6地址 2001:470:1F03:EE1::2/64
如果您的IPV4地址发生了变化,则在HENET网站上重新建立隧道即可。网页中点击”Example Configs”链接,即可看到相对应的配置命令,HENET提供了Linux、FreeBSD、Windows、Solaris等操作系统下对应的命令。
笔者的使用Fedora Core 5 Linux,默认就支持IPV6,建立上述隧道的命令是:
#ifconfig sit0 up
#ifconfig sit0 inet6 tunnel ::64.71.128.83
#ifconfig sit1 up
#ifconfig sit1 inet6 add 2001:470:1F03:EE1::2/64
#route -A inet6 add ::/0 dev sit1
首先启用sit0隧道接口,隧道另一端的地址是HENET的64.71.128.83。然后启用sit1隧道接口,并且设置本身的隧道接口。最后一个命令设定系统访问所有IPV6地址时,都从sit1接口出去。
上述命令需要以root用户的身份执行,执行完毕后立即生效。这时就尝试访问IPV6网络了。但重新启动系统后,上述隧道的配置配置全部会丢失。如果想使得隧道的配置总是能够在开机后自动生效,则可手工建立下列两个文件,其内容如下:
#cat /etc/sysconfig/static-routes-ipv6
sit1 ::/0
#cat /etc/sysconfig/network-scripts/ifcfg-sit1
DEVICE=sit1
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4=64.71.128.83
IPV6ADDR=2001:470:1F03:EE1::2/64
另外在/etc/sysconfig/network 文件中添加一行如下:
NETWORKING_IPV6=yes
感受IPV6
Linux下的多数网络工具都可以支持IPV6,例如Firefox浏览器。Firefox在访问一个网站时,如果同时解析到IPV4和IPV6地址时,在系统支持IPV6的情况下,会优先使用IPV6地址。您可以尝试访问下列地址:
1. http://www.kame.net/,如果你使用IPV4地址去访问,可以看到一个静止海龟,一旦你使用IPV6地址,则这个海龟会动。
2. http://www.deepspace6.net/,网页下方会显示你的IPV4或IPV6地址。
3. http://ipv6.sjtu.edu.cn/ ,上海交大的IPV6首页,会在页面的右上方显示您的IPV6或IPV4地址。
4. http//mirrors.bieringer.de/Linux+IPv6-HOWTO/,Linux下的IPV6 Howto文档,页面下方会显示您的IPV4或IPV6地址。
其他可用的网络工具还有host、dig、ping6、tcpdump、links、lynx、traceroute6等命令,其中前两个命令无需操作系统支持IPV6,亦可使用。
支持IPV6的Linux系统上,host命令在查询域名地址的时候,会同时返回IPV4和IPV6地址。
$host www.deepspace6.net
www.deepspace6.net has address 192.167.219.83
www.deepspace6.net has IPv6 address 2001:760:2e01:1::dead:beef
$
如果只想看IPV6地址,则使用命令:
$host -t AAAA www.deepspace6.net
www.deepspace6.net has IPv6 address 2001:760:2e01:1::dead:beef
$
这是由于在支持IPV6的DNS服务器中,用AAAA记录(简称4A,Quad-A)代替了原来的A记录。相似的,dig命令也可以使用”-t AAAA” 参数。
ping6命令用来在IPV6环境下取代原有的ping命令。
$ping6 -c 4 www.6bone.net
PING www.6bone.net(classical.hexago.com) 56 data bytes
64 bytes from classical.hexago.com: icmp_seq=0 ttl=57 time=673 ms
64 bytes from classical.hexago.com: icmp_seq=1 ttl=57 time=668 ms
64 bytes from classical.hexago.com: icmp_seq=2 ttl=57 time=672 ms
64 bytes from classical.hexago.com: icmp_seq=3 ttl=57 time=743 ms
— www.6bone.net ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 668.738/689.558/743.326/31.104 ms, pipe 2
$
traceroute6命令就是IPV6环境下的traceroute。可以跟踪当前的IPV6路由信息。
$traceroute6 www.6bone.net
traceroute to www.6bone.net (2001:5c0:0:2::24), 30 hops max, 40 byte packets
1 2001:470:1f03:ee1::1 (2001:470:1f03:ee1::1) 297.786 ms 300.323 ms 301.071 ms
2 2001:470:1fff:2::26 (2001:470:1fff:2::26) 304.122 ms 305.512 ms 315.105 ms
3 2001:470:0:9::2 (2001:470:0:9::2) 317.708 ms 319.274 ms 319.999 ms
4 paix6.ttnet.ad.jp (2001:504:d::e) 322.116 ms 322.795 ms 323.521 ms
5 2001:2a0:3:7::6175 (2001:2a0:3:7::6175) 557.583 ms 558.293 ms 558.981 ms
6 sl-bb1v6-nyc-t-11.sprintv6.net (2001:440:1239::1) 666.972 ms 655.402 ms 669.479 ms
7 2001:440:eeee:ffca::2 (2001:440:eeee:ffca::2) 676.343 ms 664.283 ms 670.184 ms
8 classical.hexago.com (2001:5c0:0:2::24) 671.037 ms 676.618 ms 677.437 ms
$
-------------------------------------------
he.net的TunnelBroker
1、环境:
(*) Linux
(*) 静态 IPv4 全球可路由地址一枚
(*) 静态 IPv4 全球可路由地址一枚
2、介绍:
全球 IPv4 地址几近枯竭,必须及时部署 IPv6。由于 v6 的普及程度仍然很低,所以通常 v4 和 v6 是共存的,这叫做 dual stack,双协议栈。v6 的孤岛想要和 v4 的世界连通,可以用 tunnel 实现过渡。
Tunnel 的本质是将 IPv6 packets 封装在 IPv4 内,用的是第 41 号协议,所以通常 IPv6-in-IPv4 tunnel 也被称做 protocol-41。
Hurricane Electric
是北美的电信骨干运营商,具备充足的 IP 地址和带宽资源。为了加快 IPv6 推广的进程,HE 提供了免费隧道,让 IPv4 的世界与 IPv6
连通。不要担心,HE 作为互联网骨干,提供的带宽一定能满足你的需求。各位也许听说过 FreeBSD China,这个网站也是可以用 IPv6
访问的,地址是 2001:470:1f03:2f7::2。只要本机器配置好了 IPv6,就可以用 IPv6 协议访问它。
3、步骤:
(*) 申请 tunnel broker 账号,地址:http://tunnelbroker.net/
(*) 登录,点击面板左面的 Create Regular Tunnel,输入你的 IPv4 地址。可以选择一个比较快的服务器,也可以采用默认设置。
(*) 查看刚才创建的 tunnel,留意 Client IPv6 address、Server IPv6 address 和 Server IPv4 address。
(*) 打开终端,输入:
(*) 登录,点击面板左面的 Create Regular Tunnel,输入你的 IPv4 地址。可以选择一个比较快的服务器,也可以采用默认设置。
(*) 查看刚才创建的 tunnel,留意 Client IPv6 address、Server IPv6 address 和 Server IPv4 address。
(*) 打开终端,输入:
ifconfig sit0 upifconfig sit0 inet6 tunnel ::<server>ifconfig sit1 upifconfig sit1 inet6 add <prefix1>::2/64route -A inet6 add ::/0 dev sit1
<server> 是 Server IPv4 address
<prefix1>::2 是 Client IPv6 address
<prefix1>::1 是 Server IPv6 address
<prefix1>::2 是 Client IPv6 address
<prefix1>::1 是 Server IPv6 address
4、注意:
(*) 如果你没有对外的、全球可路由的 IPv4 地址,你就不能创建隧道。
(*) 建议在配置了静态 IPv4 的路由器上使用 tunnel,因为每变换一次地址,都需要重新去 tunnelbroker.net 更新,虽然他们提供了一个简单的接口,但是用起来总不方便。
(*) 不要点 Create BGP Tunnel,这个 BGP 隧道是提供给运营商级别的客户使用的。
(*) HE 自动为你分配了一个 /64 的 IPv6 段,这个 block 里所有的地址都属于你,可以任意使用,只要将 tunnel client 设置成路由器,也就是开启 net.inet6.ip6.forwarding。内网其它计算机如果想接入 IPv6,可以这样配置:
(*) 建议在配置了静态 IPv4 的路由器上使用 tunnel,因为每变换一次地址,都需要重新去 tunnelbroker.net 更新,虽然他们提供了一个简单的接口,但是用起来总不方便。
(*) 不要点 Create BGP Tunnel,这个 BGP 隧道是提供给运营商级别的客户使用的。
(*) HE 自动为你分配了一个 /64 的 IPv6 段,这个 block 里所有的地址都属于你,可以任意使用,只要将 tunnel client 设置成路由器,也就是开启 net.inet6.ip6.forwarding。内网其它计算机如果想接入 IPv6,可以这样配置:
ifconfig <if> inet6 <prefix2>::a
route add -inet6 <prefix2>::/64 -interface <if>
route add -inet6 ::0 <prefix2>::1
<if>
是内网计算机网卡的名称,<prefix2> 是你获得的 /64 block 的前缀。<prefix2> 与先前的
<prefix1> 应该是不同的。注意,我已经在路由器上配置好了路由器的内网 IPv6 地址是
<prefix2>::1。
(*) 可以配置反向 DNS (RDNS),用来反向解析属于你的 IPv6 网段的地址。
(*) /64 是默认分配好的。如果觉得 /64 不够,还可以申请 /48,我相信 /64 已经绰绰有余了,2^64 这个数字极其庞大,你应该用不光。
(*) /64 是默认分配好的。如果觉得 /64 不够,还可以申请 /48,我相信 /64 已经绰绰有余了,2^64 这个数字极其庞大,你应该用不光。
5、部分已使用 IPv6 的网站:
http://www.google.com/ (with HE’s public name server)
http://ipv6.google.com/
http://www.ipv6.net.cn/
http://iptv.pku6.edu.cn/
http://www.freebsd.org/
http://www.netbsd.org/
https://www.isc.org/
http://www.apnic.net/
http://he.net/
http://www.gogo6.com/
http://www.sixxs.net/
http://www.ipv6.hinet.net/
http://ipv6.google.com/
http://www.ipv6.net.cn/
http://iptv.pku6.edu.cn/
http://www.freebsd.org/
http://www.netbsd.org/
https://www.isc.org/
http://www.apnic.net/
http://he.net/
http://www.gogo6.com/
http://www.sixxs.net/
http://www.ipv6.hinet.net/
6、更多内容请访问:
http://www.microsoft.com/ipv6
http://he.net/
http://tunnelbroker.net/
http://www.ipv6.net.cn/
http://www.gogo6.com/
http://en.wikipedia.org/wiki/IPv6
http://he.net/
http://tunnelbroker.net/
http://www.ipv6.net.cn/
http://www.gogo6.com/
http://en.wikipedia.org/wiki/IPv6
------------------------------------------------------------------------------------
Most music videos on YouTube are still not available in Germany because of an
ongoing dispute
between YouTube and the GEMA, Germany’s main performance rights
organisation. This has been very annoying for German YouTube users but
so far no solution for the conflict is in sight.
Multiple solutions are available for users, one of them being proxy solutions through browser plugins like ProxTube. However, unless you run all traffic through a proxy (instead of only the videos as is the case with ProxTube), this has the disadvantage that blocked videos won’t even show up in your YouTube searches. Additionally those free extensions often suffer from the problem of having high traffic costs to run their proxy servers, so they try shady things like injecting ads on other sites.
Another way is a regular VPN with an endpoint in another country which has its disadvantages as well. Most providers will route all your traffic through their VPN, usually reducing the bandwidth and increasing latency. Most also give you only a private IP address and use some form of carrier grade NAT.
The global ISP Hurricane Electric provides a free IPv6 tunnel broker service which you can use to set up a tunnel within minutes. The nice thing about this service is that you can easily choose the tunnel endpoint from multiple locations in Asia, Europe and North America. I chose London as a tunnel endpoint because it’s fairly close so that IPv6 connections don’t add a lot of latency. While I get an average latency of 27 ms to YouTube of IPv4, it’s almost doubled to 52 ms over IPv6. However, in practice this difference is not really noticable.
Fortunately my router is a FRITZ!Box which is able to directly set up the tunnel (as 6in4 in the web interface) and announce the
When any device in my network connects to YouTube over IPv6 through the tunnel, Google will now assume a user from London, so all videos blocked in Germany because of the GEMA conflict are available to me.
However, recent versions of Chrome include their own experimental DNS resolver which does prefer IPv6. It’s disabled by default, but you can open up
An IPv6 tunnel as a free VPN alternative to unblock YouTube content in your country
Multiple solutions are available for users, one of them being proxy solutions through browser plugins like ProxTube. However, unless you run all traffic through a proxy (instead of only the videos as is the case with ProxTube), this has the disadvantage that blocked videos won’t even show up in your YouTube searches. Additionally those free extensions often suffer from the problem of having high traffic costs to run their proxy servers, so they try shady things like injecting ads on other sites.
Another way is a regular VPN with an endpoint in another country which has its disadvantages as well. Most providers will route all your traffic through their VPN, usually reducing the bandwidth and increasing latency. Most also give you only a private IP address and use some form of carrier grade NAT.
Choosing a foreign IPv6 tunnel endpoint
YouTube has been available over IPv6 for everyone since Google permantenly enabledAAAA
records for all their services on World IPv6 Launch Day in June 2012. However, most end-user ISPs including mine still don’t offer native IPv6 connections to their customers.The global ISP Hurricane Electric provides a free IPv6 tunnel broker service which you can use to set up a tunnel within minutes. The nice thing about this service is that you can easily choose the tunnel endpoint from multiple locations in Asia, Europe and North America. I chose London as a tunnel endpoint because it’s fairly close so that IPv6 connections don’t add a lot of latency. While I get an average latency of 27 ms to YouTube of IPv4, it’s almost doubled to 52 ms over IPv6. However, in practice this difference is not really noticable.
Fortunately my router is a FRITZ!Box which is able to directly set up the tunnel (as 6in4 in the web interface) and announce the
/64
prefix in my local network. Now all devices connected to my network
will automatically get an IPv6 address without any additional
configuration.When any device in my network connects to YouTube over IPv6 through the tunnel, Google will now assume a user from London, so all videos blocked in Germany because of the GEMA conflict are available to me.
Configuring Chrome on OS X to prefer IPv6
If you use OS X, the whole solution might not actually work because OS X doesn’t implement RFC 3484 correctly. This RFC specifies that if an operating system has a native IPv6 connection it should prefer it if a host is available through both IPv4 and IPv6. Unfortunatelygetaddrinfo
on OS X uses its
own heuristics to find out which protocol is faster, so eventually it
will prefer the IPv4 connection since it doesn’t use a tunnel. So far I
couldn’t find any way to configure OS X to always prefer IPv6 (like
Linux’s /etc/gai.conf
).However, recent versions of Chrome include their own experimental DNS resolver which does prefer IPv6. It’s disabled by default, but you can open up
chrome://flags/
and change Built-in Asynchronous DNS
to Enabled
. IPv6 will now get a headstart of 300ms before falling back to IPv4, so make sure that the latency through the tunnel is not too high.
from http://realpath.org/blog/2013/02/10/youtube-ipv6-tunnel/
---------------------------------------------------
利用tunnelbroker让你的SSH代理支持IPV6
tunnelbroker是美国Hurricane Electric公司的旗下网站
下面简称HE:HE是全球领先的原生IPv6互联网骨干网和主机托管服务商。
该隧道服务在已有的IPv4连接之上提供IPv6隧道接入。
用户需要一台能运行IPv6的主机(大多数平台已支持IPv6)或路由器,
并且已有IPv4连接(对外可访问的独立IP地址,并且配置允许ICMP ping包请求)。
该服务面向需要稳定永久隧道的IPv6开发者和实验者。
下面我们来介绍如何让你的SSH代理支持IPV6,能正常浏览IPv6网站
首先我们先在tunnelbroker注册一个账户,注册地址:http://tunnelbroker.net/register.php
注册成功登录后在面板左边点击:Create Regular Tunnel- http://tunnelbroker.net/new_tunnel.php
创建你的Ipv6隧道:
你的SSH代理IP地址:
与你的SSH代理服务器最近的地址:
创建成功后点击example configurations,
进入到tunnel的详细信息页面,该页面上有配置好的所有tunnel信息。
页面最下方有工具可以生成适用于不同设备和操作系统的配置脚本。
选择适合你SSH服务器的配置脚本在SSH服务器上配置就行了
如果没有合适你的脚本那请接着看下文:
一般来说,成功创建Tunnel后只要按照网站上提供的Example Configurations就可以配置成功了
但是由于我的VPS不支持通过modprobe载入IPv6模块,只好放弃这么做而改用tb-tun
先检查tun/tap设备是否已经打开,可以通过命令cat /dev/net/tun检测
如果返回File descriptor in bad state,则说明tun/tap设备已经打开,否则需要给客服发ticket开启。
下载tb-tun
wget http://tb-tun.googlecode.com/files/tb-tun_r18.tar.gz
tar xvf tb-tun_r18.tar.gz
编译tb-tun
gcc tb_userspace.c -l pthread -o tb_userspace
假设VPS的Client IPv4 Address为1.2.3.4,而HE提供的Server IPv4 Address为5.6.7.8,
且HE提供的Client IPv6 Address为2001:a:b:c::2/64,则只需如下设置
setsid ./tb_userspace tb 5.6.7.8 1.2.3.4 sit
ifconfig tb up
ifconfig tb inet6 add 2001:a:b:c::2/64
ifconfig tb mtu 1480
route -A inet6 add ::/0 dev tb
即可创建IPv6 Tunnel.
---------------------------------------------------------
利用tunnelbroker让你的SSH代理支持IPV6
tunnelbroker是美国Hurricane Electric公司的旗下网站
下面简称HE:HE是全球领先的原生IPv6互联网骨干网和主机托管服务商。
该隧道服务在已有的IPv4连接之上提供IPv6隧道接入。
用户需要一台能运行IPv6的主机(大多数平台已支持IPv6)或路由器,
并且已有IPv4连接(对外可访问的独立IP地址,并且配置允许ICMP ping包请求)。
该服务面向需要稳定永久隧道的IPv6开发者和实验者。
下面我们来介绍如何让你的SSH代理支持IPV6,能正常浏览IPv6网站
首先我们先在tunnelbroker注册一个账户,注册地址:http://tunnelbroker.net/register.php
注册成功登录后在面板左边点击:Create Regular Tunnel- http://tunnelbroker.net/new_tunnel.php
创建你的Ipv6隧道:
你的SSH代理IP地址:
与你的SSH代理服务器最近的地址:
创建成功后点击example configurations,
进入到tunnel的详细信息页面,该页面上有配置好的所有tunnel信息。
页面最下方有工具可以生成适用于不同设备和操作系统的配置脚本。
选择适合你SSH服务器的配置脚本在SSH服务器上配置就行了
如果没有合适你的脚本那请接着看下文:
一般来说,成功创建Tunnel后只要按照网站上提供的Example Configurations就可以配置成功了
但是由于我的VPS不支持通过modprobe载入IPv6模块,只好放弃这么做而改用tb-tun
先检查tun/tap设备是否已经打开,可以通过命令cat /dev/net/tun检测
如果返回File descriptor in bad state,则说明tun/tap设备已经打开,否则需要给客服发ticket开启。
下载tb-tun
wget http://tb-tun.googlecode.com/files/tb-tun_r18.tar.gz
tar xvf tb-tun_r18.tar.gz
编译tb-tun
gcc tb_userspace.c -l pthread -o tb_userspace
假设VPS的Client IPv4 Address为1.2.3.4,而HE提供的Server IPv4 Address为5.6.7.8,
且HE提供的Client IPv6 Address为2001:a:b:c::2/64,则只需如下设置
setsid ./tb_userspace tb 5.6.7.8 1.2.3.4 sit
ifconfig tb up
ifconfig tb inet6 add 2001:a:b:c::2/64
ifconfig tb mtu 1480
route -A inet6 add ::/0 dev tb
即可创建IPv6 Tunnel.
---------------------------------------------------------
Tomato Toastman完美支持he.net的IPV6
he.net申请到的免费IPV6地址块只用到一台机器上太浪费了, 而Toastman的Tomato修改版, 对he.net的ipv6地址块支持得相当完美了. 这样可以把申请到的地址块放在路由器上, 并自动分配IPV6地址给所有接入路由器的机器.首先去https://www.tunnelbroker.net/申请一个64位的IPV6地址块,并记下
Server IPv4 Address
Server IPv6 Address
Client IPv4 Address
Client IPv6 Address
然后你要有一个能刷tomato的路由器,并刷上相应的Tomato Toastman版. 我用的中兴h618b对应的版本是Tomato Firmware v1.28.7820 MIPSR1-Toastman K26 USB VPN.
login到router,进入basic->ipv6菜单.
IPv6 Service Type 选择 6in4 Static Tunnel
Assigned / Routed Prefix 填写要分配给接入机器的ipv6前缀,比如你申请到的是类x.x.x.x::1的地址,这儿填写x.x.x.x::
Prefix Length填64
Router IPv6 Address选择Default,会自动填写成he.net分配的Server IPv6 Address,不然选择Manual手工填写成Server IPv6 Address.
Enable Router Advertisements勾上,
Tunnel Remote Endpoint (IPv4 Address)填写he.net分配的Server IPv4 Address,
Tunnel Client IPv6 Address填写he.net分配的Client IPv6 Address,64位长.
如果你好运气路由器是固定的IPV4地址,那么设置这些就ok了.保存后radvd会自动启动用于分配ipv6地址.
如果是pppoe之类拿的动态IP地址,那么这时候he.net上显示的Client IPv4 Address则会和你现在路由器地址不符. 这个时候所说的”完美”支持就表示出来了.
进入basic->ddns菜单,看,下拉列表里有个”HE.net IPv6 Tunnel Broker”,贴心吧.帐号填写完后保存,这样地址改动后,会自动update he.net上的Client IPv4 Address数据.
之后路由器给接入的机器分配IPv4地址时,会自动也分配一个IPv6地址. 这样router后面带的所有机器,都能实现IPV6接入了.