ソフトイーサVPN
| ソフトイーサVPN | |
|---|---|
SoftEther VPN サーバー管理ツール | |
| 原作者 | 筑波大学SoftEther VPNプロジェクト |
| 開発者 | 登大勇、杉山哲夫、伊藤たかお、クリストファー・スミス、メイ・シャリー・アン・ヤマグチほか寄稿者。[ 1 ] |
| 初回リリース | 2014年1月4日 |
| 安定版リリース | 5.02.5181 [ 2 ] / 2023年12月3日 |
| リポジトリ | |
| 書かれた | CとC++ |
| オペレーティング·システム | Windows、Linux、macOS、FreeBSD、Solaris、iOS、Android |
| 入手可能な | 英語、日本語、簡体字中国語[ 3 ] |
| タイプ | VPN |
| ライセンス | Apacheライセンス2.0 [ 4 ] |
| Webサイト | www.softether.org |
SoftEther VPNは、筑波大学の登大遊氏の修士論文研究の一環として開発された、オープンソースで無料のクロスプラットフォーム、マルチプロトコルVPNクライアントおよびVPNサーバーソフトウェアです。SSL VPN、 L2TP / IPsec、OpenVPN、Microsoft Secure Socket Tunneling ProtocolなどのVPNプロトコルが単一のVPNサーバーで提供されています。[ 5 ] [ 6 ] 2014年1月4日にGPLv2ライセンスを使用してリリースされました。ライセンスは2019年1月21日にApache License 2.0に切り替えられました。
SoftEther VPNはNATトラバーサルをサポートしているため、住宅用ゲートウェイ、施設内ルーター、ファイアウォールの背後にあるコンピュータ上でVPNサーバーを実行するのに便利です。ディープパケットインスペクションを実行するファイアウォールは、HTTPSを使用して接続を偽装するため、SoftEtherのVPNトランスポートパケットをVPNトンネルとして検出できません。
SoftEther VPNは、イーサネットフレームを最大限に活用し、メモリコピー操作を削減し、並列転送とクラスタリングを行うことでパフォーマンスを最適化します。これらを組み合わせることで、VPN接続に通常伴うレイテンシを削減し、スループットを向上させます。

