OpenWrt 路由器如何讓 lan 口主機獲得 ipv6 網路訪問?

題主用校園網,路由器系統為 Barrier Breaker 14.07,撥號後路由器自動獲取 ipv6 地址, ssh 命令能 ping 通 http://ipv6.google.com.hk,但是連接在 lan 口的主機無法獲得 ipv6 網路訪問。請問如何配置才能讓 lan 口主機獲得 ipv6 訪問?


分享兩種方法

一、Relay

參考來源:OpenWrt native IPv6-stack [OpenWrt Wiki]

網路環境:清華校園網,聽說老樓不行,轉二

在默認安裝(Openwrt或者LEDE)下,做以下修改:

  • 配置/etc/config/dhcp(只列出wan和lan兩段)

config dhcp "lan"
option interface "lan"
option start "100"
option limit "150"
option leasetime "12h"
option ra "relay"
option ndp "relay"
option dhcpv6 "relay"

config dhcp "wan"
option interface "wan"
option ignore "1"

config dhcp "wan6"
option interface "wan"
option ra "relay"
option ndp "relay"
option dhcpv6 "relay"
option master "1"

二、NAT

貼兩個比較靠譜的鏈接,大同小異。這裡不管哪種辦法,注意把/etc/config/network的IPv6 ULA-Prefix更改為d開頭,默認為f開頭的 unique local address (fc00::/7),類似於192.168.0.1這種私有地址,有些應用會認為其無法連接Internet,比如導致YouTube卡卡的。

  • 清華配置參考:tuna/ipv6.tsinghua.edu.cn

註:最後一步添加路由表,Openwrt CC可以用ip來添加,14.07及以下建議用route,我這邊的癥狀是log顯示添加了路由表,但是實際卻沒有,環境為基於14.07的PandoraBox;

  • Openwrt官方HOWTO:NAT6: IPv6 Masquerading Router

註:更推薦清華方案的hotplug方式配置路由。


說一下我自己的做法吧,五一利用假期時間折騰了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,修改為以下(對照修改):

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"

修改完後重啟,並確保odhcpd是處於開機啟動狀態。
正常的情況應該是,LAN會獲得wan處的ipv6地址(同為2001開頭),然後LAN下面的設備各自獲得自己的ipv6地址。


路由器chaos_calmer/15.05.1

第一步:(Winscp)對luci熟悉的可忽略

opkg update
opkg install luci-i18n-base-zh-cn

第二步:(Winscp)

/etc/config/dhcp

/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 "wan"
option interface "wan"
option dhcpv6 "relay"
option ra "relay"
option ndp "relay"
option master "1"

/etc/config/network

config interface "wan"
option ifname "eth0.X"
option _orig_ifname "eth0.x"
option _orig_bridge "false"
option proto "pppoe"
option username "xxxxxxxxxxxx"
option password "xxxxxx"
option ipv6 "auto"

第三步:Luci-network-interface-Global network options-IPv6 ULA-Prefix 留空

第四步:重啟

Reboot


華北電力大學

使用k2p配openwrt配置NAT6成功訪問ipv6

配置貼參考Lede IPV6 NAT的實戰操作【親測】,使用WEB界面的設置方法和使用命令行的設置方法都有講


你自己查看/etc/config/network裡面Global ULA-Prefix的值,看看你的電腦是不是獲取了這樣的地址。
如果是正常獲取地址但是上不去外網,那麼自己加一條轉發規則就好:
ip6tables -t nat -I POSTROUTING -s (這裡是Global ULA-Prefix的值) -j MASQUERADE


全部設置在luci下就能完成:
1.清空Network-Interface下的ULA-prefix
2.編輯LAN-interface,在DHCP-IPv6中將RA, DHCP, NDP均設置為relay模式
3.IPv6 assignment length設置為獲取到的prefix長度
4.重啟路由之後可能失效,需要ssh進去手動重啟odhcp服務
15.05版本測試可用


我是把外部網線接到lan口上,lan口再拉一根線接到wan口上,這樣lan口和無線都能用ipv6了。。。

不知道什麼原理瞎搞的。


湖南科技大學 路由器 openwrt LEDE ipv6教程

ipv6 地址是/128的

可以參考湖南科技大學 校園網 ipv6 過openwrt路由器 nat6 設置成功


是否可用 radvd 實現區域網 v6


推薦閱讀:

怎麼理解TCP的面向連接和UDP的無連接(不面向連接)?
tcp 握手後向公網發送包,與mss大小不符合,丟失問題?
IPv6是否有FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF這個地址?
為什麼我的網易雲音樂客戶端無法聯網?

TAG:IPv6 | 路由器 | 計算機網路 | OpenWrt |