大月海岸(高知県)
Date/Time: 2007:05:01 15:40:38
Camera: Panasonic
Model: DMC-LX2
Exporsure Time: 1/400 [s]
FNumber: 8.0
Aperture Value: 6.0
Focal Length: 6.3 [mm]

y2blog » OpenWRT + Banana Pi R4 で10Gのv6プラス(MAP-E & 固定IP)ルータを構築してみる(その3:MAP-E編)

12

16

2025

OpenWRT + Banana Pi R4 で10Gのv6プラス(MAP-E & 固定IP)ルータを構築してみる(その3:MAP-E編)

OpenWRTとBanana Pi R4の組み合わせでもv6プラスのMAP-Eに対応できた


OpenWRTでMAP-Eを実装する場合、64bit系のCPU(Soc)では上手く動かすことができなかったという報告がインターネット上に上がっていたので、今回のBanana Pi R4のSoC(mediatek/filogic) はARMv8 64bits系のプロセッサなので、MAP-Eが動作しないのではないかと危惧していた.


今回、駄目もとでNECのIXルータで得られた情報を基に、MAP-Eのパラメータを手動で設定して試してみたら、何とあっさりMAP-Eが動いてしまったので拍子抜けしてしまった.尚、今回テストしたOpenWRTのバージョンは、”OpenWrt 24.10.4, r28959-29397011cc” だった.


OpenWRTでMAP-Eの設定方法に関する設定記事は沢山出回っているが、これらのサイトでは例外無くMAP-Eの設定パラメータを計算してくれるサイトを使ってMAP-E関連のパラメータを算出し、その結果をそのままOpenWRTのMAP-E設定項目に入力することになっている.本来はVNE事業者が用意しているMAPルールサーバにアクセスして、必要なMAPパラメータ情報を取得するのが筋なのだが、VNE事業者はその情報を一般には公開していない.


OpenWRTのようなオープンソースのプロジェクトや団体は情報の提供が受けられないのかそれともライセンス料などの問題が有るのか実態は不明だが、現状では一般のユーザが自分のMAPパラメータを知るにはこのような有志によるMAPパラメータ計算サイトを使うしかないというのが実情だ.本来はVNE事業者がこのようなサイトを一般に提供するべきだ.


MAPパラメータ計算サイトの使い方は簡単で、自分に割り当てられたIPv6 prefixの値を入力欄に記載し、”計算”ボタンを押すと下記の画面のような情報が得られる.


MAP Calucurator
日本のMAP-E系のVNE事業者に対応した各種MAPパラメータを計算してくれる模様

このMAP-Eパラメータ計算サイトでは、入力パラメータはユーザのprefix情報だけなので、何故これだけの情報でMAP-Eのパラメータが算出できるのか腑に落ちないが、EAビット長、MAPドメインのIPv6 prefix長とIPv4 prefix長の情報は予め固定パラメータとして決め打ちなのだろう.このサイトで “2001:db8:12:3400::/56” のような実在しないIPv6 prefix を入力してみたところ、”未対応のプレフィクス” というエラー表示が出て計算できなかったので、日本のVNE事業者のMAP-E関連のパラメータは全て内部にデータとして持っているということなのだろう.


本来であれば、これらのMAP-Eの設定に関するパラメータやBRの情報、MAPルールサーバなどへアクセスするための情報などは、ユーザが契約しているI.S.P.を通じてエンドユーザに通知すべき内容なのだが、日本のVNE事業者やI.S.P.は秘密にして責任を放棄している.


OpenWRTでのMAP-Eの設定概要


設定手順は前回の固定IPの設定方法とほぼ同じで、IPv4 over IPv6 トンネルインターフェースを新たに作成し、それにMAP-E関連のパラメータを設定して行くことになる.


1. MAP-Eインタフェースの設定

固定IPの場合と同じ様にIPv4 over IPv6トンネルインタフェースを新規に作成する.尚、今回は前回の固定IP用のインタフェースをそのまま流用したので名前は “ipv4ipv6″のままになってしまっているが、”map-e” のような分かりやすい名前にしておく方が良いだろう.