相互運用性
SoftEther VPN Server および VPN Bridge は、Windows、Linux、OS X (OS X 10.8まで) 、FreeBSD、およびSolarisオペレーティングシステムで動作します。SoftEther VPN Client は、Windows、Linux、およびmacOSで動作します。
SoftEther VPN Server は SoftEther VPN プロトコルを提供しますが、OpenVPN、Microsoft Secure Socket Tunneling Protocol (SSTP)、SSL VPN、EtherIP、L2TPv3、IPsec もサポートします。iOS、Android、Windows Phone搭載のモバイルデバイスにはL2TP / IPsec経由で接続できます。
他の VPN プロトコルをサポートする VPN クライアントおよびエンドポイントも使用できます。これには、Cisco、Juniper、Linksys ( DD-WRT付き)、Asus などの多くのルーターが含まれます。
VPNサーバー
SoftEther VPN Server は VPN サーバー機能を実装しています。[ 6 ]複数の VPN プロトコルを使用して、VPN クライアントまたは VPN Bridge からの接続をリッスンして受け入れます。
VPN サーバーは、複数の仮想 HUB と仮想レイヤ 3 スイッチを持つことができます。仮想 HUB は、物理的な Ethernet スイッチと同様に、レイヤ 2 Ethernet パケットスイッチング機能を完全に備えています。さらに、仮想 HUB には IP パケットフィルタエントリを定義して、仮想 HUB を通過するパケットをフィルタリングすることもできます。仮想レイヤ 3 スイッチは、物理的なルータと同様に、レイヤ 3 IP スタティックルーティング機能を備えています。
VPNサーバーはローカルブリッジを持つことができます。ローカルブリッジとは、物理的なEthernetネットワークアダプタと仮想ハブ間のレイヤ2パケットスイッチングファブリックです。管理者は、仮想ハブと既存の企業ネットワーク間にローカルブリッジを定義することで、リモートアクセスVPNサーバーまたはサイト間VPNサーバーを構築できます。
VPNクライアント
SoftEther VPN Client は、Ethernet ネットワークアダプタの仮想化機能を持つ VPN クライアントプログラムです。[ 6 ] SoftEther VPN Client がインストールされたコンピュータは、VPN Server に対して VPN 接続を確立することができます。VPN Server は L2TP/IPsec や MS-SSTP VPN など複数の VPN プロトコルをサポートしているため、VPN ユーザーはクライアントコンピュータに SoftEther VPN Client をインストールする必要はありません。ユーザーが L2TP/IPsec または MS-SSTP VPN を使用して VPN Server に接続する場合、オペレーティングシステムに内蔵されている VPN クライアントプログラムを使用して VPN Server に対して VPN を確立することができます。ただし、SoftEther VPN Client は OS 内蔵の VPN クライアントよりも高度な機能 (より詳細な VPN 通信設定など) を備えています。SoftEther VPN Server の性能をフルに引き出すためには、各クライアントコンピュータに SoftEther VPN Client をインストールすることをお勧めします。
トルコなど一部の国でVPNGate iOSクライアントが利用できない状況を受け、VPNGate.Onlineは代替バージョンをリリースしました。これにより、世界中のユーザーが、どこにいてもVPNGateが提供する安全で制限のないブラウジング体験を享受できるようになります。
VPNブリッジ
SoftEther VPN Bridge は、拠点間 VPN を構築するための VPN プログラムです。[ 6 ]拠点間 VPN ネットワークを構築するには、システム管理者は中央拠点に SoftEther VPN Server をインストールし、1 つ以上のリモート拠点に SoftEther VPN Bridge をインストールする必要があります。VPN Bridge は、カスケード接続によって中央の VPN Server に接続します。カスケード接続は、2 つの物理的な Ethernet スイッチ間のアップリンク接続 (クロスケーブル接続) に似ていますが、これを仮想化したものです。
Windows用VPNサーバーマネージャー
GUI ツールは、SoftEther VPN Server および SoftEther VPN Bridge の管理ツールです。Windows および Linux の WINE 上で動作するプログラムです。システム管理者は、GUI ツールをノート PC にインストールし、リモートの VPN Server または VPN Bridge に接続して管理を行います。接続は SSL セッションで確立され、管理コマンドは RPC over SSL として送信されます。
コマンドライン管理ユーティリティ
vpncmd は、SoftEther VPN Server、Client、および Bridge 用の CUI 管理ツールです。これは、サポートされているすべてのオペレーティングシステムのコンソール上で動作するプログラムです。Windows または Linux で WINE を使用できない場合でも、vpncmd を使用して VPN プログラムを管理できます。vpncmd は、仮想 HUB に多数のユーザーを作成したり、VPN Server に多数の仮想 HUB を作成したりするなど、一括操作を実行する場合にも便利です。
建築
SoftEther VPNのアーキテクチャの一部は、従来の典型的なIPsecベースのVPNシステムとは異なります。[ 7 ] [ 8 ]
仮想ハブ

