ガジェット

【備忘録】v6プラス接続の自宅のPCやNASにリモートアクセスしたい話。v6プラスでのVPNからIPv6でのNASへの直接アクセスまで試行錯誤します

先日公開したWi-Fiルーター、ASUS RT-AX1800Uのレビューでご紹介したようにRT-AX1800UではVPNサーバー機能を始めとした高度なインターネット関連機能が利用可能でした。他社製のルーターでは利用できなかったv6プラス接続下でのVPNサーバーの構築にも対応しており、自宅のネットワークにいつでもアクセスしたい私にとっては嬉しい製品でした。
もともと2022年5月に新居に引っ越して光回線を導入してから、外出先からの自宅へのアクセスをできるようにしたいと思い続けていたこともあったので、今回はv6プラス接続時のネットワーク上の制限と本気で戦ってみます。最終的にはVPNも構築し、そしてIPv6インターネットの恩恵も受けてハッピーエンドを迎えるので、皆様のご参考になれれば幸いです。

光回線を契約したときに多くのプロバイダー(接続事業者)から案内される事が多いのが、v6プラス接続。私が利用しているGMOとくとくBBでも、通常のインターネット接続サービス(IPv4接続)に比べて高速に利用できることを謳っており、多くの方が利用されているかと。
実際に私の自宅でもIPv4接続時では200Mbpsほどでしたが、v6プラス接続時には600Mbps超の接続速度を確保できており、Amazonプライムビデオの動画をオフライン視聴する際などで活躍しています。読者の方もこの速度を享受している方は多いのではないでしょうか。
GMOとくとくBBのWEBサイトより

v6プラス接続が通常のIPv4接続に比べて高速な理由は、詳細な部分を書き出すとキリがないためGMOの説明などをかいつまんで解説。自宅からインターネットに接続する際に、v6プラス接続ではインターネットとNTT網の間にある網終端を経由せずに直接接続できることで高速通信を実現するもの。この網終端というのが、平日夜間や土日といった家庭からのアクセスが集中しやすいタイミングにボトルネックになってしまっていたため、経由しなければ高速だよね、というもの。

その代わりではないにせよ、v6プラス接続の場合、直接各家庭のネットワークの終端(ONU)がインターネットと直接繋がることになる。この際に、各家庭に対してIPv6のグローバルIPアドレスを付与する。一気に飛躍してしまうがIPv4で利用するポート番号については、このグローバルIPアドレスに応じて各ユーザーに対して240個のポートが割り当てられるため自由なポートを各ユーザーが利用できるというわけではないのだ。

この利用できるポート番号については、IPv6アドレスの第4フィールドで決定されるようになっており、例えばIPv6アドレスが「ABCD:EF01:2345:6789:ABCD:EF01:2345:6789」の場合には、使用可能なポートは「5744-5759、9840-9855、13936-13951、18032-18047、22128-22143、26224-26239、30320-30335、34416-34431、38512-38527、42608-42623、46704-46719、50800-50815、54896-54911、58992-59007、63088-63103」となる。この場合、WEBサーバーなどで利用されるTCP80も、Windowsのファイル共有で利用されるSMBのプロトコルが利用する137,138,139,445のすべてが含まれていません。

このためインターネット上で時々見かける言説である「v6プラス接続ではIPv4のポート開放ができない」と言うのは正しくはないものの、利用したいポートが必ずしも空いているわけではないというのが理解できるかと。ユーザーが利用できるポートは各々によって異なっており、この利用可能なポートの中でならポート開放ができる、というのが正しい回答となります。
参照:アイゼック・IPv6(MAP-E方式)使用可能ポート確認
https://isecj.jp/tools/portcheck-map-e/

ポート開放に成約があっても、VPNもメディアサーバーも立てたい場合

こういうときにはVPNを使いたいというニーズが出てくる
さて、ここからが本題のv6プラス接続下で自宅にVPNサーバーを立てたり、メディアサーバーを構築して自宅のLAN内のものを利用していく方法を考えていく。よくインターネット上で見かけるのはv6プラス接続と従来のPPPoE接続の両方を2重ルーターにして構築してしまうという方法。もしくは一部のルーターが対応しているマルチセッションを使うという形。
通常のインターネット接続についてはv6プラス側でIPv4もIPv6も流してしまい、ポート開放が必要な場合にはもう一つのルーター/セッションでPPPoE接続してIPv4で繋いでしまおうというもの。一番単純なやり方ですが、私の契約しているGMOとくとくBBではPPPoE接続とv6プラス接続は排他使用となっておりこの方法は利用できません。
そうなってくると、v6プラス接続の制約下で使えるポートで工夫していくしかない。ルーターに搭載しているポートフォワーディング機能を使って一部のポートについては変換を、それか使えるポートだけを使って接続する、といった具合だ。
TP-Linkのルーターはv6プラス接続時にはポートフォワーディングを利用できない

