QNAP TS-251Dを外出先からアクセスする設定を以前こちらで紹介しましたが、紹介した手順はmyQNAPcloud LinkというQNAPのアプリを使ってmyQNAPcloud経由で NAS に接続するやり方でした。
myQNAPcloud Linkを使えばルーターのめんどくさい設定は不要なのです。
しかしながら、myQNAPcloud経由でのアクセスになるので、速度が遅くなることや使い勝手が悪くなることが懸念されます。
今回は直接外部からNASにアクセスする方法について説明します。なお、我が家はインターネット接続方式の関係で現在の環境ではポート開放できず断念しました。。。その件についても触れておきます。
myQNAPcloud の設定手順
myQNAPcloud Linkを無効化する
NASの管理画面でmyQNAPcloud Linkを無効化します。
自動ルーター構成の設定
自動ルーター構成の設定ではUPnPを利用したポートフォワーディングの設定ができます。そもそもポートとは何か?
ポートとはインターネットから我が家宛てにやってきたデータを家の中の適切な機器に受け渡すための概念。(逆もしかり)
データを受け取る側(今回は家のNAS)はポートを解放してデータ待つ。インターネット経由でデータ送る側(例えばスマホのブラウザとか)はポートを指定してデータを送る。
ポートは番号で指定し、番号毎に機能がある程度決められている。
つまり、外出先からインターネットブラウザとかを使ってインターネット経由でアクセスする場合はブラウザアクセスに適したポートをNASが開けておく必要があります。
また、ルーターはインターネットから送られてきたデータのポート番号を見て、「このポート番号はNASにデータを送ろう」といった具合にポートフォワードする設定をしておかなければなりません。これがポートフォワーディングの設定です。
もし家のルーターがUPnPに対応しているのであればUPnPを有効にしてポート設定を簡単に設定することができます。
UPnPポートフォワーディングを有効にするにチェックを入れて
ここでどのポートをフォワーディングするか設定します。ブラウザからhttpでアクセスしたい場合はWebサーバーにチェックを付けておきます。
DDNSの設定
DDNSはダイナミックDNSの略です。外部から(例えばブラウザ)でアクセスする際、http://サイト名のようにサイト名を入れてアクセスするかと思います。その”サイト名”をIPアドレスに変換してくれるのがDNSです。
家庭に割り当てられたグローバルなIPアドレスは固定かもしれませんし、不変かもしれません。その変化する可能性があるIPアドレスを動的に名前解決する仕組みがDDNSです。
具体的にはmyqnapcloud.comに家のグローバルIPを定期的に送信して、外部からアクセスする際、「http://サイト名」を最新の家のIPアドレスに変換できるようにするための設定になります。
設定は簡単でMy DDNSを有効にします。
有効にして下の更新ボタンを押すと、家の最新のグローバルIPアドレスがmyqnapcloudに登録されているのを確認することができます。更新は10分置きに自動で更新され続けます。
出先から管理画面にアクセスしてみる
これらNASの設定が一通り完了していれば外部のネットワークからアクセスすることができます。
例えばスマートフォンを使って外部からhttp://xxxxx.myqnapcloud.com のようにアドレスを入力すると家のNASにアクセスできるかと思います。
ここでアクセスができない場合は何かしらネットワークに問題があるはずです。例えば、UPnPに対応していないルーターは自分でルーターのポートフォワーディング設定をする必要がありますが、それができていないとか、そもそもポートが解放できない環境であるとか。
ここからは私が断念した理由について説明していきます。
つながらない時はまずインターネット接続方式を確認してみる
うちはドコモ光+プロバイダDTIでIPv6(IPoE + IPv4 over IPv6)という接続方式で戸建てのネットの契約をしています。接続先はOCNバーチャルコネクトです。ルーターはIPoE対応で無料レンタルできるELECOM WRC-1167GST2です。
調べていくうちにこの構成では、前で説明したポートフォワーディング設定は全く使えない、そもそも設定できないということがわかりました。ルーターには以下のような設定メニューがあるのに。。。理解していない私が悪いのですが。。。
では、なぜ、IPoE + IPv4 over IPv6だとポートフォワーディングの設定ができないのか?どういった環境であれば設定できるのかについて説明します。
ポートフォワードできるネットワーク環境とそうでない環境
ポートフォワードできるネットワーク環境は、PPPoEと呼ばれるIPv4を使った接続方式であれば、スムーズにポートフォワード設定ができると思います。
IPoEでもIPv6しか使わないのであれば、IPv4同様にポートを割り当てることができます。
逆にポートフォワードできないネットワーク環境はどのような環境かというとIPoEでIPv4の通信を扱うための通信規格、IPv6プラスやIPv4 over IPv6というネットワーク接続方式を使っている場合は簡単にポートフォワードすることができません。
IPoE+ IPv4 over IPv6はなぜ簡単にポートフォワードできないのか?
なるべく簡単に説明してみます。
まず、IPoEというのは従来よりも高速にインターネットを使える方式で、IPv6というアドレスを使用しています。高速なのはいいのですが、従来方式で使っていたIPv4というアドレスは使えないので、IPv4しかサポートしていないサーバーなどとは接続することができません。
これを解決するのがIPv4 over IPv6やIPv6プラスという方式です。IPoEで通信するデータの中に従来のIPv4のパケットを包んでしまって、必要に応じてほどいて使うというやり方です。
このやり方であればIPv6を使いつつ、従来のIPv4の相手にもアクセスすることができます。
さて、IPoE方式を使っている場合、家庭に割り振られるアドレスはIPv6のアドレスになります。なぜならIPoEはIPv6しか使えないから。
IPv4 over IPv6を使う場合は、IPv6アドレスに加えて、IPv4のアドレスも割り振る必要があります。しかしIPv6はIPv4よりもたくさんのアドレスを表現できるため、IPv4のアドレスが枯渇してしまいます。
そのため、IPv4アドレス+ポート番号(ある一定の範囲)を各家庭に割り当てることで、送信元は送信する家庭を識別しています。
このように通信の仕組みでポート番号を使っているので、家庭のルーターでは自由に使うことがそもそもできないのです。
ただ、ルーターやプロバイダによっては割り振られているポート番号範囲内でポートを解放することもできるようです。なので簡単にポートフォワードできない という表現にしてあります。
おわりに
ネットワークド素人の私が試行錯誤しながらたどり着いたのがポート開放できないという結論です。もし私が間違っていて「できるよ!」という方がいたら、是非コメント欄で教えていただきたいです。
また、ネットワークの解説も間違っている箇所があったら、教えていただけると助かります。
本題であったNASのネットワーク公開についてはmyQNAPcloud Linkを使ってしばらくは運用していきます。とりあえず、許容できる速度でデータが参照できているので、滅多に使うものでもないので、これでよしとしておきたいと思います。
コメント
同じ問題で悩まれている方がいらしたので、直接的ではありませんが、私の解決策をお伝えします。
行ったこと:プロバイダを変更
プロバイダ:ドコモ光+シナプス
いくらかかる?:ドコモへ事務手数料3300円※違約金は契約月数によって変わると思います
他には?:シナプスでIPv6オプションを申し込む※ドコモ光の場合は無料です。
忘れちゃいけないのは?:ルーターにIPv4とIPv6の設定を行う
これでVPN接続やNASへのアクセス、WEBカメラなど色々な問題が解決いたしました。
記事読ませていただきました。
私もQNAPのNASとエレコムの同じ型番のルーターなのですが、
どうしてもNASへの外部アクセスができなくて困ってまして、、、
やっぱりポートフォワード設定できないのですね。。
ルーター買い換えようと思いましたが、同じ現象になりそうで何買っていいか分からず^^;
とりあえず参考になりました。
ありがとうございます。