找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 35235|回复: 13

Tomato路由器固件下使用HE.NET的Tunnelbroker将局域网接入IPv6网络

[复制链接]
满天星 发表于 2013-6-23 20:48:57 | 显示全部楼层 |阅读模式
Tomato是一种类似于OpenWrt/DD-Wrt的opensource的路由器固件,可以在许多家用路由器平台上使用,而且Tomato固件支持IPv6功能,因此本文以Tomato Shibby版mod为基础,介绍如果在Tomato下,使用HE.NET的Tunnelbroker服务,将局域网内的所有PC接入IPv6网络。

Step1.路由器运行Tomato固件
请根据自己的路由器型号,搜索互联网,并刷入可用的Tomato固件,本帖不针对刷固件操作进行具体介绍。
Tomato路由器固件中支持的IPv6接入类型如下图所示:


Step2.禁用Tomato中防火墙禁止ping功能
在Step2的帖子中,我们就有详细介绍,在建立Tunnel时需要保证公网IP地址可以ping通,因此我们需要保证此操作在建立Tunnel之前完成,默认在Tomato中禁用Firewall中禁止ping的功能,默认是无法ping通的,需要手工开启,具体操作如下图所示:

勾选其中的Respond to ICMP ping即可。

Step3.注册并建立Tunnel
本部分内容请参考:注册并使用HE.NET的免费Tunnelbroker服务
http://www.ipv6bbs.cn/thread-1555-1-1.html

Step4.最终网络结构图
我们最终要实现的网络配置如下图所示:


Step5.配置Tomato中的IPv6功能
我们前面建立的Tunnel中分配了相关的IPv4地址,IPv6地址,以及64位和48位的Prefix,如下图所示为需要的信息:

参考上面Tunnel的信息,我们需要在Tomato中进行对应6in4 Static tunnel配置即可:

图中各框中的信息需要保证准确无误,其他部分可以保持默认值即可,Static DNS可以使用HE.NET的ipv6 dns。
虽然我们使用的是HE.NET分配的48位Prefix,但是我们仍然需要给Lan内PC分配地址时填写64位prefix Length,否则可能导致PC机无法顺利获取到IPv6地址。
全部设置完毕后Save保存配置。

说明:
其中Tunnel Client IPv6 Address将作为路由器wan口的IPv6地址,用来与Tunnel Server端通讯,并接入IPv6 Internet
其中Assigned/Routed Prefix将作为Lan内PC使用的IPv6网段,可以选择64位或48位。
其中Router IPv6 Address保持默认即可,也可手工指定其它的后缀,但务必要保证前缀和前面的Assigned/Routed Prefix一致。
可参考前面网络结构图中的信息进行对比,其它的MTU或TTL保持默认即可。

Step6.查看路由器状态并启用DDNS
前面配置好IPv6 Tunnel及路由器给Lan内分配的IPv6 Prefix后我们的Tomato路由器因为的采取PPPoE拨号,动态获取IPv4地址功能,因此每次建立拨号连接后的IPv4地址均不相同,如果每次手工去Tunnelbroker.net手工更新配置文件,这恐怕会相当不方便,如下图所示,IP地址发生变化了:

但我们的IPv6地址,前缀,以及Tunnel对端的IPv4地址不会变化,因此我们可以使用Tomato自带的DDNS功能,来动态更新我们本地的IPv4公网地址至Tunnelbroker.net中,而无需我们手工去更新。
如果我们的路由器使用的是固定不变的IPv4公网地址,或者PPPoE拨号但IPv4地址从不变化,也可以不进行这里的设置,仅供PPPoE拨号每次IPv4地址会产生变化的用户使用。

具体设置如下图所示:

我们在Tomato中开启了2个DDNS服务,第一个使用3322.org的动态域名,以通过IPv4 Internet来随时访问我们的Tomato路由器,而第二个则是HE.NET的tunnelbroker服务,我们需要填入我们的帐户id,帐户密码,以及Tunnel id,注意:这里的帐户id不是我们的用户名哦,请参考后面的图中:

当上门的状态为Update Successful时才表示状态正常。
而其中我们需要填入的帐户id,Tunnel id分别如下图所示:
User id即为我们用户名对应的id,密码就是我们用户名对应的密码,点击底下我们建立的Tunnel,即可显示tunnel id

这里显示了我们的Tunnel id


如果在前面我们没有开启Tomato固件中防火墙禁止ping的功能,此时DDNS也会报下面的Unknown Error,如下图所示:

因此请保证前面Step2中的功能已勾选。
至此我们在Tomato固件中所有的设置均已完成,可以Telnet/SSH到Tomato路由器中,使用ping6或其他功能验证路由器的IPv6网络已经通了,如果路由器无法保证ping6的通讯正常,则请检查Tunnel的配置部分示范正确。

然后再来查看Lan中PC分配到的IPv6地址和网络状态。

Step7.Lan中PC接入IPv6网络
这里已经没有什么需要设置的了,PC机通过网线或Wifi连接的,均可以直接接入IPv6 Internet,并自动分配我们前面48位前缀中的IPv6子网,网关为路由器的link-local地址,如下图所示:

