2018年6月9日土曜日

NVR500でv6プラスに接続してみた

YAMAHAルーター NVR500を使ってv6プラス(MAP-E)で接続してみました。


元々NVR500はv6プラスには対応していないのですが、そこはヤマハルーター。
設定コマンドは上位機種と互換性があり手動できちんと設定してやれば何とかv6プラスで繋がるようです。
ただし実用になるかどうかは別問題ですが...


■接続設定

NVR500用のv6プラス接続設定(サンプル)はこちら


なお、設定に際しては以下の情報が必要です。
  • CEのIPv6アドレス
  • BRのIPv6アドレス
    (2404:9200:225:100::64)
  • MAP-EのIPv4アドレス
  • MAP-Eで使えるポート番号の範囲
これらは回線契約毎に決められていたり計算して求める必要がありますので必ず自分の環境に合わせて確認する必要があります。

今回はこちらのサイトを参考にさせていただきました。

→ ネトゲー回想録:v6プラスのIPアドレス&ポートの計算方法

なお、MAP-Eで使えるポート番号の算出方法については、こちらの記事でも触れています。

→  「v6プラスでポート開放してみた」


設定方法は簡単です。
まずは上記「NVR500用v6プラス接続設定」から設定サンプルをコピペで入手し「メモ帳」などのテキストエディタで自分の環境に合わせてIPアドレスやポート番号範囲を修正してください。
あとはNVR500の「詳細設定と情報」-「コマンドの実行」画面から設定を流し込むだけです。
NVR500を初期化して工場出荷時の状態に戻してからやれば、余計な設定が残ることもなくすぐに使えるようになるでしょう。


■v6プラス接続確認

はい、繋がりました。


本当にv6プラスで接続できているかどうかを以下のサイトで確認します。

→ IPv4/IPv6接続判定ページ


ちゃんとIPv6で接続できているようです。
v6プラス(MAP-E)によるIPv4アドレスも確認できます。


肝心の、【試験10】(最重要!)もOKでした。
間違いなくv6プラスによるインターネットアクセスが有効になっています。


■スピードテスト

次に速度を計測してみます。
Speedtest by Ookla


この辺りは計測サイトや時間帯によっても大きく変わりますが、v6プラスとしてはまずまずといった所でしょうか。


■NVR500の弱点

これで一応v6プラスに接続できましたがNVR500には大きな弱点があります。
上位機種(RTX830)や後継機種(NVR510)とは異なり「ポートセービングIPマスカレード」機能に対応していない為、NAT機能で利用できるセッション数がかなり制限されてしまうということです。

このことは深刻な不具合に繋がります。
具体的には、Webブラウザでニュースサイトを閲覧していると、わずか数ページ記事を参照しただけで利用できるセッション数が枯渇しこれ以上ページが表示できなくなってしまうという有り様です。
これでは全く実用になりません。 

  • 何も表示されない(ページが真っ白)
  • レイアウトが崩れる
  • 画像や広告バナーが表示されない
  • ページの接続エラーになる

今回の設定例ではNATディスクリプションを15個定義してv6プラスの上限である240個のポートを利用可能にした上で、さらにNATセッションの保持期間を短縮して効率をあげていますがそれでもぜんぜん足りません。

「詳細設定と情報」-「コマンドの実行」で、show nat descriptor masquerade port summary
コマンドを実行するとポートの利用状況が確認できますが、適当にサイトを閲覧しているだけですぐにパンクしてしまうことが分かります。

show nat descriptor masquerade port summary



■結論

NVR500でも一応v6プラスに接続できますが快適には使えないでしょう。

#スピード、パフォーマンス的な点では全く問題ないんですけどね..
 上位機種のRTX830が欲しくなってきました

RTX830(v6プラスに正式対応)



2018年1月31日水曜日

v6用語の基礎知識

v6プラス、IPv6オプション、IPv6 IPoE、DS-Lite、、、
IPv6に関連したいろいろな用語がネット上に散乱していますがきちんと区別できていますか?
本来の通信用語であったり、プロバイダ各社の提供するサービス名であったりと、どれも似通っていて紛らわしいことになっており、混乱している人も多いと思います。