ただしここでネックになってくるのがルーター側での対応状況。大抵のルーターはIPv4(PPPoE)接続時にはポートフォワーディング機能やDMZ機能を利用することが可能で外から自宅LANへのアクセス環境を簡単に構築できる。しかし、v6プラス接続時にはTP-Link等の多くのメーカーではこの機能が利用できない。制約があるなら使えなくても良いよね、という理屈なのかもしれないが不便極まりない。
ASUS RT-AX1800Uではポートフォワーディングもv6プラス接続時に利用可能だ

私の試した限りではASUSのv6プラス接続対応のルーターは、ポートフォワーディング機能を始めネットワークの高度な機能が利用できた。Atermシリーズも対応しているようだが、VPNサーバー機能などは積んでいないためルーター単体でVPNをという場合には不向きになる。
Open VPNのサーバーを簡単に構築可能

v6プラス接続時に利用可能なポート番号もルーター側で判別

ASUS
RT-AX1800Uの場合は、ルーター側でIPv6アドレスから、ユーザー側で利用可能なポート番号を明示してくれ、その中で設定時のポート番号を入力するように制御している。OpenVPNサーバーの構築機能でも、利用するポート番号をこの利用可能な中から選択すれば良いだけのため設定のハードルは低く簡単に設定可能。
今回の目的は接続方法は問わずにVPNサーバーを自宅に構築して自宅のLAN内にあるNASやPCのストレージにアクセスすること。なので、ASUSのルーターでOpenVPNサーバーをポート番号を指定して構築してしまえばやりたいことは叶えられるはず…だった。

VPNでも万能じゃない。宅内のPCへのアクセスは至難の業

これにてめでたくVPNサーバーが自宅に構築され、晴れて外出先からいつでも自宅にアクセスできるようになった。ファイル共有なんか考えずに、ただ自分専用のセキュアな通信回線が欲しいという場合ならこれでめでたくゴールイン。もう何も怖いものはありません。

ただし、今回の目的は自宅のLAN内にあるNASやWindows
PCにアクセスしてデータのやり取りをできるようにすること。自宅にVPN接続した状態でエクスプローラーの【ネットワーク】を開いてみても、自宅からアクセスした場合には表示されるWindows
PCもNASもメディアサーバーも何も表示されません

この原因はWindowsがネットワーク探索機能にある。なぜ、というところは正直なところよくわからなかったためなんとも言えないが、VPN経由ではNetBiosによる名前解決ができない事が多い。今回のASUSのRT-AX1800Uでも同様の減少が起きてしまい、自宅のLAN内にある端末の一覧を表示することができないのだ。
「VPN
名前解決できない」という風に調べると、色々と情報が出てくる。そして一番手っ取り早い解決策がNASやアクセスしたいPCのIPアドレスを固定してしまうこと。大抵のルーターが接続機器のMACアドレスとIPアドレスの紐づけ機能を搭載しているので、これで紐づけてしまうのが手っ取り早い。
あとは、紐づけておいたIPアドレスを直打ちすればアクセスできるようになる。今回で言えばNASに192.168.50.23を紐づけたので、エクスプローラーで入力し、認証情報を入力してログインすれば問題ない。Windows
PCにアクセスする場合も同様で、認証情報を入力すればアクセスできるようになった。

IPv6ネットワークで直接続を実現したいという欲望

本来なら本記事はVPN下でのNASアクセスに成功した、というところで終了したいところだったが、人間は欲深い生き物で不満を感じてしまう部分があった。一つはいちいちVPN接続するのが面倒だったこと、もう一つは伝送速度の遅さ。ASUS
RT-AX1800Uは機能性は高いもののVPN、特にOpenVPNというCPU負荷の高いVPNではスループットが低いのだ。
実際にVPNで外出先などから自宅のNASのデータをダウンロードしようとすると2.4MB/sという遅さになってしまう。この速度だと、フルHDの動画であってもストリーミング再生は難しいというのが本音なので、速度を向上したいもの。

外出先からでも50Mbpsくらいのネットワークは簡単に手に入るのが今。そして、IPv6でのネットワーク接続が当たり前のように私のモバイル回線であるWiMAXにも提供されているのが現代なわけで、自宅も外出先もIPv6接続ならいちいちIPv4のVPNなんぞ使う必要がないわけ。ということで、以降は自宅のNASとPCにIPv6で直結してしまおうというもの。
本稿の最初にv6プラス接続では使えるポートに制限がある、という風に書いていたが、もう一つあくまでもIPv4での制約とも書いていた。つまり、IPv6では特に利用できるポートの制限がないのだ。つまり、IPv6アドレスが分かってしまえば、SMBで利用している445ポートを利用して外出先からNASにアクセスできてしまう。

