清水理史の「イニシャルB」
IPv6で直接NASにつなげばいいじゃん! IPoE IPv6環境では外部からNASへアクセスできない?を検証してみた
2018年11月26日 06:00
「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回線でも外部からNASにつながる
まずは、何も考えずにつないでみよう。
NECプラットフォームズのWi-Fiルーター「Aterm WG2600HP3」をtransix回線に接続し、LANポートの1つにSynologyの「DS119J」を接続。DS119Jの初期設定で「QuickConnect」(詳しくは後述)を有効化し、一般的な構成しておく。transix接続を選択すると、AtermではポートマッピングやUPnPの設定が表示されなくなるため、当然、どのポートも転送していない状態だ。
この状態で、別の回線からウェブブラウザーで「http://test119.quickconnect.to」へとアクセスすると、しばらく時間がかかるものの、問題なくNASに接続できる。
ユーザーにしてみれば「必要以上に心配することはなかった……」といったところかもしれないが、ここで注目して欲しいのが、アクセス先のアドレスだ。
ブラウザーのアドレス欄が「https://test119.jp2.quickconnect.to/」と、QuickConnectのサーバー(日本サーバー!)になっている。これは、NASに直接接続されているのではなく、サーバー経由の、いわゆる「リレー」でNASへと接続されていることを示している。
この方法でも、問題なくNASの機能を外部から使うことはできるが、すべての通信がサーバーで中継されるため、速度はあまり期待できない。
試しに、1GBのファイルを転送してみたが、転送速度はアップロードで5~10MB/s、ダウンロードで10MB/s(ダウンロードの方が安定している印象)といったところだった。環境や時間帯にもよるので何とも言えないが、かなり待たされる印象だ。
個人的に「外出先からのNASへのアクセスが遅いんだけど……」という質問をたまに受けることがあるのだが、その原因の多くは、この例と同様に、QuickConnectのリレーで接続されていたというものが多い。
NASへのリモートアクセスを容易に実現できるQuickConncectの仕組みを知る
ここで、QuickConnectの仕組みについて、少し紹介しておこう。QuickConnectは、NASへのリモートアクセスを容易に実現できる技術で、Dynamic DNS+接続環境チェック+NAT Traversalを組み合わせたような、統合的なサービスとなる。
ポイントとなるのは、NAT Traversal(NAT越え)の部分だろう。同社が公開しているホワイトペーパー(PDF)によると、ウェブページでのアクセスの場合は、次のようなフローで接続を試みる。
QuickConnectのアドレスでアクセスすると、まず、ローカルネットワーク内に対象のサーバーがあるかどうかがチェックされ、なければ外部からのアクセスと見なす。このとき、自宅側のルーターのポートに対してアクセス可能であれば、直接、WAN経由でのアクセスが確立され、できない場合は、上記のリレーサービスを使った接続になる。
なので、NAS上でリレーサービスを無効にすると、当然、接続できなくなる。
ちなみに、接続フローはウェブアクセスとアプリ(PC用の「Synology Drive」やスマートフォン用の「DS xxx」シリーズなど)で異なっており、アプリを利用する場合は、NAT越えでよく使われる「Hole Punching」と呼ばれる方法で、アプリとNASとの間の通信を直接確立しようと試み、失敗すれば同様にリレーサービスでの接続となる。
要するに、前述した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に接続できるはずだ。
ちなみに、上の例ではIPv6アドレスを直接指定したが、こんなに長いアドレスを覚えるのは現実的ではない。ただ、当たり前だがIPv6なのでアドレスは固定されている。
名前でアクセスしたい場合は、前述したQuickConnnectを使って、test119.quickconnect.toへとアクセスすれば、前述したフローの結果、IPv6でのWAN接続が選択される。そうでなければ、Dynamic DNSを利用しよう。
SynologyのDynamic DNSはIPv6にも対応しているので、コントロールパネルの外部アクセスからDDNSを有効化しておけば、「test119.synology.me」のような名前で、アクセスができるようになる。
接続時の試行がない分、Dynamic DNSの方が素早く接続できる一方、QuickConnectでの接続では、接続する側の端末でIPv6が使えなかった場合でも、接続が自動的にリレーに切り替わるのがメリットだ。
IPv6でWAN接続した場合、肝心の速度はアップロードで25MB/s前後、ダウンロードで36MB/s前後となった。ダウンロードの場合で、リレー接続時の3倍以上速くなったことになる。
課題は外出先の端末で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でのリレーを最後の手段として残しておくのがよさそうだ。