個々の用語についての詳しい解説はよそに任せるとして、ここではきちんと用語を区別できるよう、見方・読み方について解説してみます。



■IPv6
(アイピーブイロク)
インターネットプロトコル(IP)のバージョン6(v6)という意味で、vだけ小文字で書きます。
IPv6は通信手順そのものを指しておりプロバイダーの提供するサービス名ではありません。


■V6
(ブイシックス)
Vを大文字で書くと、男性アイドルグループになっちゃいますね。
省略して書くのも善し悪しです。


■IPv6 IPoE
(アイピーブイロク アイピーオーイー)
機器同士がIPv6で直接通信を行うという一番シンプルな「接続方式」です。
IPoEの後半「oE」は「オーバーイーサーネット」。
インターネットプロトコル(IP)を、イーサネット上で送るという意味になります。

面倒な接続IDやパスワードもなく、そのまんま繋がるんです。
なので、PPPoE接続(トンネル方式)に対して、IPoE接続は「ネイティブ方式」とも呼ばれています。


■v6プラス
(ブイロクプラス)
JPNE(日本ネットワークイネーブラー株式会社)が提供する、IPv6を利用した高速通信サービスです。
「v6プラス」は通信用語ではなく、この会社が提供しているサービスの名前です。
IPv6プラス」ではないのでご注意ください。

「v6プラス」は@ニフティやBIGLOBEをはじめ色々なプロバイダから提供されていますが、「v6プラス」を名乗っていれば全て例外なく「JPNE」の接続サービスを利用しており、各プロバイダは契約を取り次いでいるだけです。
ですので、どのプロバイダで「v6プラス」を契約しても優劣はありません。

さて、「v6プラス」ですが、その仕組みは、

「IPv6 IPoE」+「IPv4 over IPv6」

もうお分かりでしょうか。
まず、「IPv6 IPoE」接続があって、それに加えて「IPv4 over IPv6」(IPv4をIPv6上で送る)というサービスなのです。
(ちなみに「IPv4 over IPv6」技術の部分は、「MAP-E」という方式で実現されています。)

つまり、v6プラスで提供されるメイン機能は、「IPv6を利用した高速なIPv4通信」なのです。

ゲーム機がIPv6に対応していないから使えない?
大丈夫です!
だって、「v6プラス」はIPv4通信なんですから。


■IPv6オプション
(アイピーブイロクオプション)
BIGLOBEの提供する、「IPv6 IPoE」+「IPv4 over IPv6」による接続サービスです。
「v6プラス」と同様MAP-E方式を採用しており仕組みも同等ですので、だいたい同じ物と考えてかまいません。

ただし実際にはJPNEではなくBIGLOBEが直接提供している別のサービスですので、「v6プラス」と全く同じというわけではありません。
市販の「v6プラス対応」を謳ったルーターの中には「IPv6オプション」に対応していない物もありますのでご注意ください。


■IPv6オプションライト
(アイピーブイロクオプションライト)
BIGLOBEの提供する「IPv6 IPoE」のみの接続サービス名です。

Q: IPv6にしたのに速くなりません!
A: あたりまえです。

IPv6通信だけでは、現状、殆どのWEBサイトが閲覧できないので、通常はIPv4 PPPoE接続と組み合わせて利用します。
つまりIPv4通信の方は、従来のPPPoEのままですから速度の改善効果は期待できません。


■フレッツ光IPv6接続
(フレッツヒカリ アイピーブイロクセツゾク)
「フレッツ」名前を冠していますが、これはBIGLOBEの接続サービス名です。
NTTの提供するHWG(ホームゲートウェイ)を使わず、市販のv6プラス対応ルーターでv6プラス機能を利用する場合はこちらへ申し込む必要がありました。
(現在、新規受付は終了しています。)


■フレッツ・v6オプション
(フレッツ・ブイロクオプション)
こちらは「フレッツ」の名前のとおり、NTT東日本・NTT西日本の提供しているサービス名です。
プロバイダへ各種IPv6接続サービスを申し込む上での前提条件になっています。
必須のオプションですが、大抵はフレッツ回線が開通した際に自動でついてくるか、もしくはプロバイダ側で契約代行してくれます。