いつの間にかReadyNASが撤退していて悲しかったのは余談

まずは各機器のIPv6アドレスを確認する。今回は常にインターネットから一意のIPv6アドレスでアクセスしたいので「IPv6アドレス」を利用する。PCであれば”ipconfig”を叩けば、NASであればネットワーク設定から確認できる。なお、NETGEARのReadyNASではIPv6アドレスを失うことが多かったので、うまく取得できたときのアドレスで固定している。
ルーターのIPv6ファイアーウォール設定
Windowsファイアーウォールの設定も必要

IPv6アドレスが分かったらホームネットワークへの入り口をインターネットに対して作る。ルーターの設定画面に移動し、IPv6ファイアーウォールの受信規則に、先程調べた機器に対してのポート445を開けるように設定する。Windowsの場合はWindowsファイアーウォールでも445ポートは閉じたままになっているので、こちらも開ける必要がある。

この445ポートを開けるというのは、セキュリティ面では基本的に推奨されない。一時期猛威を振るった”WannaCry”のようにポート445の先にあるSMBを狙った攻撃は絶えないし、そもそもID・パスワード認証を突破されたら何でも自由に制御できるようになってしまう。
このため本来であれば445ポートを開けるときには送信元のIPを指定する、といったことも必要になる。ただ、私の場合はこの送信元IPv6アドレスの指定をすると正しいはずの送信元でもアクセスできなかった、どころかASUSのルーター側の動作まで不安定化してしまう有様でここの制御はできなかった。
なので、445ポートを開ける際には開けた先の機器の認証がきっちりしていること(例えばAdminアカウントでアクセスできるようにはしないとか)、そしてWindows側では静寂性を抱えているSMB1をOFFにしておくことは確認しておきたい。

前置きが長くなってしまったが、445ポートを無事に開けることができれば、あとはアクセスするだけ。IPv6で直接エクスプローラーでアクセスする場合には、アドレス部分についてはひと工夫が必要。

例えばIPv6アドレスが「ABCD:EF01:2345:6789:ABCD:EF01:2345:6789」の場合には、この”:”をすべて”-“に変更し、末尾に”.ipv6-literal.net”をつけてあげることが必要。なので今のアドレスであれば「ABCD-EF01-2345-6789-ABCD-EF01-2345-6789.ipv6-literal.net」という具合だ。

すべての設定が整っていれば、アクセス時には認証情報を求められログインに成功すれば無事フォルダーにアクセスできるようになる。IPv6アドレスをいちいちどこかにメモしたりするのが面倒であればショートカットを作成してしまったり、共有先のフォルダをネットワークドライブに設定してしまえばアクセスの手間も削減できる。

あとはストリーミング再生をするなり、PCとのデータのやり取りをするなりIPv6ネットワークを楽しむだけ。ネックに感じていた伝送速度も5MB/sでるようになりそれなりの速度を確保できるようになった。これだけあればフルHDの動画であっても難なく再生できるので安心してNASにデータを放り込めるようになったはず。

外出先からでも自宅のPCとNASを活用。v6プラスでも快適に

非常に長くなってしまったが、本記事ではGMOとくとくBBのv6プラス接続を利用している筆者が外出先から自宅のPCやNASで保存しているデータにVPNを利用したり、IPv6接続を利用したりして簡単にアクセスできるようにする方法を試行錯誤した成果をお伝えした。なお、会社の情シスにこの話をしたところ「IPv6でのNASアクセスは常識」とバッサリ言われてしまったが、そんなことはないはず…
せっかく自宅に高速な光回線があって、それを徹底的に活用したい、という方のお役に立てられれば何よりです。また、個人的にはこれを利用すればOneDriveやGoogle
Driveに課金する必要も減らせるのではないかと目論んでいる節もあり、SaaS企業勤めとしてはあるまじき発言ではありますが脱クラウドできそうな気もします。

0 コメント

  1. 同じ悩みを抱えているものです。

    >>v6プラス接続時に利用可能なポート番号もルーター側で判別

    のスクリーンショットがピンポイントでクロップされているため、どこで確認できるのか見つけることが出来ませんでした。どこで見れるのか分かると大変助かります。

    • コメントありがとうございます。

      このポート番号に関しては、ポート番号を指定する画面(ポートフォワーディングの設定を打ち込もうとした際)で表示されます。なので、そのまま設定したい内容に応じて勝手に出てくる、と思っていただければ幸いです。

返信する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

銀行をやめて人材系のHRテックらしいメガベンチャーにいます