本文轉自知乎:php
OpenWrt 路由器如何讓 lan 口主機得到 ipv6 網絡訪問? - mistforest的回答 - 知乎
https://www.zhihu.com/question/29667477/answer/47149165
做者: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地址。
(電腦直插學校端口便可得到ipv6地址,便可訪問ipv6網絡。)html
(路由器的wan正常獲取到ipv6地址,可是lan卻沒有獲取到ipv6地址。)web
(很奇怪,我用xshell進不去,可是cmd能夠。)shell
ssh root@192.168.10.1
vi /etc/config/dhcp
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'
但願對其餘同窗有幫助。bash
再次感謝做者:mistforest網絡