“General Settings” の項目では、”Protocol”は “MAP/LW4over6″、Typeは “MAP-E” とする.”BR / DMR / AFTR” の値は、JPIXのMAP-E用ルータのアドレス “2404:9200:225:100::64” を指定する.(この値もVNE事業者毎に異なるので正確なBRのアドレスを事前に把握しておく必要がある)


“IPv4 prefix”の値はv6プラスの場合、”106.72.0.0″ 、”IPv4 prefix length” は “15” に設定する.同様に、”IPv6 prefix” は “240b:10::”、”IPv6 prefix length” は “31” とする.(この値は割り当てられたIPv6 prefixの値から算出しているので、実際にはユーザの環境に応じた正確なIPv4 prefix情報を設定する必要がある)


“EA-bits length” は “25”、”PSID-bits length”は “8”、”PSID offset” は “4” に設定する.(この値も本来はVNE事業者から提供された正確な値を設定する必要があるが、とりあえず計算サイトで提示された情報をそのまま設定すれば良いだろう.


MAP-E Interface General Settings
“General Settings” ではVNE事業者のMAP-E仕様に合わせたパラメータを設定

次に”Advanced Settings” の項目に移り、”Tunnel Link” を “wan6” 、”Use MTU on tunnel interface” の値をデフォルトの1,280のままか、もう少し大きめの値に設定する.この値が大きい方が通信のパフォーマンスが向上するが、伝送経路のMTUサイズが1,500を下回らないのであれば、1,420に設定すれば良いだろう.今回は安全を見越して1,400と若干低めに設定している.(1,280 〜 1,420を推奨)


“Use legacy MAP” のチェックを “ON” にする.(v6プラスはRFC7597になる前の”draft”仕様で実装されているので、必ずこのチェックを付ける)


“IPv6 assignment length”は “64” 、”IPv6 assignment hint” は必ず “0” を設定する.(Subnet IDに”0″ 以外を指定すると接続できない)


“IPv6 suffix” は空欄にしておくと自動で設定される模様.自分で設定する場合は、v6プラスの”draft”仕様のフォーマットで記載する.(前記事: 『MAP-Eの仕組みを簡単におさらいしておく』を参照)


MAP-E Interface Advanced Settings
“Advance Settings” ではVNE事業者のMAP-E仕様に合わせたパラメータを設定

最後に、”Firewall Settings” の項目を開き、前回の 固定IPの場合と同じく “wan” ゾーンに設定する.



MAP-E Interface FW Settings
“Firewall Settings” では “wan” ゾーンに設定


以上で、GUI画面によるMAP-Eの設定は完了である.作成したトンネルインタフェースの内容を保存し、インタフェースの再起動あるいはOpenWRTの再起動を行えば、MAP-Eのコネクションが確立されていることだろう.


参考までにインタフェース関係のOpenWRTのコンフィグ情報を下記に示す.





root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdf2:20bc:4f2e::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'eth1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '172.25.201.1'
        option netmask '255.255.255.0'
        option ip6assign '64'
        option ip6ifaceid '::1'
        option ip6hint 'c9'
        list ip6class 'wan6'

config device
        option name 'br-wan'
        option type 'bridge'
        list ports 'wan'
        list ports 'eth2'

config device
        option name 'wan'
        option macaddr '1e:60:ac:9d:ef:4b'

config device
        option name 'eth2'
        option macaddr '1e:60:ac:9d:ef:4b'

config interface 'wan'
        option device 'br-wan'
        option proto 'dhcp'

config interface 'wan6'
        option device 'br-wan'
        option proto 'dhcpv6'

config interface 'ipv4ipv6'
        option proto 'map'
        option maptype 'map-e'
        option peeraddr '2404:9200:225:100::64'
        option ipaddr '106.72.0.0'
        option ip4prefixlen '15'
        option ip6prefix '240b:10::'
        option ip6prefixlen '31'
        option ealen '25'
        option psidlen '8'
        option offset '4'
        option tunlink 'wan6'
        option mtu '1400'
        option legacymap '1'
        option ip6assign '64'
        option ip6hint '0'

root@OpenWrt:~#  




MAP-E Interface Status
トンネルInterfaceの状況を確認

OpenWRT Status
IPv4通信がMAP-Eインタフェースを通じて外部に接続されている


MAP-EによるIPv4とIPv6ネイティブの通信状況


IPv6の確認サイトとスピードテストサイトにアクセスして、どの程度の性能差があるのかを簡単にテストしてみた.




IPv6Test MAP-E
Test-IPv6サイトでの確認

Dual Stack SpeedTest
IPv4/IPv6 Dual Stack Speed Test の結果

FAST Speed Test
FASTスピードテストの値(IPv6 Native)

スピードテストサイトは測定する時間帯やそのサイトとVNE事業者の間の接続環境に大きく依存するのであまり参考にはならないが、Banana Pi R4 と OpenWRTの組み合わせでもそこそこのスピードが得られているので、一般?家庭で使用する分には十分なスピードだろう.まだ長期間稼働させていないので安定性に関しては何とも言えないが、家庭用であればトラブルが発生したらとりあえずルータをリブートさせれば回復するので、そこそこ実用的なルータ環境が構築できるだろう.


今後はもう少しOpenWRTの設定に慣れて、NECのIXルータで構築しているような環境をOpenWRTでも実装してみようと思う.




蛇足: LINKSYS Wi-Fiルーター VELOP WRT PRO 7 Wi-Fi 7 LN6001-JP が面白そう



Banana Pi R4 + OpenWRTの組み合わせは、IoTガジェット好きな人達には申し分のない環境だが、Banana Pi R4を入手するのがちょっと面倒だ.国内の販売店経由でも入手可能なようだが、納期が2〜3週間ほど掛かるようだ.尤も現在の日中間のバカバカしい騒動や昨今のAI災害のとばっちりを喰って今後どうなるかは見通せないことも不安要因だ.


Banana Pi R4以外の選択肢として、Linksys社(USの老舗コンシュマー用NW機器メーカーで、買収によって親会社がCisco -> Belkin -> Fortinetと目まぐるしく揺れ動いている)が ”Linksys Velop WRT Pro 7 OpenWrt互換 WiFi 7ルーター” という製品を販売している.


OpenWRTが生まれたのはLinksys社のルータのファームウェアがオープンソース化されGPLライセンスで公開されたことがきっかけで生まれたものなので、子供が出世して故郷に錦を飾ったとでも言うべきところだろうか.


Velop WRT Pro 7のWANポートは2.5Gbps、LAN側ポートは1Gbpsなのでフレッツクロスなどの10Gbps系のサービスで使うにはちょっと力不足の感はあるが、実際にはWAN側のスピードはせいぜい数Gbps程度なので、WAN側の速度は2.5Gbpsでもそれ程問題は無さそうだ.できればLAN側のポートも2.5Gbpsにして欲しかったが、Wi-Fi7の無線LAN機器で接続した場合は1Gbpsの制約はなくなるので、無線LANルータとして使うのが現実的だろう.


Amazonの販売ページの説明によると、この製品に搭載されているOpenWRTのバージョンはOpenWrt 19.07ベース、QualcommのSoCは IPQ9554-MSP615 という型番の物のようだ.肝心のQualcommのホームページにはこの製品の資料が見当たらなかったが、Digi-Keyでの値段は@4,164円となっていた.


Qualcommのホームページの “Qualcomm® Networking Pro 610 Platform”“Qualcomm® Networking Pro620 Platform”が紹介されており、610がWi-fi 6E、620がWi-Fi 7 用ということらしい.615はその間の子ということだろうか.


勿論このVelop WRT Pro 7は日本の技適を取得しているので、何の問題もなく安心してWi-Fi 7の無線LAN環境を構築できる.Linksysが用意しているソフトウェアパッケージだけではなく、ユーザがOpenWRTのパッケージを簡単に追加インストールできるので、パワーユーザであれば自分好みにカスタマイズが可能だ.


今回の記事のようにBanana Pi + OpenWRTでの構築した場合と違い、Linksysのパッケージは日本のVNE事業者のサービスを利用するための設定が施されているので、他のメーカと同じようにVNE事業者との接続性が保証されていると言えるだろう.(設定方法『OpenWrt IPoE等インターネットサービスの設定方法 Velop WRT Pro 7 (LN6001-JP / MBE70) map-e ds-lite ipip』)


実際にLinksysが提供している日本のVNE事業者が提供しているIPoE系のサービスに対応させるパッケージ “velop-auto-ipoe_1.58″_all.ipk” の内容を少しだけ確認してみたが、OpenWRTのパッケージ(ds-lite, map, …)と”velop-auto-ipoe” というLinksysが提供するIPoEサービスに接続するための各種スクリプトや設定ファイル郡がインストールされるようだ.


この”velop-auto-ipoe_1.58″_all.ipk”はあくまでもVelop WRT Pro 7を購入したユーザにLinksysが提供するパッケージなので、その中身についての言及は避けるが、Luaスクリプトの内容はかなり複雑(数千行以上)でその概要を把握するには時間が掛かりそうだ.


スクリプトの中身をざっと眺めただけなので、その中身を理解するところまでは行けてないが、デバイスのMACアドレスからベンダーを調べている箇所があったので、Linksys以外のデバイスでは動かないだろう.VNE事業者のAPIにアクセスするための認証情報などをそのままスクリプトに埋め込むことができないので、Linksysのサーバに一旦アクセスしてVNE事業者のAPIにアクセスするための情報を得ているようだ.(数千行も有るスクリプトをざっと眺めただけなので、この記述内容は間違っているかもしれない)


また、v6プラスのMAPルールサーバのAPI呼び出しで、ルータ機器のメーカのIDをURLに埋め込んでいるようなので、やはり契約しているメーカ以外はマップルールを取得することができない仕組みになっている.


自分でOpenWRT関連のパッケージの開発を行ったり、OpenWRTのエバンジェリストを目指すのであれば、この”velop-auto-ipoe_1.58″_all.ipk” が行っている中身を知ることはとても有益だろう.


“velop-auto-ipoe_1.58″_all.ipk”をインストールすると実際にどのようなパッケージ郡がインストールされるのか下記に示す.




opkg install /tmp/upload.ipk
Installing velop-auto-ipoe (1.58) to root...
Installing libnghttp2-14 (1.63.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.4/packages/aarch64_cortex-a53/packages/libnghttp2-14_1.63.0-r1_aarch64_cortex-a53.ipk
Installing libcurl4 (8.12.1-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.4/packages/aarch64_cortex-a53/packages/libcurl4_8.12.1-r1_aarch64_cortex-a53.ipk
Installing curl (8.12.1-r1) to root...
 
 ...

Downloading https://downloads.openwrt.org/releases/24.10.4/packages/aarch64_cortex-a53/base/ca-certificates_20250419-r1_all.ipk
Configuring terminfo.
Configuring libopenssl3.
Configuring kmod-iptunnel6.
Configuring kmod-ip6-tunnel.
Configuring jq.
Configuring libncurses6.
Configuring libreadline8.
Configuring bash.
Configuring kmod-nf-ipt.
Configuring kmod-ipt-core.
Configuring kmod-ipt-conntrack.
Configuring resolveip.
Configuring liblua5.1.5.
Configuring lua-cjson.
Configuring libxtables12.
Configuring lua.
Configuring luasocket.
Configuring kmod-nf-conncount.
Configuring kmod-ipt-conntrack-extra.
Configuring libnghttp2-14.
Configuring libcurl4.
Configuring curl.
Configuring ds-lite.
Configuring ca-certificates.
Configuring luasec.
Configuring iptables-mod-conntrack-extra.
Configuring kmod-nat46.
Configuring lua-openssl.
Configuring map.
Configuring velop-auto-ipoe.



最終行の “velop-auto-ipoe” がLinksys者が用意したIPoE関連の各種設定を施すスクリプト郡のパッケージで、インストール後にOpenWRTの中身を探っていけば、実施のスクリプトの内容を知ることができるので、OpenWRTでIPoE接続環境を構築したいと考えている人たちの福音となるだろう.


VELOP WRT PRO 7nのお値段は、現時点でAMAZONで¥39,800 (税込)10%offセール?、ヨドバシで¥48,800(税込) となっているので、ちょっとお高めだが、メーカー製の安心感が得られることを考えれば安いのではないかと思う.


私も実家のインターネット用のルータとして1台確保しておこうかと思う.




Calendar

January 2026
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031

Latest Posts

  • Blogroll

  • Meta