RTX830でBIGLOBE光のIPv6オプションを利用する

 

YAMAHA RTX830を使用したBIGLOBE光のIPoE + IPv4 over IPv6方式下で、爆速のインターネット環境を構築するお話です。

1. 背景

 BIGLOBE光に乗り換えてみたものの、IPv4 PPPoE方式ではあまりの低速さに頭を抱えていました。出ても200Mbps、ゴールデンタイムは2Mbps出れば良い方という状態。RTTも20ms前後とあまり早いとは言えず、たまに1000msを超えることもありました。
 しばらくだましだまし使っていたものの、さすがに限界を感じてIPv4 over IPv6方式の導入に踏み切りました。

2. 導入環境

回  線:BIGLOBE光+v6オプション(ひかり電話加入なし)
ルーター:YAMAHA RTX830
その他 :特定ポートを使用するサービスを使用していない
     (ウェブサーバーなど)

 ひかり電話契約のないBIGLOBE光を使っていますが、ひかり電話契約があっても若干コンフィグが変わる程度で、同様に利用できるようです。(未確認)

3. 導入結果

導入する前からいきなり導入結果が出てきますが、ご愛敬として・・・
導入する前と導入後でどのように変わったかをまず紹介しておきます。

            • 導入前

 

        • 導入後

 

日付や時間の違いはあれど、RTTも小さく速度も安定しており非常に満足しています。瞬間値は900Mbpsを超えることもあり、ルーターがトラフィック警告を発するレベルでした。

4. 導入

では実際に導入していきましょう。
とはいっても、BIGLOBEのMAP-Eに関しては単にYAMAHAが公式に出しているコンフィグを流すだけでは動作せず、ある程度環境に合わせて設定を変更する必要があります。
参考:YAMAHA 「v6プラス」対応機能

以下、コンフィグの抜粋。

# ---- IPv6 configuration ----
ipv6 routing on
ipv6 prefix 1 ra-prefix@lan2::/64

description lan1 LAN
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server

description lan2 WAN
ipv6 lan2 address dhcp 
ipv6 lan2 address [CE address]/64
ipv6 lan2 dhcp service client ir=on
ipv6 lan2 secure filter in ~~~~
ipv6 lan2 secure filter out ~~~~
ngn type lan2 ntt

# ---- IPv4 configuration ----
ip route default gateway tunnel 1
ip lan1 address 192.168.0.1/24

# IPv4 over IPv6 tunnel settings
tunnel select 1
 description tunnel MAP-E
 tunnel encapsulation ipip
 tunnel endpoint address [CE IPv6 address] [BR IPv6 address]
 ip tunnel mtu 1460
 ip tunnel nat descriptor 1010 1011 1012 1013
 ip tunnel secure filter in ~~~~~
 ip tunnel secure filter out ~~~~~
 tunnel enable 1
no tunnel select


# ---- Filter configuration ----
# IPv4 filter
ip filter ~~~~~

# IPv6 filter
ipv6 filter ~~~~~

# NAT table for IPv6 tunnel - 1
nat descriptor type 1010 masquerade
nat descriptor address outer 1010 [CE IPv4 address]
nat descriptor address inner 1010 auto

# NAT table for IPv6 tunnel - 2
nat descriptor type 1011 masquerade
nat descriptor address outer 1011 [CE IPv4 address]
nat descriptor address inner 1011 auto

# NAT table for IPv6 tunnel - 3
nat descriptor type 1012 masquerade
nat descriptor address outer 1012 [CE IPv4 address]
nat descriptor address inner 1012 auto

# NAT table for IPv6 tunnel - 4
nat descriptor type 1013 masquerade
nat descriptor address outer 1013 [CE IPv4 address]
nat descriptor address inner 1013 auto

nat descriptor masquerade port range 1010 [Port range]
nat descriptor masquerade port range 1011 [Port range]
nat descriptor masquerade port range 1012 [Port range]
nat descriptor masquerade port range 1013 [Port range]

上記のコンフィグは不完全で、RAやDHCPv6で付与されるIPv6 プリフィックスからCE IPv4/v6アドレスとポート範囲を算出する必要があります。

IPv6 プリフィックスからの計算方法は以下が詳しいです。
v6プラスのIPアドレス&ポートの計算方法: ネトゲー回想録

また、以下のサイトでIPv6プリフィックスを入力すると自動計算することも出来ます。
http://ipv4.web.fc2.com/map-e.html

CEアドレスとポート範囲、BRアドレスが正しく設定されれば、上記コンフィグでIPv4の通信が出来るようになっているはずです。

5. その他

5.1 YAMAHA RTX830のMAP-E事情

RTX830/1210, NVR510/700WはIPv4 over IPv6のトンネル方式としてMAP-Eが選択できるようになっています。

tunnel encapsulation map-e

このシリーズで使用できるMAP-Eでは、JPNEへマッピングルールテーブル問い合わせを行います。しかしBIGLOBEではその問い合わせを自身にねじ曲げてしまうらしく、使用できないそうです。
(もしかしたらマップルールはハードコーディング・・・?)

そこで、配布されるIPv6プリフィックスからマップルールを算出してしまおうというのが今回の方式です。

5.2 NAT descriptorのDescriptor IDについて

お気づきだと思いますが、NAT descriptorのポリシーが4つ適用されています。

これは、1つのポリシーにはポートレンジが4つしか設定できない制約があるため、ポートレンジを拡大する目的として設定されています。

「RTX830でBIGLOBE光のIPv6オプションを利用する」への2件のフィードバック

  1. はじめまして、config真似をさせて頂き接続を試してみましたが、IPV6接続テストではIPV6はOKで、IPVPV4がNGとなります。ほかに設定が必要かお分かりになりますでしょうか?

    1. タカ様

      お返事が遅くなってしまい申し訳ありません。
      おそらく、この設定では複数のディスクリプタをまたぐ通信が出来ないんだと思われます。
      (当方も速度が出るものの、一部でIPv4通信が不安定でした。)

      RTX830はRev.15.02.10から”nat descriptor masquerade port range”で指定出来るポート範囲が大幅に拡充されました。
      http://www.rtpro.yamaha.co.jp/RT/docs/relnote/Rev.15.02/relnote_15_02_10.html

      それに伴い、当方でもconfigを修正しています。
      修正前:
      # IPv4 over IPv6 tunnel settings
      ip tunnel nat descriptor 1010 1011 1012 1013
      ~~~
      # NAT table for IPv6 tunnel - 1
      nat descriptor type 1010 masquerade
      nat descriptor address outer 1010 [CE IPv4 address]
      nat descriptor address inner 1010 auto
      ~~
      nat descriptor masquerade port range 1010 [Port range]
      nat descriptor masquerade port range 1011 [Port range]
      nat descriptor masquerade port range 1012 [Port range]
      nat descriptor masquerade port range 1013 [Port range]

      修正後:
      # IPv4 over IPv6 tunnel settings
      ip tunnel nat descriptor 1010
      ~~
      # NAT table for IPv6 tunnel
      nat descriptor type 1010 masquerade
      nat descriptor address outer 1010 [CE IPv4 address]
      nat descriptor address inner 1010 auto
      ~~~
      nat descriptor masquerade port range 1010 [port range] [port range] [port range] ...(最大64エントリ、65535ポート)

      単独のディスクリプタで最大64エントリ、65535ポートの範囲を指定出来るようになり
      通信の安定性と正常性、さらにはコンフィグの視認性も向上しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です