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