仮想 HUB は、ソフトウェアでエミュレートされた仮想 Ethernet スイッチです。内部に独自の転送データベーステーブルを学習・管理します。従来の物理的な Ethernet スイッチはこの機能をハードウェアで実装していますが、SoftEther VPN はソフトウェアで同じ機能を実装しています。VPN Server は複数の仮想 HUB を持つことができます。各仮想 HUB は独立しています。仮想 HUB は、同時に接続している VPN セッション間のパケットスイッチングを行い、VPN クライアントと VPN ブリッジ間の通信を実現します。
単一の VPN Server インスタンス内に複数の仮想 HUB が存在する場合、セキュリティ保護のため、これらの仮想 HUB は分離されます。各管理者は、対応する仮想 HUB ごとに委任権限を持つことができます。仮想 HUB の管理者は、委任された仮想 HUB にのみ、ユーザーオブジェクトと ACL を定義できます。
仮想ネットワークアダプタ
仮想 LAN カードは、ソフトウェアによってエミュレートされた仮想 Ethernet カードです。VPN クライアントは、クライアントコンピュータ上に複数の仮想 LAN カードを作成できます。VPN ユーザーは、仮想 LAN カードとリモート VPN サーバーの仮想 HUB との間で VPN セッションを確立できます。VPN セッションが確立されている間、VPN ユーザーは仮想 LAN カードを介してリモート VPN ネットワークと通信できます。仮想 LAN カードは物理的な LAN カードと同様に動作するため、アプリケーションやオペレーティングシステムのコンポーネントを一切変更することなく使用できます。
仮想レイヤー3スイッチ
仮想レイヤ 3 スイッチは、ソフトウェアによってエミュレートされた仮想 IP ルータです。1 つの VPN Server インスタンス上に複数の仮想レイヤ 3 スイッチを作成できます。仮想レイヤ 3 スイッチには、仮想 HUB に接続された仮想 IP インターフェイスが存在します。また、複数の静的ルーティングテーブルエントリも存在します。
仮想レイヤ3スイッチは、大規模な拠点間VPNネットワークの構築に役立ちます。拠点間VPNネットワークを構築する最も簡単な方法は、レイヤ2ブリッジベースのVPNを構築することですが、接続するコンピュータの数が多いと、ブロードキャストパケットの数が増加し、拠点間リンクに負荷がかかります。このスケーリングの問題を回避するために、VPN管理者は仮想レイヤ3スイッチによってIPネットワークを分離します。
仮想ハブ間のカスケード接続
管理者は、ローカルまたはリモートの仮想 HUB 間にカスケード接続を定義することができます。カスケード接続が確立されると、元々分離されていた 2 つの Ethernet セグメントが 1 つの Ethernet セグメントに結合されます。したがって、カスケード接続機能は、拠点間レイヤ 2 Ethernet ブリッジを構築するために使用されます。
仮想ハブと物理イーサネットセグメント間のローカルブリッジ
仮想 HUB と仮想 LAN カードはソフトウェアによってエミュレートされた仮想 Ethernet デバイスに過ぎないため、これらの仮想デバイスを通過する Ethernet パケットは物理的な Ethernet デバイスと通信できません。そのため、リモートアクセス VPN や拠点間 VPN を構築するには、仮想デバイスと物理的な Ethernet デバイス間のブリッジが必要です。ブリッジを実現するために、ローカルブリッジ機能は仮想 HUB と物理的な Ethernet LAN カード間で Ethernet パケットを交換し、分離された 2 つの Ethernet セグメントを 1 つの Ethernet セグメントに結合します。
SoftEther VPN Server 上でローカルブリッジを定義すると、任意の VPN クライアントが VPN Server に接続し、ローカルブリッジを介して既存のすべての Ethernet デバイス (サーバーやネットワーク機器など) と通信できるようになります。これはリモートアクセス VPN と呼ばれます。
ネットワーク管理者が遠隔拠点に VPN Bridge を設置し、VPN Server と VPN Bridge の両方に 2 つのローカルブリッジを定義し、さらに VPN Server と VPN Bridge の間にカスケード接続を定義すると、遠隔拠点間の 2 つの Ethernet セグメントはレイヤ 2 Ethernet レベルで直接接続されます。これは拠点間 VPN と呼ばれます。
ファイアウォール、プロキシ、NAT透過性