■IPv6接続オプション
(アイピーブイロクセツゾクオプション)
@ニフティの提供する接続サービス名です。
BIGLOBEの「IPv6オプション」と名前が紛らわしいですが、間に「接続」の2文字が入ると@ニフティの提供するサービス名になります。

位置付けとしては、BIGLOBEの「フレッツ光IPv6接続」と同じで、市販のv6プラス対応ルーターでv6プラス機能を利用する物なのですが、従来、「IPv6 IPoE」のみの接続サービスも同じサービス名で提供されていたので、@ニフティの中だけでも紛らわしいことになっています。
参考)v6プラスとIPv6接続オプションの契約状況を確認する


■DS-Lite
(ディーエスライト)
こちらも「IPv4 over IPv6」を実現する方式の一つです。
インターネットマルチフィード株式会社が提供しているtransix(トランジックス)接続サービスにて、IPv4接続オプションという位置づけで提供されています。
「v6プラス」(MAP-E方式)とはよく同列に扱われますが、まったく別のサービスですね。
So-netでIPv6 IPoE接続を開通させると「DS-Lite」が無料で使えてしまうのは有名。


■DS Lite
(ディーエスライト)
間のハイフンを取ると、ニンテンドーのゲーム機になっちゃうのでご注意を。



2018年1月28日日曜日

v6プラスでポート開放してみた

先日購入したネットワークカメラ(エレコム NCC-EWF100RWH)の映像を、外出先からでも見られるように、v6プラスで「ポート開放」してみました。


■はじめに

よく「v6プラスはポート開放が出来ない」と言われますが、これは半分間違いです。
確かに自由にポート開放出来るわけではないのですが、一部のポート番号はルーターさえ対応していれば利用可能なのです。


■ポートの制限

v6プラスでは1つのIPv4グローバルアドレスを複数人で共有している都合上、使えるポートは1契約で240個までに制限されています。
また、240個以内なら何でも使えるわけではなく、あらかじめ自分に割り当てられたポート番号しか利用できません。
たとえば80番ポートでWebサーバーを公開しようと思っても、v6プラス環境では勝手には出来ないわけです。
この辺りがよく「ポート開放出来ない」と言われてしまう理由ですね。

一方、自分に割り当てられたポート番号であればポート開放は可能です。
ルーターをきちんと設定してやることで、v6プラス環境であってもネットワークカメラやNAS装置をインターネット側から利用できるようになるでしょう。

■IPv6アドレスを確認する

それでは、今のv6プラス契約で「自分が何番のポート番号を使えるのか」を確認してみましょう。
自分が使えるポート番号は、自分のIPv6アドレスのプレフィクス(前半部分)から計算で求めることが出来ます。
(つまり、使えるポート番号は人によって変わるわけですね。)

まず最初に自分のIPv6アドレスを調べます。
IPv6アドレスは、ルーターのステータス画面などでも確認できますが、こちらのサイトを利用した方が手っ取り早いでしょう。

→ IPv4/IPv6接続判定ページ

このサイトへアクセスすると、画面上部にあなたのIPv6アドレスが表示されますので、これを控えておいてください。


あと、ここで「判定開始」を実行しておくと、試験結果にあなたのWAN側の「IPv4アドレス」が表示されるので、ついでに控えておくと良いでしょう。
(「IPv4アドレス」は外出先からカメラにアクセスする際の接続先になります)

■使えるポート番号を求める

IPv6アドレスから利用可能なポート番号を求める方法について、こちらのサイトで紹介されていました。

→ 風柳メモ:v6プラス関連の覚え書き

どうやら、IPv6アドレスの一部を切り出してきて、そこからポート番号を計算するようです。
実際に以下のようなIPv6アドレスを例として、利用可能なポート番号を確認してみたいと思います。

<IPv6アドレスの例>
240b:1234:1234:7100:abcd:abcd:abcd:abcd

このIPv6アドレスを構成するコロン(:)で区切られた8つのブロックのうち、4番目のブロックの先頭2文字に注目です。
(この例だと、「 71 」になります)

