2008年1月21日星期一

踏上ipv6的大道

也不知道是怎么碰上的,今天把自己电脑也用上了ipv6。
对于ipv6,大家都不陌生,喊了很多年了,但是现在似乎仍然看不到,摸不到,仍然还在实验室内呆着。其实不尽然,主要是现在仍然主流的是ipv4,所以为保证IPv4能够平稳过渡到IPv6,研究者提出了多种技术方案。主要有双协议栈、隧道技术、NAT-PT等。
隧道技术提供了一种以现有IPv4路由体系来传递IPv6数据的方法:将IPv6的分组作为无结构意义的数据,封装在IPv4数据报中,被IPv4网络传输。
我走上这个ipv6的路就是搭的这个路-隧道技术。对于隧道技术也是有几种类型的: (1)手工配置隧道 ( Configured Tunnel)、 (2) 自动配置的隧道 ( Auto-configured Tunnel )和 (3) 隧道中介(Tunnel Broker)三种主要的,以及其他方式包括6to4,ISATAP等。具体的内容可见http://202.196.65.45/learn.html
这里我通过的方式是第三种隧道中介(Tunnel Broker)。
这里要记住这个网站http://ipv6.ha.edu.cn/,这是郑州大学的ipv6试验网。河南省网络中心(位于郑州大学)在2007年12月7日启用了ipv6的隧道代理,暂为大家免费提供访问IPv6网服务。这需要我们先到http://202.196.65.45/上免费注册,然后就可以获得自己的IPv6地址了。
登上这个网站后,里面有详细的步骤,我来简化之:
1,点击用户注册,填上诸如用户名,单位、用途之类的简单信息即可注册成功;
2,成功后即可马上登录,然后就会显示让激活,点击激活,最上面会有红色的文字告诉你已经为你分配通道及ipv6的地址;接下来还需要做一些工作
3,对于我现在使用的windows xp来说(其他诸如linux之类,以后用的时候再研究)首先要安装ipv6协议栈:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

E:\Program Files\PowerCmd\PowerCmd>ipv6 install
Installing...
Succeeded.

然后执行下列命令:
E:\Program Files\PowerCmd\PowerCmd>netsh
netsh>int ipv6
netsh interface ipv6>add v6v4 "chenweiguangtunnel" 202.196.74.100 202.196.65.45
Ok.
其中:"chenweiguangtunnel" 为自己申请隧道名称,通常为"用户名+tunnel",202.196.74.100为自己电脑的ipv4地址,202.196.65.45为提供隧道中介的ipv4地址;

接下来查询本机接口状态:
netsh interface ipv6>sh int
Querying active state...

Idx Met MTU State Name
--- ---- ----- ------------ -----
6 1 1280 Connected chenweiguangtunnel
5 0 1500 Connected Local Area Connection
4 2 1280 Disconnected Teredo Tunneling Pseudo-Interface
3 1 1280 Connected 6to4 Tunneling Pseudo-Interface
2 1 1280 Connected Automatic Tunneling Pseudo-Interface
1 0 1500 Connected Loopback Pseudo-Interface
左边为接口index,可以看到"chenweiguangtunnel"所对应的为6(这个下面会有说明),并且已经连接上,其他的不知亦可;

接下来需要为本机配置ipv6地址:
netsh interface ipv6>add address "chenweiguangtunnel" 2001:da8:a5:fe:1c::2
Ok.
其中最后一个2001:da8:a5:fe:1c::2为所分配给自己的ipv6地址;

然后添加路由:
netsh interface ipv6>add route 2001:da8::/32 "chenweiguangtunnel" 2001:da8:a5:fe:1c::1
Ok.

netsh interface ipv6>add route 2001:250::/32 "chenweiguangtunnel" 2001:da8:a5:fe:1c::1
Ok.
其中2001:da8:a5:fe:1c::1为您的ipv6网关是: 2001:da8:a5:fe:1c::1/64,2001:da8::/32和2001:250::/32的含义还不甚明了,似乎都是一样的,照抄下来就可以了,从命令帮助来看是路由前缀,姑且这么理解;

加完之后我们可以看一下:
netsh interface ipv6>show route
Querying active state...

Publish Type Met Prefix Idx Gateway/Interface Name
------- -------- ---- ------------------------ --- ---------------------
no Manual 1 2001:250::/32 6 2001:da8:a5:fe:1c::1
no Manual 1 2001:da8::/32 6 2001:da8:a5:fe:1c::1
这说明我们已经加上了;

这个时候我们退出:
netsh interface ipv6>exit

然后使用ipv6协议ping6下网关:
E:\Program Files\PowerCmd\PowerCmd>ping6 2001:da8:a5:fe:1::1

Pinging 2001:da8:a5:fe:1::1
from 2001:da8:a5:fe:1c::2 with 32 bytes of data:

Reply from 2001:da8:a5:fe:1::1: bytes=32 time<1ms bytes="32" bytes="32" bytes="32" sent =" 4," received =" 4," lost =" 0" minimum =" 0ms," maximum =" 0ms," average =" 0ms">ping6 www.6bone.net

Pinging 6bone.net [2001:5c0:0:2::24]
from fe80::211:9ff:fe0f:decd%5 with 32 bytes of data:

Reply from fe80::211:9ff:fe0f:decd%5: Destination address unreachable.
Reply from fe80::211:9ff:fe0f:decd%5: Destination address unreachable.
Reply from fe80::211:9ff:fe0f:decd%5: Destination address unreachable.
Reply from fe80::211:9ff:fe0f:decd%5: Destination address unreachable.

Ping statistics for 2001:5c0:0:2::24:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
发现不通,我们需要再做一下事情:
E:\Program Files\PowerCmd\PowerCmd>ipv6 ifcr v6v4 202.196.74.100 202.196.65.45
首先要说明一下:这个命令应该在最早执行
这个时候会返回来一个值,就是上面提到的6,这说明新添加了一个interface

然后执行:
E:\Program Files\PowerCmd\PowerCmd>ipv6 adu 6/2001:da8:a5:fe:1c::2
给指定接口配置 IPv6 地址,注意这里的6,斜杠后面为自己本机所分配到的ipv6地址;

接下来执行:
E:\Program Files\PowerCmd\PowerCmd>ipv6 rtu 2001:da8:a5:fe:1c::1 6
添加路由表,注意最后的6,中间的地址为ipv6网关;

最后执行命令:
E:\Program Files\PowerCmd\PowerCmd>ipv6 rtu 2000::/3 6
也是加路由表;

E:\Program Files\PowerCmd\PowerCmd>ipv6 ifc 6 forwards
做端口转发

到此为止大功告成,试试:
E:\Program Files\PowerCmd\PowerCmd>ping6 www.6bone.net

Pinging 6bone.net [2001:5c0:0:2::24]
from 2001:da8:a5:fe:1c::2 with 32 bytes of data:

Reply from 2001:5c0:0:2::24: bytes=32 time=373ms
Reply from 2001:5c0:0:2::24: bytes=32 time=376ms
Reply from 2001:5c0:0:2::24: bytes=32 time=380ms
Reply from 2001:5c0:0:2::24: bytes=32 time=379ms

Ping statistics for 2001:5c0:0:2::24:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 373ms, Maximum = 380ms, Average = 377ms
成功!
可以体验一下ipv6了,上面有一些不错的资源:
比如:http://video6.sjtu.edu.cn/,呵呵

没有评论: