5月 092011
 

Posted on January 23, 2011 by ipvvinet

原来以为Optus的高速Cable是具备全程IPv6能力的,因为我把Windows 7机器接到Cable Modem上,除了公网IPv4地址、网关和DNS外,还可以获得IPv6地址,但是网络状态显示IPv6无Internet访问,而且似乎Optus的DNS还不是纯IPv6的,意思是,如果没有IPv4,IPv6主机的DNS无法解析。

而且,我尝试了OpenWrt上的很多DHCPv6客户端,如wide-dhcp-cleint,dibbler,dhcpc6,等等,均无法获取Optus提供的IPv6地址。所以,只好尝试Hurricane Electric提供的6in4隧道服务,以让我的OpenWrt具备全球可路由的IPv6地址,并将我家中的的所有设备分配上全球可路由的IPv6地址。

要获得自己的IPv6地址块,以及设置IPv6 over IPv4 Tunnel到Hurricane Electric Tunnel服务提供商,首先你需要到Hurricane Electric注册一个帐号,成功后,你会得到如下东西:
1. 服务器端IPv4 隧道终结地址
2. 服务器端IPv6隧道接口地址
3. 本地IPv6岁隧道接口地址
4. IPv6DNS
5. 一个64位的IPv6地址块,可以容纳2^64主机!对于任何个人而言都足够了。

然后,给OpenWrt 10.03安装对应模块:
opkg install kmod-ipv6 radvd ip kmod-iptunnel4 kmod-ip6tables ip6tables

其中kmod-ip6tables ip6tables是可选的,如果你不用IPv6防火墙的话,可以不装

然后可以建立一个隧道连接到Hurricane Electric了:

ip tunnel add he0 mode sit remote 72.52.104.74 local 122.107.164.122 ttl 255
ip link set he0 up

再给该隧道配置Hurricane Electric给你帐号分配IPv6地址:

ip addr add 2001:470:1f04:c3d::2/64 dev he0

最后是缺省路由:
ip route add ::/0 dev he0

这样,用ifconfig -a查看,你将能看到he0接口的地址,
用如下命令,将可以看到IPv6的缺省路由:

ip -f inet6 route

删该缺省路由,则用如下命令:

ip -6 route del default dev he0

至此,你应该可以ping到ipv6.google.com,以及www.ipv6.cisco.com,等IPv6网站。

但是,如果嫌这样的配置不够自动的话,可以修改/etc/config/network,添加如下行:

config ‘interface’ ‘he0′
option ‘proto’ ’6in4′
option ‘peeraddr’ ’72.52.104.74′
option ‘ip6addr’ ’2001:470:1f04:c3d::2/64′
option ‘dns’ ’2001:470:20::2′
option ‘metric’ ’255′

用ifdown he0来停掉he0,然后用ifup he0来激活,便可以看到6in4-he0激活了,并具有IPv6地址。

下一步就是将OpenWrt的配置成一个路由器,分发IPv6地址给它的内部br-lan接口,让所有设备访问IPv6 Internet内容。

 回复

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>