清水理史の「イニシャルB」

IPv6で直接NASにつなげばいいじゃん! IPoE IPv6環境では外部からNASへアクセスできない?を検証してみた

 「IPoE IPv6環境では、NASやサーバーの公開はあきらめたほうがいい」。一般的にはそう説明されることが多いが、実際のところどうなのだろうか? transixのインターネット接続環境で、Synology NASへの外部からのアクセスを検証してみた。

IPoE IPv6の課題は、サーバー公開への制限

 接続速度の改善が期待できることから、v6プラスやtransixなどのサービスが話題となっているが、これらのサービスの最大の課題は、サーバーなどをインターネットに公開する場合に制限がある点だ。

 v6プラスは、ユーザーごとに同じIPアドレスの異なるポートが配布されるため、利用できるポートが限られてしまう。一方のtransix(DS-Lite)は、事業社側でNATがかけられてしまうため、ユーザーがポートフォワードなどの設定をすることができない。

 サーバーの公開というと特殊な話のように聞こえるかもしれないが、NASやIPカメラなどへの外部からのアクセスをはじめ、対戦型ゲームなども、内側から外側だけでなく、外部から内側へのアクセスを受け入れる必要がある場合がある。こうしたものでは、回線サービス側の仕様が、時に制限となってしまう可能性がある。

 筆者は、過去の本連載でも触れたように、v6プラスからtransixに乗り換えた後も、Synology「RT2600ac」を利用してPPPoE接続を併用することで、こうした制約を回避してきた。だが、WAN接続を2系統使えるルーターを使うという特殊な方法が必要となっていた。今回、一般的なWi-Fiルーターを利用して、transix環境下でNASへの接続がどのように制限されるのかを確認してみた。

transix(DS-Lite)では事業社側でNATがかかるため、ポートマッピングなどの設定はできない

実はtransix回線でも外部からNASにつながる

 まずは、何も考えずにつないでみよう。

 NECプラットフォームズのWi-Fiルーター「Aterm WG2600HP3」をtransix回線に接続し、LANポートの1つにSynologyの「DS119J」を接続。DS119Jの初期設定で「QuickConnect」(詳しくは後述)を有効化し、一般的な構成しておく。transix接続を選択すると、AtermではポートマッピングやUPnPの設定が表示されなくなるため、当然、どのポートも転送していない状態だ。

 この状態で、別の回線からウェブブラウザーで「http://test119.quickconnect.to」へとアクセスすると、しばらく時間がかかるものの、問題なくNASに接続できる。

SynologyのNASでは、初期設定でQuickConnectが有効化される。これがポイント
transixが選択されると、ポートマッピングやUPnPが無効化され、設定が表示されなくなる
この状態でも、実は外出先からNASにアクセスできる

 ユーザーにしてみれば「必要以上に心配することはなかった……」といったところかもしれないが、ここで注目して欲しいのが、アクセス先のアドレスだ。

 ブラウザーのアドレス欄が「https://test119.jp2.quickconnect.to/」と、QuickConnectのサーバー(日本サーバー!)になっている。これは、NASに直接接続されているのではなく、サーバー経由の、いわゆる「リレー」でNASへと接続されていることを示している。

 この方法でも、問題なくNASの機能を外部から使うことはできるが、すべての通信がサーバーで中継されるため、速度はあまり期待できない。

 試しに、1GBのファイルを転送してみたが、転送速度はアップロードで5~10MB/s、ダウンロードで10MB/s(ダウンロードの方が安定している印象)といったところだった。環境や時間帯にもよるので何とも言えないが、かなり待たされる印象だ。

 個人的に「外出先からのNASへのアクセスが遅いんだけど……」という質問をたまに受けることがあるのだが、その原因の多くは、この例と同様に、QuickConnectのリレーで接続されていたというものが多い。

リレーでNASに接続したときの速度は、ダウンロードでも10MB/s前後

NASへのリモートアクセスを容易に実現できるQuickConncectの仕組みを知る

 ここで、QuickConnectの仕組みについて、少し紹介しておこう。QuickConnectは、NASへのリモートアクセスを容易に実現できる技術で、Dynamic DNS+接続環境チェック+NAT Traversalを組み合わせたような、統合的なサービスとなる。

 ポイントとなるのは、NAT Traversal(NAT越え)の部分だろう。同社が公開しているホワイトペーパー(PDF)によると、ウェブページでのアクセスの場合は、次のようなフローで接続を試みる。

ウェブアクセス時の接続フロー(引用元:Synology QuickConnect White Paper)
ウェブアクセス時の接続イメージ(引用元:Synology QuickConnect White Paper)

 QuickConnectのアドレスでアクセスすると、まず、ローカルネットワーク内に対象のサーバーがあるかどうかがチェックされ、なければ外部からのアクセスと見なす。このとき、自宅側のルーターのポートに対してアクセス可能であれば、直接、WAN経由でのアクセスが確立され、できない場合は、上記のリレーサービスを使った接続になる。

 なので、NAS上でリレーサービスを無効にすると、当然、接続できなくなる。

NASの設定でQuickConnect中継サービス(リレーサービス)を無効にすれば……
当然、外部からの接続に失敗する

 ちなみに、接続フローはウェブアクセスとアプリ(PC用の「Synology Drive」やスマートフォン用の「DS xxx」シリーズなど)で異なっており、アプリを利用する場合は、NAT越えでよく使われる「Hole Punching」と呼ばれる方法で、アプリとNASとの間の通信を直接確立しようと試み、失敗すれば同様にリレーサービスでの接続となる。