而其中分配的IPv6 Prefix也是我们前面申请到的48位prefix了:

其他的就该干嘛干嘛了!
另外还需要确认当前使用的浏览器支持IPv6,例如Google Chrome下开启IPv6可参考:http://www.ipv6bbs.cn/thread-1557-1-1.html
神马非死不可,神马google+,直接秒杀全场了!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ccavsports 发表于 2013-6-27 13:10:10 | 显示全部楼层
强贴 造福贴 强烈支持  应该置顶加精
回复

使用道具 举报

potatoh 发表于 2014-3-16 22:34:54 | 显示全部楼层
测试成功,连上了,
但是,很慢啊^
很多网站都慢啊^^^^^
回复

使用道具 举报

130389110 发表于 2014-3-28 14:47:29 | 显示全部楼层
慢慢研究              
回复

使用道具 举报

ahao358 发表于 2014-7-29 08:14:37 | 显示全部楼层
通过楼主的方法弄了,可以用上IPV6了,但有个问题:
客户机(WIN7)IPV6使用自动获取,得到的DNS地址是Router IPv6 Address的地址,按理难道不是Static DNS的吗?
因为通过nslookup命令,使用Router IPv6 Address解析返回的很多站是IPV4,Static DNS返回的才是IPV6的,这是什么问题呢?谢谢!
回复

使用道具 举报

 楼主| 满天星 发表于 2014-7-29 10:54:11 | 显示全部楼层
ahao358 发表于 2014-7-29 08:14
通过楼主的方法弄了,可以用上IPV6了,但有个问题:
客户机(WIN7)IPV6使用自动获取,得到的DNS地址是Rout ...

实际解析得到什么地址,一般来说和获取到何种DNS关系不会特别大,因为ipv4 dns照样可以解析获取ipv6的AAAA记录,ipv6 dns也照样可以解析获取ipv4的A记录,而具体如何获取,要看操作系统上层的应用程序如何发送请求,以及请求的类型是什么。
我也暂时木有环境,就不去研究了,理解了这点你再去研究问题所在吧,基本上是和使用的应用程序的相关的,思路和问题关键所在。
回复

使用道具 举报

ahao358 发表于 2014-7-29 20:35:30 | 显示全部楼层
满天星 发表于 2014-7-29 10:54
实际解析得到什么地址,一般来说和获取到何种DNS关系不会特别大,因为ipv4 dns照样可以解析获取ipv6的AAA ...

其实我就想知道需要如何设置才能让Tomato不以IPV6 Configuration页中的Router IPv6 Address作为DNS自动分配给客户端?
因为按正常来说应该是将Static DNS中的地址作为DNS自动分配给客户机才对。难道IPV6有不同的定义?
回复

使用道具 举报

 楼主| 满天星 发表于 2014-7-30 16:47:06 | 显示全部楼层
ahao358 发表于 2014-7-29 20:35
其实我就想知道需要如何设置才能让Tomato不以IPV6 Configuration页中的Router IPv6 Address作为DNS自动分 ...

IPv6 dns分配略微复杂点,Linux下是借助RADVD来实现,而且是一个较新的功能,初期版本的RA无状态地址自动配置是不支持配置DNS的,只能通过有状态的DHCPv6来实现,后来的RA通过新增选项实现了此功能,不确定Win7 client是否支持这个功能,Linux和RADVD下是测试都通过的。
Win7谁要是有Linux装个RADVD验证下也可以。
回复

使用道具 举报

ahao358 发表于 2014-8-3 00:43:11 | 显示全部楼层
请教一个问题:
Routed /48和64,请问48和64有什么区别呢?作用呢?
我设置时按你主贴里介绍的用48没问题。我想请问,如果是用64,Routed IPv6 Address那要设置成默认吗?比如Routed /64为 2001:470:1f05:bba:: ,Routed IPv6 Address是要设置成默认的 2001:470:1f05:bba::1,还是 2001:470:1f04:bba::1 呢?为何Routed的地址为提供的Server IPv6 Address地址,第3段(:分割)都为加1呢?
本人是菜鸟,网上搜索到IPv6的相关资料也不多,希望楼主能赐教,不尽感谢!
回复

使用道具 举报

 楼主| 满天星 发表于 2014-8-4 12:04:49 | 显示全部楼层
ahao358 发表于 2014-8-3 00:43
请教一个问题:
Routed /48和64,请问48和64有什么区别呢?作用呢?
我设置时按你主贴里介绍的用48没问题。 ...


1. 64和48只是子网大小的问题,和ipv4的掩码16和24类似的概念吧。
2. Router IPv6 Address可以设置为Routed IPv6 prefix中的任意一位,不一定非得1或2,只要不冲突且在一个/64子网即可。
3. server address/tunnell client address不能错。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|IPv6BBS ( 京ICP备13024693号 | 京公网安备11010802012238 )

GMT+8, 2024-3-29 09:37 , Processed in 0.037795 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表