PacketiX VPN
PacketiX VPN（パケティックス ブイピーエヌ）はソフトイーサによって開発される、VPNソフトウェアである。
本項では、派生ソフトウェアである UT-VPN や SoftEther VPN と共通する仕様部分も併せて説明する。
PacketiX VPN は仮想LANカードおよび仮想HUBによりイーサネットを仮想化することで、レイヤ2 VPNを構築できる。また、レイヤ3スイッチを仮想化することにより、レイヤ3 VPNを構築できる。
初版である PacketiX VPN 2.0 は、開発中に SoftEther VPN 2.0 と呼ばれていた。PacketiX 2.0 は、SoftEther 1.0 の後継版として 2005年12月 に発表され、SoftEther 1.0 の開発者である登大遊が設立したソフトイーサ社によって、製品の開発および販売が行われた。
同種のプロトコルを扱うソフトウェアとして、PacketiX VPN 3.0 の機能制限・オープンソース版に当たるUT-VPNや、同じく PacketiX VPN 4.0 の機能制限・無償版に当たる SoftEther VPN があり、PacketiX VPN 3.0 以上の版を含めて、これらは PacketiX VPN 2.0 Build 5280 以降のバージョンと相互に接続が可能である。PacketiX VPN は以下のようなソフトウェアによって構成されている。
VPN Client や VPN Bridge からの接続を受け付けるVPNサーバソフトウェア。VPN Server には複数個の仮想HUBを作成することができ、仮想HUB内でイーサネットフレームを交換することができる。また、VPN Server 内の複数の仮想HUB間でIPパケットの交換を行うために仮想レイヤ3スイッチを複数個作成することもできる。
仮想LANカードとしての機能を持ったVPNクライアントソフトウェア。VPN Client をコンピュータにインストールすることで、VPN Server が接続されているLANなどに、インターネット経由でリモートアクセスすることができる。VPN Client を使用する場合は、仮想LANカードを作成し、その仮想LANカードを VPN Server 上で動作している仮想HUBに接続する形式で通信を行う。
VPN Server の仮想HUBにカスケード接続する為のVPN接続ソフトウェア。VPN Bridge を動作させているコンピュータ上の物理的なLANカードとの間でローカルブリッジを構成することにより、遠隔地のLAN同士を VPN 接続することが可能である。なお、VPN Bridge の機能は全て VPN Server に内包される。
VPN Server および VPN Bridge に管理モードで接続して管理を行うためのGUI管理ツールである。サーバ管理マネージャは VPN Server や VPN Bridge が動作しているサーバコンピュータ上に必ずしもインストールする必要はなく、別の管理用端末 (ノートパソコンなど) にインストールして使用することもできる。この場合は TCP/IP によって管理用のセッションが確立され遠隔管理が行われる。
vpncmd の名称で提供されるCUIの管理ユーティリティ。原則としてGUIのサーバ管理マネージャで設定可能なすべての項目をコマンドラインから設定できる。コマンドラインによる通常の管理作業のほか、、自動生成したスクリプトを読み込ませることによって各種の管理操作を自動化することが可能である。また結果をファイルに書き出すこともできる。
PacketiX VPN Server は製品版として提供されており、PacketiX VPN 3.0 以降において下記のエディションが用意されている。なお、エディションによっては法人向けの一部機能（RASIUD/NTドメイン認証、syslog 転送機能、パケットログ保存機能、クラスタリング機能）が利用できず、利用可能な機能やセッション数も異なる。
PacketiX VPN Server を動作させるためには、ソフトイーサ等より提供されるライセンスキーが必要である。PacketiX VPN Server には前述のように多数のエディションがあるが、"シングルバイナリ"によって提供されており、入力するライセンスキーの種類によって動作の内容が異なる。
PacketiX VPN 2.0 には、かつて一般向けの Free Edition や、学術研究者向けに無償でライセンスされた Academic Edition が提供されていた。
PacketiX VPN 3.0 以降は、製品版に対する実質的な機能制限版である UT-VPN や、SoftEther VPN などが、関連プロジェクトより提供されている。これらのソフトウェアでは、組み込まれているソースコードの権利等の問題から、PacketiX VPN において法人向けと位置付けられている一部の機能等が利用できない。但し、これらのソフトウェアにクライアント接続数や拠点接続数の制限はない。
SoftEther VPN は、筑波大学の研究プロジェクトとして開発され、ソフトイーサの主力製品であるPacketiX VPN 4.0をベースに一部機能を制限し、2013年7月にフリーウェアとして公開された。UT-VPNの後継プロジェクトとして、今後はソースコードの公開が予定されている。
PacketiX VPN Client および VPN Bridge は無償提供されており、PacketiX および派生ソフトウェアを含めて VPN Client および VPN Bridge の利用にライセンスキーは不要である。
PacketiX VPN 4.0 は、以下のようなオペレーティングシステムおよびCPUの組み合わせで動作する。
一部OSを除いて32ビット版と64ビット版が用意されており、64ビット版ではより多くの仮想 HUB および同時接続 VPN セッションを1台の VPN Server に収納することができる。
PacketiX VPN でのVPN通信に使用されているプロトコルは以下のような仕様となっている。
PacketiX VPN でのVPN通信では、標準的なイーサネットフレーム（MACフレーム、イーサネットパケット）であればどのようなものでも通信を行うことが可能である。したがって、IPv4、IPv6、TCP、UDPなどの現在インターネットやLANなどで使用されている一般的なプロトコルのほか、NetBEUIやIPX/SPXなどのプロトコルもVPNを通すことができる。
2007年11月、ソフトイーサは PacketiX VPN 2.0 の英語版をリリースした。日本語版と英語版は、ユーザーインターフェイスやオンラインマニュアルなどの言語が異なるのみであり、機能は同等である。異なる言語のVPNソフトウェア同士でVPN接続を行うこともできる。
2010年3月に発表された PacketiX VPN 3.0 では、中国語簡体字に対応している
PacketiX VPN の VPN 機能の動作はIPsecやPPTPなどの従来のVPNと比較して異なる点がある。
PacketiX VPN における仮想HUBは、既存の一般的なスイッチングHUBと同等の機能をソフトウェアで実現したものである。仮想HUBはMACアドレス学習機能や学習に基づくフレームの交換機能を持つ。従来のスイッチングHUBはハードウェアとしてこの処理を行っていたが、PacketiX VPN ではソフトウェアとして同様の処理を行う。VPN Server には複数の仮想HUBを作成できる。それぞれの仮想HUBがVPN経由で流れてきたイーサネットフレームを処理することで、仮想的なレイヤ2のイーサネットセグメントを実現している。
VPN Server 内に複数台の仮想HUBを作成するとき、通常はそれらの仮想HUBは独立して動作し、お互いに干渉せず、別々の仮想HUB間で通信は行われない。また、各仮想HUBの管理権限を別々の管理者に委譲することが可能である。この場合、特定の仮想HUBの管理者は、自分が委任されている仮想HUBのみ管理でき、それ以外の仮想HUBにはアクセスできない。
物理的なLANカード (NIC) をソフトウェアによって仮想化することにより仮想LANカードが実現される。仮想LANカードはVPNプロトコルを用いて、物理的な TCP/IP ネットワークを経由し、遠隔地にある VPN Server 内の仮想HUBに VPN 接続することができる。VPN Client を用いると、仮想LANカードをクライアントコンピュータのOS内にいくつでも作成することが可能である。仮想LANカードは OS から物理的な LAN カードと同様に認識されるため、原則としてイーサネットでの通信に対応したほぼすべてのプロトコルやアプリケーションが、特に手を加えることなく利用可能である。
仮想レイヤ3スイッチ は、IPルーティングを行うレイヤ3スイッチをソフトウェア的に仮想化したものである。仮想レイヤ3スイッチにより、別々のIPネットワーク間で、イーサネットのセグメントを分離したまま、ルーティングによりネットワーク同士を接続することが可能である。
仮想HUBと同様に、VPN Server 内には仮想レイヤ3スイッチを複数作成できる。複数の仮想HUB間でIPルーティングを行うことにより、仮想HUB間通信を実現することができる。これを応用すると、遠隔地にある複数のイーサネットセグメント間のレイヤ3でのルーティングが実現される。
1台の仮想HUBに複数台のコンピュータの仮想LANカードが接続すると、それぞれのコンピュータ間は自由にイーサネットフレームを送受信することができるようになる。これにより VPN 接続が実現される。
仮想HUB間のカスケード接続を行うことにより、通常の物理的なスイッチングHUB間をクロスケーブルなどでカスケード接続した場合と同じ効果が得られる。すなわち、もともと分離されていた2個のイーサネットセグメントを1つにすることができる。仮想HUB間のカスケード接続は、同一の VPN Server 内の仮想HUB同士だけでなく、物理的に別の VPN Server 内の仮想HUB同士でも、VPNセッションを確立することによって可能である。これにより、遠隔地にある複数のイーサネットセグメント間のレイヤ2でのブリッジ接続が実現される。
上記で述べたような仮想HUBや仮想レイヤ3スイッチはあくまでもソフトウェアによってエミュレーションされたネットワーク機器であり、そのままでは仮想的に流れるイーサネットフレームは物理的なネットワーク上に出ることはない。VPN Server および VPN Bridge では、仮想HUBと既存の物理的なイーサネットのセグメントとを、物理的なLANカードを指定することによってブリッジ接続することができる。これをローカルブリッジと呼ぶ。
ローカルブリッジを用いることにより、複数の拠点で、仮想HUBと物理的な既存のLANとの間を接続し、さらに仮想HUB同士を前述したカスケード接続によって VPN 接続することによって、インターネット経由で複数のイーサネットセグメント間のレイヤ2でのブリッジ接続が実現される。
以下、PacketiX VPN に搭載されている VPN 通信機能および特徴について述べる。
IPsecやPPTPなどの従来のレイヤ3をトンネリング対象としていたVPNプロトコルと異なり、PacketiX VPN ではレイヤ2のイーサネットフレームをVPN通信におけるトンネリング対象とし、トンネルを通してイーサネットフレームを流すことができる。レイヤ2での拠点間接続が可能な為、専用線的サービスにおける広域イーサネットと同様の接続方法を実現できる。これにより、レイヤ3のプロトコルの種類にかかわらず、イーサネット上で利用可能なプロトコルをVPN通信上に流すことができる。
PacketiX VPN は、物理的な通信のためのプロトコルとして、GREなどの特別なプロトコルではなく、標準的なTCP規格を採用している。これにより、すべてのVPN通信をTCP上で実現するため、ほとんどのNAT、プロキシ、ファイアウォールの通過することが可能である。また、デフォルトでTCP443番というHTTPS通信で一般的に利用されるポートと同一のTCPポートを使用することが可能となっているため、基本的にWebサイトが閲覧できるようなネットワーク環境では PacketiX VPN を用いてVPN通信を行うことが可能である。
従来のVPNプロトコルのうち、セキュリティの確保のみに注力しているものについては、VPN処理がボトルネックとなり、実際にVPN通信を行った際のスループットが低くなることがある。PacketiX VPN 2.0は各種の通信回線に合わせて最適化を行う為、通常のPCサーバを用いて約3.1Gbps程度の高速なVPN通信を行うことができるとしている。
PacketiX VPN は様々なOSやCPU上で動作するように移植性の高いプログラミングによって開発されており、通常のエディションにおいて、前述のように多くの種類のOSやCPUに対応する。
PacketiX VPN は以下のようなセキュリティ機能を搭載している。
許可されていない第三者による不正なVPN接続を禁止するため、以下のようなユーザー認証が可能である。
盗聴者が存在する可能性のあるネットワークを経由してVPNを利用する際に、盗聴やデータの改ざんを防止するため、すべてのVPN通信パケットに対して、暗号化と電子署名を行うことが可能である。SSLのバージョン3で暗号化セッションが確立され、内部ではHTTP over SSL (HTTPS)拡張プロトコルが用いられる。
PacketiX VPN では、接続先のVPNサーバが提示するX.509証明書とSSLプロトコル内で行われる正当性検証手続きにより、接続先のVPNサーバが本物であるかどうかの検証が可能である。検証に失敗した場合はVPN接続を中止し、中間者攻撃を防止する。
VPN Client において、認証方法として証明書認証 (PKI認証) を使用する場合は、セキュアなハードウェアであるスマートカードやセキュリティトークンを用いた認証が可能である。一般的なPKCS#11規格に対応したデバイスに対応する。
VPN Server の仮想HUBには、以下の2種類のパケットフィルタリング機能が搭載されている。
アクセスリストとは、一般的なファイアウォール機器で実現されるような、IPパケットのヘッダ部をリアルタイムで検査し、あらかじめ設定したルールに基づいて通過/破棄を決定する仕組みである。
セキュリティポリシーとは、ダイナミックなパケットの流れを監視して通過/破棄を決定する仕組みである。セキュリティポリシーを適用するため、仮想HUBは流れるすべての仮想イーサネットフレームについてリアルタイムで高レイヤまでパケットの内容を解釈する。解釈結果を元にして、そのパケットがセキュリティポリシーに適合した通信内容であるかどうかを判別する。セキュリティポリシーに違反したパケットが流れた場合は監査記録を保存することも可能である。
VPN Server の管理者は、仮想HUBにモニタリングモードセッションという特別なセッションを作成することにより、その仮想HUB内を流れるすべてのパケットを傍受したり、物理的なLANカードから出力して既存のIDS製品に入力したりすることができる。
仮想HUB内を流れるすべてのパケットをログに保存することが可能である。これにより、管理者は事後にトラブルの追跡や不正アクセスの発見などを行うことができる。パケットログの対象となるパケットは仮想HUBの管理者が細かく設定することができる。この場合、パケットの内容すべてを保存するか、ヘッダ部分のみを保存するかを選択することができる。パケットログの取りこぼしを防ぐため、バッファの空き容量が少なくなると自動的に仮想HUBにおける通信速度を調節し、すべてのパケットログが確実にディスクに書き込まれるような仕組みになっている。
仮想HUBにはSecureNAT機能が搭載されており、仮想NATと仮想DHCPサーバの2つの機能が利用可能である。SecureNAT機能はすべての機能がユーザーモードで動作し、一般ユーザー権限で全機能が利用可能である。SecureNAT機能を利用することで、一般的なブロードバンドルータと同等程度の機能を、仮想HUB内で利用することができる。
大量のVPNセッションを処理したり、極めて多数の仮想HUBを作成したりするために、クラスタリング機能が提供されている。クラスタリング機能により複数台の VPN Server をまとめて動作させることができ、仮想HUBや仮想HUB内のユーザーデータベースやアクセスリストなどの設定が一元化される。また、ロードバランシングとフォールトトレランスが実現される。クラスタリングにより多数の VPN Server が動作している場合であっても、ユーザーや各仮想HUBの管理者から見ると、1つのVPN Serverのシステムとして認識される。したがって、ユーザーや各仮想HUBの管理者は、クラスタリング機能が動作していることに関して意識する必要がない。
PacketiX VPN を用いることにより構築することができるネットワークをおおまかに分類すると、以下のようになる。ソフトイーサは学術研究目的でPacketiX VPN を用いた以下のサービスを実験的に無償で提供している。
PacketiX VPN は以下のような賞を受賞している。