2018年10月14日日曜日

v6プラスでポート開放してみた(YAMAHA NVR510編)

YAMAHAルーターNVR510でv6プラス接続をしたうえで、自宅に設置したネットワークカメラの映像を、外出先からでも見られるように「ポート開放」の設定をしてみました。

使用するネットワークカメラは、こちらです。
ネットワークカメラ NCC-EWF100RWHを購入
https://dotsukareta.blogspot.jp/2018/01/ncc-ewf100rwh.html


■はじめに

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


■ポートの制限

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

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

■自分の使えるポート番号を確認する

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

※計算方法については、以前にバッファローのWXR-1900DHP3を使ってポート開放をしたときの、こちらの記事を参照してください。

v6プラスでポート開放してみた
さて、NVR510では、便利なことに利用可能なポート番号をコマンドで確認できるようになっています。
v6プラスで接続中に、show nat descriptor addressコマンドを実行することで、利用可能なポート番号が確認できます。

show nat descriptor address

NAT/IPマスカレード 動作タイプ : 2
参照NATディスクリプタ : 1, 適用インタフェース : TUNNEL[1](1)
Masqueradeテーブル
    外側アドレス: map-e/***.***.***.***
    ポート範囲: 5904-5919, 10000-10015, 14096-14111, 18192-18207, 22288-22303, 
26384-26399, 30480-30495, 34576-34591, 38672-38687, 42768-42783, 46864-46879, 5
0960-50975, 55056-55071, 59152-59167, 63248-63263   43 セッション
-*-    -*-    -*-    -*-    -*-    -*-    -*-    -*-    -*-    -*-    -*-
      No.       内側アドレス    セッション数  ホスト毎制限数         種別
       1     192.168.100.240              41           65534         dynamic
       2       192.168.100.1               1           65534         dynamic
       3       192.168.100.2               1           65534         dynamic
---------------------
有効なNATディスクリプタテーブルが1個ありました

利用可能なポート番号の範囲が15セット表示されました。
並べてみると以下のような感じです。

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

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

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

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

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

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


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


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


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


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

今回使用しているルーターは、YAMAHAのNVR510です。
ポート開放の設定方法ですが、普通は「詳細設定」-「NAT」のところで、使用中のNATディスクリプターに対して「静的IPマスカレード」の設定を追加する形で行うのですが..
まあ、ちょっとやってみましょう。

【詳細設定】-【NAT】



MAP_Eで接続中のNATディスクリプターを選んで..



静的IPマスカレードの設定を展開します。



そこへ、ポート開放に必要な設定をして保存しようとすると..



ありゃ、エラーになってしまいました。



エラーで報告されている「外側アドレス」の種別は「MAP_E」です。
これは最近のファームアップで追加されたばかりの種別なので、どうやらWeb GUIからの設定には対応しておらずエラーになってしまうようですね。

しかたないので、コマンドで設定することにします。

  • 「管理」
  • 「保守」-「コマンドの実行」


nat descriptor masquerade static 1000 1 192.168.11.200 tcp 63250
nat descriptor masquerade static 1000 2 192.168.11.200 tcp 63251

ip filter 200031 pass * 192.168.11.200 tcp * 63250
ip filter 200032 pass * 192.168.11.200 tcp * 63251

tunnel select 1
ip tunnel secure filter in 200030 200031 200032 200039


上2行はネットワークカメラのIPアドレス( 192.168.11.200 )を、TCPポート63250、及び、63251で公開するためのポート開放設定です。
(静的IPマスカレード)

あと、IPフィルターの設定も修正が必要です。
デフォルト(YAMAHAのサンプル設定)では基本的に外部から開始される通信はIPフィルターにより全て落とされていますので、これらのポートへの外部からのアクセスを許可してあげないと通信できません。

新しいフィルタールールを定義し、MAP-Eトンネルの受信方向(in側)のIPフィルター設定に対して、これらのルールを追加しておきました。

以上で設定は完了です。


■スマホで動作確認

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



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


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



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

NVR510用v6プラス設定Config(ポート開放)
→ https://dotsukareta.blogspot.com/p/nvr510v6cfgpo.html


2018年9月16日日曜日

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


YAMAHAルーター NVR510 でv6プラスに接続してみました。

NVR510はファームウェアRev.15.01.13以降でv6プラスに正式対応しています。
「まだ買ったばかりで何も分からない」という方は、まずこちらの記事を参考に、ファームウェアの更新をしてください。

v6プラス対応ルーター NVR510 を購入
https://dotsukareta.blogspot.com/2018/09/v6-nvr510.html
 買ってきて箱を開けたら、まず最初にやる事。
 初期設定とファームウェア更新までを解説しています。



1.v6プラス接続用のコンフィグを入手する

ヤマハのサポートページに、v6プラス用の設定例が掲載されているので、まずこれを入手します。

「v6プラス」対応機能 - RTpro
http://www.rtpro.yamaha.co.jp/RT/docs/v6plus/index.html

このページに書かれている「設定例」は、v6プラスへの接続部分だけではなく、一般的な家庭内LANでそのまま使えるよう、DNSやDHCP、ファイアウォールの設定まで網羅された実用的なものになっています。

ひかり電話の契約有無により多少設定が異なりますので、自宅の環境にあった設定例を確認してください。
ひかり電話の契約が無く、今までバッファローやNEC、アイオーデータなどの市販ルーターを使ってv6プラスに接続していたという場合は、

  • ひかり電話を契約していない場合(RAプロキシ)

に該当するので、ここに書かれた設定例(コマンドの羅列)をコピペして入手します。
メモ帳などを使ってテキストファイルに保存しておくと良いでしょう。


尚、ファームアップ後のNVR510ではマップルールを手動で計算したりする必要はなくなりましたので、v6プラスで接続する際には、ユーザー毎に変わるような設定箇所はありません。
またユーザー名やパスワード等の設定も不要ですので、ここで入手した設定例を、そのままなにも修正せずにNVR510の中へ流し込むだけで設定は完了します。


2.NVR510を初期化する

これからv6プラス用の設定を行うまえに、余計な設定がルーター内部に残らないよう、一旦、NVR510を初期化して工場出荷時の状態に戻します。

  • 「管理」
  • 「保守」ー「再起動と初期化」 


3.コマンド実行によるコンフィグの設定

  • 「管理」
  • 「保守」-「コマンドの実行」


「保守」メニューから「コマンドの実行」画面を開いて、入力欄に先ほどヤマハのサイトから入手した設定例をそのままコピペします。



コマンドを実行します。
(画面下部で実行結果が確認できます。)


以上でv6プラス用の設定は完了です。
一旦、ルーターを再起動してください。
WANポートにONUからのケーブルを挿してしばらく待っていると、v6プラスへ自動的に接続されます。
※すぐに接続が完了するときと、MAP-Eでの通信が確立するまで数分間待たされる場合があるようです。

NVR510 vs WXR-1900DHP3

ヤマハとバッファロー
v6プラス対応ルーター同士をスピードテストで比較してみました。
同じ環境、ほぼ同時刻での比較です。

まずは、今回購入した YAMAHA NVR510です。
非常に良好な結果が得られました。
YAMAHA NVR510


次に、今まで使っていたBuffaloの WXR-1900DHP3に戻して、同じ計測サーバーへ接続してみました。
こちらもなかなかの速度が出ています。(元々性能面での不満はありませんでしたが)

Buffalo WXR-1900DHP3


なんだか、ヤマハとバッファローを比べるとダウンロードとアップロードの速度が逆転していますね。
今回はたまたまこんな結果となりましたが、ファイアウォールとかポリシーの違いでしょうか。
各機種、数回テストを繰り返してみましたが、それぞれの数値に大きな差異は見られませんでした。
スピードテストの結果は、時間帯や、接続先の計測サーバーで大きく変わりますが、ほぼ同じ時間帯に同じ計測サーバーへ接続しているので、参考になると思います。


4.ルータの本体環境の整備

とりあえずv6プラスへの接続が確認出来たら、ルーター本体の環境を少し整備しておきましょう。

日時の自動同期の設定

  • 「管理」-「本体の設定」

「日付と時刻の設定」で、NTPサーバーを指定して日時の自動同期するよう設定しておきます。
ここで指定している問い合わせ先NTPサーバーは、日本標準時グループの公開NTPサーバー(ntp.nict.jp)です。


本体パスワードの設定

  • 「管理」
  • 「アクセス管理」-「ユーザーの設定」

NVR510の管理画面にアクセスするためのパスワードを設定しておきます。
ブラウザからWeb GUIへのアクセスには、この「管理パスワード」が使われます。



あともう一つ、NVR510にはデフォルトで「ユーザー名なし」のユーザーが登録されているので、ここにもパスワードを設定しておきます。
こちらはTELNETやSSHでログインする際に使われるユーザーアカウントなのですが、使う機会が無い人でも、きちんと設定しておきましょう。


各種サーバーの設定

  • 「管理」
  • 「アクセス管理」-「各種サーバーの設定」

WAN側からGUIへアクセスできないようにしておきます。
既にIPフィルターによりWAN側からのアクセスは禁止されているのですが、明示的に設定しておいた方が安心できるでしょう。



TELNETを使用したアクセスも、使う予定は無いので禁止しておきます。
(もちろん使うよ?って人は「使用する」のままにしておいてくださいね。)


詳細設定

  • 「IP電話」-「TELポートの設定」


NVR510の電話機能は使う予定が無いので無効にしておきました。
(「TELポート1」「TELポート2」の2カ所に設定があります。)


5.LAN側IPアドレスの変更

ここまでの作業では、ずっとLAN側のIPアドレスを工場出荷時の 192.168.100.1 のままで設定してきましたが、以前に使っていたルーターの環境に合わせて変更したいという場合もあると思います。
LAN内に固定IPの機器がある場合などもそうですね。

さて、NVR510のLAN側IPアドレスの変更ですが、コンフィグを直接修正して「コマンドの実行」から設定し直すこともできますが、設定中に本体を見失うなどのトラブルを避けるためにも、Web GUIから設定することをお勧めします。

  • 「詳細設定」
  • 「LAN」-「IPアドレス」


Web GUIからIPアドレスを変更すると、ルーター本体のIPアドレスだけでなく、DHCPやIPフィルターなど、LAN側IPアドレスに関連する箇所もまとめて自動変更してくれます。
(ものすごく便利)

なお、IPアドレスの変更が完了したら、一度、ルーターを再起動することをお勧めします。
(そのまま作業を続けることも可能ですが、管理者パスワードを受け付けなくなる等、なにか挙動不審になるケースがありました)


6.その他の設定

その他、使いやすくするためにコマンドをいくつか手動で打ち込んで設定してみました。
推奨設定というわけではありませんので、環境を整備する際の参考にしてください。

  • 「管理」
  • 「保守」-「コマンドの実行」


■PPPoEパススルーを許可する
pppoe pass-through member lan1 lan2
NVR510の下流にPPPoE接続用のルーターを別途設置したり、PCやゲーム機から直接PPPoE接続したい場合に設定しておきます。
引数のlan1 lan2の順番は関係ありません。


■DHCPで配信するDNSアドレス
dhcp scope option 1 dns=8.8.8.8,8.8.4.4
まあ、フレッツのDNSサーバーが調子悪くなった時に備えたおまじないですね。
最初の引数の1は既に定義済みのDHCPのスコープ番号。
続けて、クライアントに配信したいDNSサーバーのアドレスを指定します。(カンマで区切って複数指定可能)。
この例で指定した「8.8.8.8」及び「8.8.4.4」は、Googleの提供する無料DNSサービス「Google Public DNS」です。


■DHCPリース時の重複チェック
dhcp duplicate check 100 500
DHCPサーバーがIPアドレスをリースする直前に、既にLAN内で同じIPが使われていないかどうかチェックしてくれるそうです。
ルーターを再起動した直後等、IPアドレスがバッティングして不安定になるのをある程度は回避してくれるでしょう。
※LAN内に応答が遅い端末が居る場合は、先頭の引数100の部分(単位はミリ秒)を増やして調整してみてください。


<ワンポイント>

コマンドの取り消し

入力したコマンドを取り消すには、設定したときのコマンドの先頭に” no ”を付けて実行します。
例)前述のPPPoEパススルーを許可するコマンドを取り消す場合
no pppoe pass-through member lan1 lan2


<設定例(Config)>

NVR510用v6プラス設定Config(基本)
https://dotsukareta.blogspot.com/p/nvr510v6.html


2018年9月15日土曜日

v6プラス対応ルーター NVR510 を購入

YAMAHAルーター NVR510 が、ファームウェアRev.15.01.13以降で、v6プラスに正式対応しました。

※NVR510 Rev.15.01.13 リリースノートより抜粋
  • 「v6プラス」接続サービスに対応した。 
  • PPPoEパススルー機能に対応した。 
  • nat descriptor masquerade port rangeコマンドで設定できるポート範囲の個数を16に増やした。

というわけで、
ついカッ となって買った。
後悔はしていない..



設定用PCの接続

とりあえず箱から出したらまず初期設定です。
最初に電源を入れるときは、LANポートに設定用のPC1台だけを接続し、他の機器は何も繋げないことをお勧めします。


NVR510は工場出荷状態でDHCPが有効になっているので、PC側のネットワーク設定は自動取得にしておけばそのまま繋がるでしょう。

NVR510のLAN側IPアドレスの初期値は「192.168.100.1」です。
ルーターが起動したら、Webブラウザから、
http://192.168.100.1/
にアクセスすると、NVR510のログイン認証が表示されます。


初期状態ではまだ管理者パスワードが設定されていません。
ここは、何も入力せずにそのまま「ログイン」ボタンを押してください。
ユーザー名欄もパスワード欄も空のままでOKです。
これで、NVR510の管理画面にアクセスできます。


購入時のファームウェアは、「Rev.15.01.09 」でした。
v6プラスで利用するには、「Rev.15.01.13 」以上である必要がある為、このままでは設定できません。

そこでまずは IPv4(PPPoE)でインターネットに接続して、ファームウェアの更新をしてみたいと思います。


PPPoEでインターネットに接続する


管理画面の上部にある「かんたん設定」ボタンをクリック。



最初に「プロバイダー接続」アイコンを選択し、あとは画面の質問に答えていくだけで、本当に簡単に設定ができます。



インターフェースの選択では「WAN」を指定します。



接続種別は「PPPoE接続」を選択します。


プロバイダーから指定された、インターネット接続用のユーザー名と接続パスワードを入力します。


あとはそのまま次へ次へと画面を進めて行くだけで、あっさりインターネットに接続できました。

画面右上の「ガジェット」ボタンから、「プロバイダー接続状態」のガジェットを追加しておくと良いでしょう。



こんな感じのパネルがダッシュボード上に追加されて、今の接続状態が確認できるようになります。



ファームウェアを更新する


  • 「管理」-「保守」
  「ファームウェアの更新」




「ネットワーク経由でファームウェアを更新」を選びます。


「実行」ボタンを押してしばらく待った後に自動的にルーターが再起動され、無事、ファームウェアの更新が完了しました。
これで、v6プラス接続にチャレンジできそうです。




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プラス設定Config」ページの内容を「メモ帳」などのテキストエディタへコピペし、自分の環境に合わせて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プラスに正式対応)