header image

在IPv4 IPv6双栈环境下配置无线路由器

原作者:zlmouse

随着CERNET2的飞速建设,现在许多大学的校园网已经开始部署IPv6协议了。IPv6的好处是显而易见的,它不但使我们能够拥有全球唯一的IP地址,而且给我们提供了第二条网络出口。尤其在进行P2P的时候,如果能够连接上IPv6的用户,速度往往可以彪到1M/s~2M/s。同时IPv6上的很多资源也是很实用的,例如IPTV、免费代理服务器等等。但是IPv6也带来一些问题,比如说路由器的设置。
相信很多大学的宿舍里网络接口的数目都是少于宿舍电脑数目的,另外对于一些大学,校园网出口是通过IPv4地址进行认证的,如果想要宿舍里所有人共享一个网关帐户,就需要用到路由器的NAT功能。可问题是NAT技术目前不支持IPv6,也就意味着路由器后面的电脑无法获得IPv6地址,也无法享受IPv6资源。这篇文章要讨论的问题就是如何配置无线路由器,使得路由器后的电脑能同时使用IPv4与IPv6网络。另外本文所讨论的情况仅限于IPv4 IPv6双栈的情况,通过ISATAP Tunnel连接的情况请参考http://www.dd-wrt.com/wiki/index.php/IPv6

想要配置如此高级的功能,简陋的官方固件显然是不能满足我们的需要,于是我们需要第三方固件的帮助。第三方固件主要有DD-WRTTomato以及OpenWRT。本文使用的是DD-WRT,但是其实只要是支持IPv6的基于Linux的固件理论上都可以实现。不过并不是所有无线路由器都支持第三方固件的,想要确定你的路由器能不能支持第三方固件,请访问http://www.dd-wrt.com/site/support/router-database;另外你的路由器必须有4MB以上的Flash空间才能使用支持IPv6的固件版本。我的路由器是Asus WL-500G Deluxe,4M Flash,32M RAM,使用的固件为DD-WRT v24-sp2 (08/23/09) std-nokaid-usb。刷机教程请参考http://www.dd-wrt.com/wiki/index.php/安装注意,刷机操作有让路由器变砖的危险,并且会使你的路由器丧失保修,请谨慎行事。

首先我们需要在电脑上安装IPv6协议,Windows用户请在开始->运行里输入ipv6 install,Linux用户请在终端中输入insmod IPv6。然后我们要把电脑直接接在校园网接口上,让它自动获得IP地址,Windows用户在命令行提示符窗口中输入ipconfig,Linux用户在终端输入ip -6 addr showip -6 route show。以Windows用户为例,我们会得到类似以下一些信息

Ethernet adapter Wireless Network Connection:

 Connection-specific DNS Suffix  . :
 IP Address. . . . . . . . . . . . : 10.2.90.146
 Subnet Mask . . . . . . . . . . . : 255.255.255.0
 IP Address. . . . . . . . . . . . : 2001:250:209:5d11:21d:92ff:fec1:8109
 IP Address. . . . . . . . . . . . : fe80::21d:92ff:fec1:8109%4
 Default Gateway . . . . . . . . . : 10.2.90.1  fe80::213:d4ff:fee8:50b8%4

这里面有用的信息是IP Address2001开头的地址,和Default Gatewayfe80开头的地址,把它们记录下来备用。
然后登录到路由器Web页面,选择管理,找到IPv6支持选项,选择启用,并在出现的Radvd选项上选择启用。在Radvd配置文本框中输入:

interface br0 {
AdvSendAdvert on;
prefix 2001:XXXX:XXXX:XXXX::/64 {
AdvOnLink on;
AdvAutonomous on;

其中prefix后面的X替换为之前获得的IPv6地址的对应内容,点击页面最下方的应用进行保存。

然后进入命令页面,在指令解释器里输入:

insmod ipv6
sleep 5
radvd -C /tmp/radvd.conf
ip -6 route add ::/0 via fe80::XXXX:XXXX:XXXX:XXXX dev vlan1 metric 256
ip -6 route add 2001:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/128 dev br0 metric 128
ip -6 neigh add proxy 2001:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX dev vlan1

将第4行fe80后面的X替换为之前得到的Default Gateway地址,将第5、6行2001后面的X替换为之前的IP Address
点击保存为启动指令

到这里配置就完成了,拔下路由器电源,把WAN口连接到校园网,LAN口连接到电脑上,插上电源。等电脑显示网络已连接以后,在终端中输入ping6 ipv6.google.com,如果得到类似下面的结果,说明配置成功了。

C:\>ping6 ipv6.google.com
Pinging ipv6.l.google.com [2001:4860:c004::68]
from 2001:250:209:5d11:21d:92ff:fec1:8109 with 32 bytes of data:
Reply from 2001:4860:c004::68: bytes=32 time=62ms
Reply from 2001:4860:c004::68: bytes=32 time=66ms
Reply from 2001:4860:c004::68: bytes=32 time=64ms
Reply from 2001:4860:c004::68: bytes=32 time=63ms

Ping statistics for 2001:4860:c004::68:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 62ms, Maximum = 66ms, Average = 63ms

-End-

赞赏

微信赞赏支付宝赞赏

回复

your email will keep secret. (* required).

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.