SoftEther VPN の重要な機能の一つは、ファイアウォール、プロキシサーバー、NAT(ネットワークアドレス変換)に対する透過性です。これを実現するために、SoftEther VPN は SSL-VPN と NAT トラバーサルをサポートしています。SoftEther VPN は、VPN トンネルを確立するために HTTPS プロトコルを使用します。HTTPS (HTTP over SSL) プロトコルは、宛先として TCP/IP ポート 443(ポート番号は異なる場合があります)を使用します。
複数のSSL-VPNトンネルの並列伝送メカニズム
ユーザーが VPN Client と VPN Server の間で SSL-VPN プロトコルを選択した場合、SoftEther VPN Server および VPN Client は並列転送メカニズムを使用して SSL-VPN トンネルのスループットを向上させます。ユーザーは、同時並列転送チャネルの数を 1 から 32 まで設定することができます。低速で遅延が発生しやすいネットワークなどの環境では、このパフォーマンスチューニングによってスループットが向上します。この機能を有効にすると、論理的な VPN セッションは複数の TCP (HTTPS) コネクションで構成されます。すべてのパケットは、最適化モジュールの計算に基づいて適切な TCP コネクションの 1 つに追加されます。論理 VPN セッションの TCP コネクションでパケットロスが検出された場合、新しいパケットは別の正常な VPN コネクションを使用します。処理対象の TCP コネクションを決定するためのこの高速切り替えの最適化により、高いスループットが可能になります。
NATトラバーサル
従来の VPN システムでは、ユーザーは企業のファイアウォール管理者に依頼して、企業とインターネットの境界にあるファイアウォールまたは NAT のエンドポイント (TCP または UDP ポート) を開放してもらう必要がありました。ファイアウォールのエンドポイントを開放する必要性を軽減するために、SoftEther VPN Server は NAT トラバーサル機能を搭載しています。NAT トラバーサルはデフォルトで有効になっています。NAT トラバーサルが有効になっている限り、SoftEther VPN Client コンピュータはファイアウォールまたは NAT の背後にある VPN Server に接続することができます。ファイアウォールや NAT 側に特別な設定は必要ありません。
ICMP 経由の VPN、および DNS 経由の VPN
一部の非常に制限の厳しいネットワークでは、 ICMPまたはDNSパケットの通過のみが許可されます。このようなネットワークでは、TCP または UDP はフィルタリングされ、ICMP と DNS のみが許可されます。このような非常に制限の厳しいネットワーク経由でも SoftEther VPN クライアント・サーバーセッションを確立できるようにするために、SoftEther VPN は「VPN over ICMP」および「VPN over DNS」機能を備えています。
この機能は、このような制限されたファイアウォールを突破するのに非常に強力です。すべてのVPNパケットは、ファイアウォールを通過する際にICMPまたはDNSパケットにカプセル化されます。受信側のエンドポイントは、カプセル化されたパケットから内部パケットを抽出します。これは、公衆Wi-Fiを利用する際に便利です。一部の公衆Wi-FiはICMPまたはDNSパケットのみを通過させ、TCPまたはUDPパケットをフィルタリングします。外出前に自宅やオフィスにVPNサーバーを設置しておけば、このような制限されたネットワークを使用して、プロトコルフリーのネットワーク通信を楽しむことができます。
VPNゲート
VPN GateはSoftEther VPNのプラグインで、ユーザーはSoftEther VPNを使ってVPNサーバーをホストしているボランティアによって運営されている無料VPNサーバーに接続できます。ボランティアは個人のコンピューターを「サーバー」として使用します。VPN Gateは筑波大学によって支援されています。[ 9 ] [ 10 ]
参照
- オープンソースのVPNプログラムであるOpenVPN
- UDPホールパンチングは、ファイアウォール/NATネットワークノード間でUDP「接続」を確立する技術です。
- セキュア ソケット トンネリング プロトコル(SSTP) Microsoft の PPP over SSL VPN 実装方法
参考文献
- ^ GitHub 上の SoftEther VPN の作者
- ^ 「リリース 5.02.5181」。
- ^多言語、単一バイナリパッケージ、Unicodeサポート
- ^ “SoftEtherVPN_Stable_LICENSE at master · SoftEtherVPN_SoftEtherVPN_Stable” . GitHub . 2019-07-30. 2019-07-31時点のオリジナルからアーカイブ。2019-07-30に取得。
- ^ 「Open Hub 上の SoftEtherVPN オープンソースプロジェクト」 www.openhub.net Open Hub 2019年7月30日。2019年7月31日時点のオリジナルよりアーカイブ。 2019年7月30日閲覧。
- ^ a b c d Bischoff, Paul (2018年8月31日). 「6つのオープンソースツールで自分だけのVPNを構築」 . Opensource.com . 2018年8月31日時点のオリジナルよりアーカイブ。 2019年7月30日閲覧。
- ^レイヤー2イーサネットベースVPN
- ^ 「ExpressVPN スピードテスト」。
- ^ 「VPN Gate FAQ(よくある質問)」。
- ^ 「VPN Gate 用の VPN サーバーとしてコンピューターを提供する方法」。