利用可能ポート範囲

上記のサイトで紹介されていた法則を参考に、IPv6アドレスから抜き出したポートセットID(この例では 71 )の頭と尻に連番を付けて、4桁の16進数にすると、利用可能なポート番号は以下の範囲であることが判ります。

1710171f (16進数)
2710271f (16進数)
3710371f (16進数)
4710471f (16進数)
5710571f (16進数)
6710671f (16進数)
7710771f (16進数)
8710871f (16進数)
9710971f (16進数)
a710a71f (16進数)
b710b71f (16進数)
c710c71f (16進数)
d710d71f (16進数)
e710e71f (16進数)
f710f71f (16進数)

v6プラスで使えるポート番号は、上記のように16個の連続したポート番号の範囲が、全部で15セット。
合計で240個になります。
これを見やすく10進数に直すと以下の通り。

 5904~ 5919
10000~10015
14096~14111
18192~18207
22288~22303
26384~26399
30480~30495
34576~34591
38672~38687
42768~42783
46864~46879
50960~50975
55056~55071
59152~59167
63248~63263

240個が連続しているわけではなく、結構、細切れですね..
尚、これはほんの一例です。
先に述べたように、使えるポート番号は人によって異なりますので、かならず自分の環境で確認するようにしてください。

あと、計算が面倒だという人には、こんなサイトもあります。
http://ipv4.web.fc2.com/map-e.html

自分のIPv6アドレスを入力するだけで、使えるポート番号を算出してくれました。
便利なサイトを作ってくれた人に感謝です。

■ネットワークカメラ側の設定

さて、v6プラスで使えるポート番号が確認できたところで、実際にインターネットに公開したいデバイスを設定します。
今回は、エレコムのネットワークカメラ NCC-EWF100RWHが利用するポート番号を変更してみます。

この機種(NCC-EWF100RWH)ではWebアクセス用とストリーミング用にポート番号が2つ必要ですので、上で調べた範囲の中から実際に利用するポート番号を2つ選びます。
他に予約されている可能性のあるポート番号とバッティングしないよう、特に用途の決められていない「ダイナミックポート」と呼ばれる範囲(49152~65535)から選んでおくのが無難でしょう。
とりあえず、今回は後ろの方から適当に2つ選んで、「63250」 と 「63251」 を使うことにしました。

ブラウザでネットワークカメラの設定画面を開いて以下のように設定します。

  • 「基本設定」-「ネットワーク設定」


