本文转自知乎:
OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问? - mistforest的回答 - 知乎
https://www.zhihu.com/question/29667477/answer/47149165
以下是作者mistforest的回答:
作者:mistforest
链接:https://www.zhihu.com/question/29667477/answer/47149165
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
说一下我自己的做法吧,五一利用假期时间折腾了2天,查了一些openwrt相关资料,看了网上一些论坛资料,终于搞定了宿舍的ipv6,但是我至今未曾明白真正的原理是啥,本人不是学计算机的,所以之中原理就不细究了,能用上就完事儿了。我们学校是ipv4使用拨号方式获得,ipv6位native模式。我的主要参考帖子为:
想问下,14.07及之后的trunk有谁能用起ipv6吗??【已解决】
真是又给官方的原生ipv6支持跪了
北大未名站 同主题阅读: OpenWRT配置IPv6问题
说一下我的配置步骤吧,我的是TP-Link 841N V7,之前一直用的官网的Attitude Adjustment 12.09的系统,很稳定,苦于没法用ipv6,听说最新的Barrier Breaker 14.07原生支持ipv6,就直接升级了官网的BB版的固件,刷完之后跟你一样的问题,路由器可以获取v4和v6两个地址,也能ping通ipv6网址,但是局域网下面的设备都无法访问ipv6。
后来看了帖子慢慢折腾后总结,总算调试好了,我就说最后的配置吧,能否配置成功关键在于/etc/config/dhcp的配置。
首先确认你的odhcpd软件包不是08-23的版本,这个版本有bug,更换成11-06或者更新的版本。
完毕后你得让局域网获取到2001开头的真实ipv6地址,而不是路由器分配的诸如FE80开头的本地地址,在LuCI界面要先删除LAN-ipv6配置下的Global ULA-Prefix里面的数值,然后修改/etc/config/dhcp,修改为以下(对照修改):
修改完后重启,并确保odhcpd是处于开机启动状态。config dhcp \'lan\' option interface \'lan\' option start \'100\' option limit \'150\' option leasetime \'12h\' option ra \'hybrid\' option dhcpv6 \'hybrid\' option ndp \'hybrid\' option ra_management \'1\' config dhcp \'wan6\' option interface \'wan\' option dhcpv6 \'hybrid\' option ra \'hybrid\' option ndp \'hybrid\' option master \'1\'
正常的情况应该是,LAN会获得wan处的ipv6地址(同为2001开头),然后LAN下面的设备各自获得自己的ipv6地址。
我的测试环境:
1. 大学教育网。
(电脑直插学校端口即可获得ipv6地址,即可访问ipv6网络。)
2. 已经刷好OpenWrt的路由器。
(路由器的wan正常获取到ipv6地址,但是lan却没有获取到ipv6地址。)
我参考博文后做的步骤:
1. 在web界面的“系统”一栏,可以找到“软件包”和“启动项”。确保软件包中有odhcpd这个软件包,确保odhcpd已在开机启动项。
2. 用cmd窗口输入命令登录我的路由器shell。
(很奇怪,我用xshell进不去,但是cmd可以。)
ssh root@192.168.10.1
3. 编辑dhcp文件。
vi /etc/config/dhcp
4. 具体修改项如下:
config dhcp \'lan\' option interface \'lan\' option start \'100\' option limit \'150\' option leasetime \'12h\' option ra \'hybrid\' option dhcpv6 \'hybrid\' option ndp \'hybrid\' option ra_management \'1\' config dhcp \'wan6\' option interface \'wan\' option dhcpv6 \'hybrid\' option ra \'hybrid\' option ndp \'hybrid\' option master \'1\'
5. 按Esc,输入:wq保存退出。
6. 重启路由。最好也重启测试电脑。
7. 用电脑打开ipv6-test.com测试。
希望对其他同学有帮助。
再次感谢作者:mistforest