最近引っ越ししまして、ネット回線もいろいろと変わりました。IPv6対応もだいたい終わったので備忘録も兼ねて。今回はヤマハ製ルーターでv6プラス(IPv6 IPoE + IPv4 over IPv6)接続についてメモしてます。
v6プラスについて
「v6プラス」は、NTT東西の次世代ネットワーク(NGN)を利用しインターネット接続を提供するISP事業者が、IPv6及びIPv4の設備を持たずに、インターネット接続をお客さま(エンドユーザ)にご提供いただくためのサービスです。
本サービスは、「IPoE方式」によるIPv6インターネット接続とIPv6ネットワーク上で実現するIPv4インターネット接続のデュアルスタックのローミングサービスです。
v6プラスはJPNE(日本ネットワークイネイブラー株式会社)をVNE事業者とするIPv4/IPv6インターネット接続サービスの総称で、IPv4/IPv6共存技術あるいはIPv6移行技術と呼ばれているそうです。技術的にはIPv6 IPoE + IPv4 over IPv6接続方式となっており、IPv4 over IPv6にはトンネリング技術の一つであるMAP-E(Mapping of Address and Port with Encapsulation)方式が採用されています。IPv4パケットをIPv6にカプセル化しトンネリングすることで、ネットワーク基幹部分をIPv6だけで構築することができます。
NGNはインターネットとは切り離されている閉域網であり、IPv6の扱いが特殊なので、この部分は日本固有の問題として学ぶ必要がありました。
ということなので、海外製ルーターだとv6プラスに対応してないこともまぁまぁあります。以前使っていたUbiquiti Networks製のEdgeRouterやASUS製Wi-FiルーターなどはMAP-E対応していませんでした(今現在の最新製品ならできるかもしれません、未調査)。
ではなぜ多少なりとも手間をかけてv6プラス対応するのかというと、ネットワーク回線速度の向上が期待できるからです。トラフィック経路がISP(相互接続点の網終端装置)ではなくVNE経由になり、NGNと直接ルーティングすることで通信の混雑を回避して通信速度向上を図ります。
ヤマハルーターでMAP-E接続
現在自宅で使っているYAMAHA RTX830ではRev.15.02.03以降のファームウェアからMAP-E方式に正式対応しており、コンフィグ情報も公式サイトの通りで問題なくMAP-E接続できました。なのでわざわざブログ記事にする必要はないんですが、実際に回線速度がかなり上がったので嬉しくて記事にしました(^^
* 環境
機器: YAMAHA RTX830 (Rev.15.02.09以降)
回線: ドコモ光タイプA(GMO とくとくBB) ひかり電話契約無し(RA)
接続方式: IPv6 IPoE + Ipv4 over IPv6 (v6プラス)
ONU -> RTX830 -> RT-AC86U
設定したコンフィグを一応以下に残しておきます。見やすいようにフィルタ設定等は省いてIPv6 IPoE + Ipv4 over IPv6接続対応部分だけ抜粋します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# RTX830 Rev.15.02.09 (Fri Nov 2 14:23:51 2018) # (filter定義部分は長くなるため省略しています) ip route default gateway tunnel 1 ipv6 prefix 1 ra-prefix@lan2::/64 ip lan1 address 192.168.100.1/24 ipv6 lan1 address ra-prefix@lan2::1/64 ipv6 lan1 rtadv send 1 o_flag=on ipv6 lan1 dhcp service server description lan2 "IPv6 IPoE(MAP-E)" ipv6 lan2 dhcp service client ir=on tunnel select 1 tunnel encapsulation map-e ip tunnel mtu 1460 ip tunnel nat descriptor 1000 tunnel enable 1 nat descriptor type 1000 masquerade nat descriptor address outer 1000 map-e dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.100.2-192.168.100.191/24 dns server dhcp lan2 |
* 接続確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# show status tunnel 1 TUNNEL[1]: 説明: インタフェースの種類: MAP-E IPv6: xxxx:xx:xxxx:xxxx:xx:xxxx:xxx:xxxx トンネルインタフェースは接続されています 開始: 2019/07/07 07:07:07 通信時間: 14時間8分21秒 受信: (IPv4) 3969155 パケット [4890313899 オクテット] (IPv6) 0 パケット [0 オクテット] 送信: (IPv4) 1194736 パケット [162735369 オクテット] (IPv6) 0 パケット [0 オクテット] # show status lan2 LAN2 説明: IPv6 IPoE(MAP-E) IPアドレス: イーサネットアドレス: ac:44:f2:63:da:e1 動作モード設定: Auto Negotiation (1000BASE-T Full Duplex) 最大パケット長(MTU): 1500 オクテット プロミスキャスモード: OFF 送信パケット: 31083764 パケット(10377392756 オクテット) IPv4(全体/ファストパス): 0 パケット / 0 パケット IPv6(全体/ファストパス): 31083764 パケット / 29789642 パケット 受信パケット: 70086225 パケット(99076765285 オクテット) IPv4: 0 パケット IPv6: 70086225 パケット |
DNS周りで少し躓いたのですが、最終的にはコンフィグを一旦全部消して公式サイト通りに設定したら動きました。。原因はGUIとCUIの設定を混在させて作業していたせいだと思います。意図していない設定が差し込まれ、コマンド評価順の都合等で意図通りに動作しないケースはけっこうありそうです。また、2019/07現在、MAP-E対応はコマンドでしかできません。
* 通信速度 (speedtest.netで測定)
IPv4 PPPoEの頃はだいたい100 – 120Mbpsくらいだったのですが予想以上に速くなりました。下の結果は平日夜間(金曜の20時くらい)に測ったものですが、時間帯に依らず通信速度が安定したのも嬉しいです。パケットフィルタは前述のヤマハ公式サイトの設定+α程度で適用していますが、ノーガードならさらに速くなるのでしょうかね。
おまけ: MAP-E アドレス/ポートレンジ計算
RTX830では正式にMAP-E対応されており、トンネルの設定等でmap-e
という文字列も使えるようになっています。でも実は正式対応前のファームウェアでもMAP-Eのアドレス/ポートレンジ計算を手動でやって設定すればMAP-E接続できたという報告がちらほら上がっていたようです。IPv6技術の勉強にもなるかなと思って僕も手計算してみました。
BRのIPv6アドレスとマップルールを知っていれば設定できるようです。計算手順例については上記のRFC7597 Appendix Aを見るのがわかりやすいかと。ヤマハルーターの設定の自由度とネットワークの知識があればMAP-E対応前の既存コマンドの組み合わせで繋がるんですね。これはもしかしてEdgeRouter Xでも手動計算すれば接続できるのかな。もう処分しちゃったから試せませんが、。
MAP-E接続完了後なら以下のコマンドで各情報を見て検算できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# show ipv6 address LAN1 scope-id 1 [up] Received: 352937 packets 56673991 octets Transmitted: 306356 packets 44687875 octets グローバル 240b:xxxx:qqrr:ss00::1/64 (lifetime: 604728/2591928) ## IPv6プレフィックス グローバル 240b:xxxx:qqrr:ss00:aa:bbbb:cccc:dddd/64 ## CE IPv6アドレス ... 省略 # show nat descriptor address NAT/IPマスカレード 動作タイプ : 2 参照NATディスクリプタ : 1000, 適用インタフェース : TUNNEL[1](1) Masqueradeテーブル 外側アドレス: map-e/xxx.xxx.xxx.xxx ## MAP-E IPv4アドレス, ポート ポート範囲: 4880-4895, 8976-8991, 13072-13087, 17168-17183, 21264-21279, 25 360-25375, 29456-29471, 33552-33567, 37648-37663, 41744-41759, 45840-45855, 499 36-49951, 54032-54047, 58128-58143, 62224-62239 ... 省略 |
ヤマハルーターではLuaが動きますが、Luaの勉強ついでにこの計算用スクリプトを書いてみるのも良いかもしれません。
おわりに
IPv6 IPoE + IPv4 over IPv6対応している内にネットワーク技術を多少学ぶことができて良かったです。ヤマハ製ルーター使ってると学ぶモチベーションも割と上がったような気がします。EdgeRouterを使ってた時は、良くも悪くもLinux的な感じなのでWeb屋にとっては新鮮さを感じなかったせいというのはあります。コスパは最高でしたが、いずれにせよMAP-Eに対応してなかったので買い換える必要はありました。
ヤマハ製ルーターは写真だとわかりにくいですけど、金属筐体の質が良いんですよ、触り心地というか。RTXだとACアダプタも無くてすっきりしてます。
ネットワーク関連の技術メモはブログよりWikiの方が合ってるかなと思ったのでTech Note > YAMAHA Routerの方に都度メモ書きしていこうと思います。
次はVPN環境を整備していく予定です。
参考
- v6プラス(IPv6/IPv4インターネットサービス) | 日本ネットワークイネイブラー株式会社
- IPIPトンネリング
- フレッツ網におけるIPv6 – Wikipedia
- 疲労コンパイル: NVR510でv6プラスに接続してみた
- Yamaha RTX830 を使ってv6プラスの接続試験をしてみました。:(仮)タイトルいつ決めるのさ
- RFC 7597 – Mapping of Address and Port with Encapsulation (MAP-E)
はじめまして、お分かりになればなのですが。。。
BIGLOBE光でIPV6(MAP-E)を利用したいと考えております。
RTX830は公式通りで接続可能でしょうか?
なんか公式通りではできないというブログもあったり、
wellflat様みたいに公式通りというブログがあったり、
混乱してます。
まだ、実機もなく、回線も5/21よりなので、試す前に情報収集がしたく、ご連絡させていただきました。
この記事に載せているYAMAHA公式設定は日本ネットワークイネイブラー株式会社(JPNE)が提供する「v6プラス」を利用してMAP-E接続する構成となっています。お使いのプロバイダのIPv6サービスがJPNE提供のv6プラスでは無かった場合はここで載せている公式設定そのままでは接続できないかと思います。また、IPv4 over IPv6トンネル方式はMAP-Eの他にDS-Liteという方式もあるのでそこも併せて確認しておいた方が良いかと思います。