アプリ利用時のフロー。こちらはHole Punchingが試みられる(引用元:Synology QuickConnect White Paper)
アプリ利用時の接続イメージ(引用元:Synology QuickConnect White Paper)

 要するに、前述したtransix環境におけるテストでは、ほかの接続方法がすべてNGだったため、最後の頼みのリレーでつながったことになる。「つながればいい」というのであれば、面倒な設定なんて考えず、そのまま使うという選択肢もある。

 上記の仕組みには、Synlogyならではの技術も一部含まれているが、基本的な考え方は、一般的な機器やアプリでも共通だ。ネットワーク接続が可能な最近のIPカメラなどでも、同様に直接接続を試みて、NGならリレーで接続するという方式が採用されている。

なんだ、IPv6のままで直接つなげばいいんじゃん

 しかし、リレーでの接続は遅いので、できれば速度を改善したいところだ。

 そこで、活用したいのがIPv6となるわけだ。そもそもIPv6がメインで、IPoE IPv6などでは、移行のための手段としてIPv6上でIPv4を使っているだけに過ぎないのだから、IPv4にそこまでこだわる必要はない。後述する通り不確定な部分が多いものの、外出先からでもIPv6が使える環境は増えているので、これを用いてIPv6でつなげばいいわけだ。

 IPv6でNASにアクセスできるようにする方法は、とても簡単だ。SynologyのNASは標準でIPv6アドレスを取得する設定になっているので、NAS側の設定は何も必要ない。ネットワークインターフェースの画面で、現在、割り当てられているIPv6のアドレスを確認し、メモしておこう。

 続いて、ルーター(Aterm WG2600HP3)でIPv6のフィルターを設定し、外部からNASへの通信を通過させる。ウェブアクセスはTCPポート5000番(HTTP)とTCPポート5001番(HTTPS)なので、NASのアドレスに対してのみ、この2つを通過させればいい。

 この状態で、「https://[2409:10:21e0:4600:xxxx:xxxx:xxxx:xxxx1]:5001」のようにIPv6アドレスを直接指定して、ブラウザーで外出先のPCからアクセスすれば、NASに接続できるはずだ。

NASに割り当てられたIPv6アドレスを確認
ルーターで、NASのIPv6アドレスに対する5000番と5001番の通信を通過させる(ほかのサービスやアプリを使いたいなら、そのポートも通過させる)
外出先からIPv6でNASにアクセスできた

 ちなみに、上の例ではIPv6アドレスを直接指定したが、こんなに長いアドレスを覚えるのは現実的ではない。ただ、当たり前だがIPv6なのでアドレスは固定されている。

 名前でアクセスしたい場合は、前述したQuickConnnectを使って、test119.quickconnect.toへとアクセスすれば、前述したフローの結果、IPv6でのWAN接続が選択される。そうでなければ、Dynamic DNSを利用しよう。

 SynologyのDynamic DNSはIPv6にも対応しているので、コントロールパネルの外部アクセスからDDNSを有効化しておけば、「test119.synology.me」のような名前で、アクセスができるようになる。

 接続時の試行がない分、Dynamic DNSの方が素早く接続できる一方、QuickConnectでの接続では、接続する側の端末でIPv6が使えなかった場合でも、接続が自動的にリレーに切り替わるのがメリットだ。

Dynamic DNSでもアクセス可能

 IPv6でWAN接続した場合、肝心の速度はアップロードで25MB/s前後、ダウンロードで36MB/s前後となった。ダウンロードの場合で、リレー接続時の3倍以上速くなったことになる。

ダウンロードで36MB/s前後を実現できる

課題は外出先の端末でIPv6が使えるかどうか

 このように、せっかく回線がIPv6に対応しているのだから、外出先からの接続もIPv6を使った方が効率的だ。しかし、外出先からの環境では、まだIPv6が使えるとは限らない点が課題だ。

 これについては、総務省が公表している「IPv6によるインターネット利用高度化に関する研究会 最終報告書」を参照する限り、次のような状況だ。

 スマートフォンに関しては、キャリアでのIPv6対応が粛々と進められ、NTTドコモは2017年5月以降の発売機種で対応しており、SPモードでのIPv6も、サービスの提供が開始されている(ドコモ回線を利用するMVNOもIPv6対応可能)。

 KDDIでも、2017年9月以降の発売機種が標準でIPv6に対応しており、現状はLTE.NETでもIPv6が利用可能な状況となっているが、接続先に依存する状況だ(筆者宅では割り当てられてない)。ソフトバンクは2016年6月以降で対応しており、こちらも接続先によっては割り当てられる状況となっている。

 公衆無線LANについては、NTT東日本の「ギガらくWi-Fi」、NTT西日本の「スマート光ビジネスWi-Fi」が提供開始時よりIPv6に対応。KDDIの「au Wi-Fi SPOT」は、平成29年度内に提供開始。ソフトバンクの「Softbank Wi-Fiスポット」はすでに提供中となっている。

 これを見る限り、かなり対応が進んでいるように見えるが、まだ地域によっては差がある状況と言えそうだ。

 理想は、完全にIPv6に移行してしまうことだが、まだつながらない場所がある以上は、現状はIPv6での接続を使いつつ、つながらなかったときのためにQuickConnectでのリレーを最後の手段として残しておくのがよさそうだ。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できる Windows 10 活用編」ほか多数の著書がある。