HTTPポートの設定を変更する( 80 → 63250


  • 「基本設定」-「RTSP設定」


RTSPポートの設定を変更する( 554 → 63251


■v6プラス対応ルーター側の設定

使用しているルーターは、バッファローのWXR-1900DHP3です。
ポート開放の設定方法は普通のインターネット接続(IPv4 PPPoE)の時と変わりません。

(詳細設定)
 -【セキュリティ】-【ポート変換】



  • グループ:適当な名前を設定します。
  • Internet側IPアドレス:「エアステーションのInternet側IPアドレス」
  • プロトコル:「TCP/UDP」で「任意のTCPポート」を選択し、調べたポート番号を設定しておきます。
  • LAN側IPアドレス:公開したいデバイスのLAN側IPアドレスを設定します。
  • LAN側ポート:省略。(WAN側と同じという意味になります)


同様に、もう1つのポートの設定も追加しておきます。

以上で設定完了です。

■スマホで動作確認

それではスマホでカメラからの映像を見られるようにしてみましょう。
普通のWebブラウザでも映像は確認できますが、スマホに専用の視聴アプリ「Skylink View II」が用意されているので、これを使ってみたいと思います。



アプリのインストールが完了したら、カメラの情報を登録します。


接続モードに「IP」を選択し、IP欄にはルーターWAN側のIPv4のグローバルアドレスを指定します。
Port欄には、ネットワークカメラのHTTPポート(ポート開放済み)を設定しておきます。


これで無事、ネットワークカメラの映像がスマホで確認できるようになりました。

2018年1月20日土曜日

ネットワークカメラ NCC-EWF100RWHを購入


エレコムのネットワークカメラ NCC-EWF100RWHを購入しました。
この機種を選んだ理由は以下の通り。

  • 外部のサーバーを介さず直接カメラ映像を監視できること
  • v6プラスでポート開放して使いたいのでポート番号を変更できること

そして購入の決め手となったのはなんといっても【安かったから】ですね。


この機種、標準価格は1万円を超えているようですが、なぜか今、4千円未満で購入できるようです。
良い時代になりました。


機能的にもかなり充実しています。
あと、接続に「有線LAN」と「無線LAN」どちらでも使えるのはGoodです!


箱から出したら、まず本体の背面に付属の台座をネジ止めします。
付属の台座は金属製で、重量感のあるしっかりしたものでした。
引っ張っても簡単に倒れてしまうことはないでしょう。


台座との結合部分は大きく自由に動かせるようになっており、カメラを好きな角度で固定できます。

スマホ用に専用のアプリ「Skylink ViewII」が用意されていました。
これで外出先から自宅の様子を確認出来るようになりそうです。


なお、専用アプリを使わなくても、普通にWEBブラウザから自宅のIPアドレスを叩けば、カメラからの映像が確認できました。

2017年12月31日日曜日

v6プラスでオンラインゲームをする前に


v6プラスでオンラインゲームをする前に、
ルーターの「UPnP」機能をOFFにしておきましょう。

ルーターのUPnP機能をOFFにしておくことで、一部のオンラインゲームで「時々繋がらないことがある」「頻繁に切れる」「マルチプレイヤーで遊べない」「ボイスチャットができない」などの問題が解消するかもしれません。

v6プラス用ルーターの設定(「WXR-1900DHP3」の場合)

設定はメインメニューの「詳細設定」から行います。

  • 【セキュリティー】-【UPnP】


UPnP機能欄の「使用する」のチェックを外す

※設定完了後、ルーターとクライアント(PC・ゲーム機など)の両方を再起動してください。


解説

オンラインゲームの中には、ルーターのUPnP(ユニバーサル・プラグアンドプレイ)機能を利用してポート開放を試みるものがあります。
UPnPにはLAN内の機器からのポートマッピング要求に対応する機能がありますので、これを利用しているわけですね。
要するにUPnP機能というのは、これを有効にしておくことで必要な「ポート開放」を自動でやってくれるという便利な機能です。


しかしv6プラスの場合は、通信仕様上、ユーザーが自由に使えるポート範囲がかなり制限されており、オンラインゲームが要求してくるようなポート番号はまず利用できません。
それにもかかわらず、ルーターはポート開放要求を受けると、なんでもホイホイOKを返してしまいます。
こうなると、実際にはポート開放など出来ていないのに延々と待ち続けてしまいます。
これはいけません。


そこで、ルーターの「UPnP」機能は、事前にOFFに設定しておくわけですね。
こうすることで、クライアント側はUPnP機能によるポート開放を早々に諦めて、別の通信手段を探してくれます。
一般家庭においてはブロードバンドルーターが必ずUPnP機能を搭載しているという保証などありませんので、ゲーム側でも「UPnPが無いと遊べない」ような作りにはしません。
ポート開放が無理ならサーバ経由での通信に切り替えるなど、大抵は迂回路も用意されていることでしょう。(無論、例外はありますが)


ただし、そのオンラインゲームが「UPnP機能に依存」していたり、特定の「ポート開放が必須」だった場合はどうにもなりません。
その場合は、こちらの記事を参考に、IPv4(PPPoE)との併用を検討してみてください。
参考:v6プラスとIPv4(PPPoE)を併用する(その1)

2017年10月25日水曜日

v6プラス接続障害(2017年10月23日/10月24日)

2017年10月23日から24日にかけて、v6プラスで接続障害が発生しました。
これはv6プラス対応ルーター利用時のみの問題で、HGW(ホームゲートウェイ)を利用して接続していた場合は影響を受けなかったようです。
おそらく、前回7月に起きた障害と同様、マップルール配信サーバのトラブルと思われます。


バッファロー製のv6プラス対応ルーターは、3時間毎にマップルール配信サーバーと通信しており、この時、通信に失敗するとインターネット接続が切れてしまいます。
今回、この23日の障害は非常に短時間で復旧した為、たまたま私は影響を受けませんでした。



一方、24日の障害は長時間にわたって発生していた為、私の環境でも通信が切断されました。
深夜時間帯だった為被害は少なかったようですが、もしこの障害が日中に発生していたら大変な騒ぎになっていたことでしょう。


バッファロー製のv6プラス対応ルーターでは、切断された状態が長時間続いた場合、2時間毎に再接続をリトライしているようです。
アナウンスによると5時24分には障害が復旧したようですが、私の環境で通信が回復したのは6時19分になってからでした。


障害復旧後も通信が回復しない場合は、v6プラス対応ルータの電源をOFF/ONする(明示的に再接続を促す)ことが推奨されています。


バッファロー製v6プラス対応ルーターでのログの確認方法はこちら

2017年7月16日日曜日

v6プラスの接続状況をログで確認する

突然の通信障害!?、何か調子が悪い?
そんな時はルーターのログを確認すると原因が分かるかもしれません。
バッファロー WXR-1900DHP3の場合は、以下の場所でログを確認できます。


  • (詳細設定)-【ステータス】-【ログ】


 一旦、まずは「すべて解除」ボタンを押してから、表示するログ情報の「システム」だけをチェックして「表示」ボタンを押します。
こうすると、v6プラスに関連する情報だけが表示されて見やすくなります。


 通常はこんな感じでログが表示されます。
 特に問題がなければ、  [V6Plus] Receive rule と書かれた行だけが、延々と続いているはずです。
 これは、「マップルールの配信を受けていますよ」という意味のログです。
 バッファロー製「v6プラス」対応ルーターでは、3時間毎にJPNEのマップルール配信サーバーと通信しているようです。


通信障害時のログ


こちらは、先日 2017年7月8日(土)の夜に発生していた大規模通信障害時のログです。
この日は 19時22分頃 から 21時7分頃 まで障害が発生していたようです。


 私の場合、この3時間毎の定期通信が、ちょうど障害が発生していた時間帯とぶつかってしまった為、19時56分頃にマップルールを取得しに行ったタイミングでエラーとなり、その後、障害が復旧するまで小一時間ほどv6プラスによるインターンネット接続が出来なくなってしまいました。

※運良く障害の発生していた時間帯を回避できた人も居るようです。
 また、市販ルーターではなくHGW(ホームゲートウェイ)などを利用してv6プラスで繋ぎっぱなしだった人も障害の影響を受けなかったようです。
 オンラインゲームで言えば「ログイン鯖が死んでるけどINしている人は無事」のような状況でしょうか。


マップルールの配信について

ルーターがv6プラスで接続する為には、まず元締めのJPNE(日本ネットワークイネイブラー株式会社)からマップルールの配信を受ける必要があります。
 v6プラスの通信方式では、複数人で共有するグローバルIPv4アドレスやNAT(NAPT)で利用可能なポート番号をルーター側で算出する必要がある為です。

 例えるなら、これは特急列車「v6プラス」に乗るための「指定席」を取るようなものと言えます。


 上図は簡略化されたフローですが、v6プラス対応ルーターは、まずフレッツ網からIPv6アドレスを取得した後、JPNEのマップルール配信サーバーからマップルールの配信を受け、その後、v6プラスによるインターネット接続を開始するという手順になっています。

 ところが、このマップルール配信サーバーの調子が時折悪くなり、接続障害を起こす場合があります。
 バッファロー製「v6プラス」対応ルーターでは、3時間毎にマップルール配信サーバーと通信しているようですが、この時、通信に失敗するとインターネット接続が切れてしまいます。


過去の障害事例

v6プラス運営側のサーバーで障害が発生した場合、自分の契約しているプロバイダーだけでなく、v6プラスを提供しているプロバイダー(@nifty, BIGLOBE, GMOとくとくBBなど)全てに影響が出ますので、各社の障害情報も併せてチェックしてみると良いでしょう。


  • @niftyの障害情報の例



  • GMOとくとくBBの障害情報の例