海外から日本のネットワークにつなぐ(3)
前回の「海外から日本のネットワークにつなぐ(2)」にて、VPN接続に必要な条件及びVPN接続できない環境要因のイメージが掴めたかと思います。
今回は、ケース別にVPNを確立する方法について述べようと思います。
まず、グローバルIPアドレスが自前のルータに割り当てられた環境であれば、VPN機能付きのルータを使うか、ルータ配下にVPNサーバを立ち上げ、選択したVPNの方式にあわせてポートを開放します。これが最も一般的なやり方でしょう。
VPN用にポートを開放されていない環境では、一般的なインターネットの閲覧に使われるセキュアなプロトコル、HTTPS (HTTP over SSL)のSSL通信(暗号化通信)用のポートであるTCP 443番ポートを使って、VPNを確立する方法があります。
この方式は、SSL-VPN(VPN over HTTPS)と呼ばれ、「海外から日本のネットワークにつなぐ(1)」で述べたレガシーな方式(PPTP、SSTP、L2TP/IPsec、IKEv2/IPsec、OpenVPN)とは異なり、特別なVPNポートの開放が不要なことが特徴です。
Microsoftが開発したSSTP(Secure Socket Tunneling Protocol)の通信は、TCP 443番ポートを使って、VPNを確立します。
SSTPは、Windows Vista以降の標準VPNクライアントとして搭載されており、自身で管理しない企業のネットワークでVPNの確立するのに有効です。
インターネットサービスプロバイダからプライベートIPアドレスしか割り当てられず、VPNのためにポートが開放されていないような環境では、NATトラバーサルという技術を使い、VPNを利用する方法があります。
NATトラバーサル技術の代表的なものとして、UDPホールパンチング(UDP hole punching)があります。これらは、SkypeといったVoIPアプリでの発着信に活用されています。
また、UDPホールパンチングは、SoftEther VPNというソフトウェアでも使われています。
上記のようなNATトラバーサル技術を駆使しても、VPNを確立できない場合、SoftEther VPNの「VPN Azure クラウドサービス」を使いましょう。
VPN Azure 中継サービスを使えば、ファイアウォールの内側にいるデバイス同士でVPNを確立することが容易になります。
仕組みは、上記URLに記載されていますが、簡単にいうと、VPNサーバとVPNクライアントが、自身のネットワークの外にある中継サービス(インターネット上にあるVPN Azure クラウドサーバー)を介してVPNを確立するものです。
Skypeの照会とどこか似ていますね。ただ、利用するには、SoftEther VPNサーバとSoftEther VPNクライアントが必要です。
なお、「VPN Azure クラウドサービス」は、学術研究を目的として、無償かつ無保証で提供されている、開発途上のサービスのため、安定性や持続可能性で不安が残ります。
もし、VPN AzureでVPNの確立がうまくいかない場合、システム障害が発生していないかSoftEther VPN プロジェクトで確認してみると良いでしょう。
参考:SoftEther VPN プロジェクト
ちなみに、SoftEther VPNは、ソフトウェアによって実現するVPNの形なので、Windows、Linux、Mac OS X、FreeBSD、Solaris等、プラットフォームの脆弱性に依存します。このことは、インストールするデバイスのメンテナンスが必要になることを意味します。
ただ、インストールするデバイスの性能によって、パフォーマンスを向上させることができる点は、ハードウェアのVPN専用機にないメリットです。
また、無償で提供されているため、金銭的な負担もありません。
複数のVPNプロトコルに対応しているため、VPNにアクセスするデバイス(VPNクライアント)をによる制約を受けにくいため、VPNサーバ用のソフトウェアとして非常におすすめです。
(続く)