本文参考了鼻屎帝@asxzy 的博文{IPv6中单一地址做网关的三种方案},采用了其中第三种方案,简单易用,老少皆宜。 具体方法如下:

不用路由器,以正常方式连接校园网,能正常上网之后,ifconfig获取所有ip信息,保存一下

假设获取到的ipv6地址为2001:250:1006:6159:4ccc:c588:f16b:75b3ipv6默认网关为 fe80::203:fff:fe12:da1e

用路由器上网,路由器里安装kmod-ipv6、ip、radvd这三个包(有些固件已经有了。。)
opkg install kmod-ipv6 ip radvd

编辑/etc/config/radvd ,把前两个配置的ignore行删除,然后在prefix项里的list prefix填写第一步获取到的ipv6地址,类似于这样:

2001:250:1006:6159::/64

启动并设置开机自启动radvd

/etc/init.d/radvd enable
/etc/init.d/radvd start

去鼻屎帝的仓库下载npd6并安装,http://openwrt.asxzy.net/
其实可以直接 opkg install url 来安装

编辑 /etc/npd6.conf 需要更改的有

prefix = 2001:250:1006:6159:
interface = eth0

编辑 /etc/config/network

lan口设置 option ip6addr '2001:250:1006:6159::4/64'

wan口设置

option dns '2001:470:20::2 8.8.8.8'
option ip6addr '2001:250:1006:6159:4CCC:C588:F06B:78B3/126'
option ip6gw 'FE80::203:FFF:FE12:DA1E'

直接重启路由器 reboot

等到路由器重启完成后,ssh登录,启动 npd6

内网机器手动重新连接一次路由器(必须),然后 ping bt.neu6.edu.cn 测试

如果测试成功,那么配置已经完成,最后一步将npd6加入到rc.local中让其能够自启动:编辑 /etc/rc.local ,将npd6 加入到exit()之前

Done!