SoftEther.co.jp トップページ / PacketiX VPN 2.0 Web サイト  
ご注意 この Web ページは、ソフトイーサ株式会社の古いバージョンの VPN ソフトウェアである「SoftEther 1.0」に関する情報が書かれたものであり、技術的な参考資料として Web サーバー上に残しているものです。したがって、この Web ページに記載されている内容は現在では正しくない場合があります。最新の情報については、SoftEther.co.jp のトップページ からご覧ください。この Web ページに記載されている事項については、現在は無効である場合があります。予めご了承の上ご覧ください。本 Web ページ内の特定の項目の内容が技術的または法的に現在有効かどうかは、ソフトイーサ株式会社までお問い合わせください。
SoftEther.co.jp トップページ
SoftEther 1.0 トップページ
ニュースリリース
PacketiX VPN 2.0 のページ
SoftEther 1.0 の概要
SE 1.0 マニュアル
SE 1.0 活用方法・導入事例
SE 1.0 Linux 版の使い方ガイド
SoftEther 1.0 公式解説サイト
SE 1.0 よくある質問と回答
SE 1.0 現段階での制限事項
SE 1.0 ダウンロード
SoftEther Alert
SoftEther Block
著作権・使用条件
お問い合わせ先
掲載記事等の一覧
メーリングリストのご案内
開発者について
SoftEther 開発日記

 

SoftEther VPN はセキュアな情報通信システムが必要とされる企業内ネットワークに必須の VPN ソフトウェアです。

 

SoftEther トップ > SoftEther の概要 > SoftEther のすべて


SoftEther のすべて

SoftEther の特徴のすべてを 1 ページで解説します。これをお読みいただければ、SoftEther の持つほとんどの機能と動作原理、特徴をご理解いただけます。

なお、この内容は、学術論文として PDF 形式にもまとめられています。こちら を参照してください。


SoftEther に関するドキュメント

SoftEther は、既存のネットワーク上の色々な制限・障壁を越えて、コンピュータ間やネットワーク間を自由に通信できるようにするためのソフトウェアである。利用方法によっては、VPN (仮想プライベートネットワーク) を構成することもできるが、従来の VPN プロトコル (PPTP、L2TP / IPSec など) では通信できなかったような環境でも、色々なサーバーを経由することによって通信可能となる。また、PPTP などの VPN プロトコルは、仮想的な PPP (ダイヤルアップで使用されるプロトコル) を IP の上で確立するが、SoftEther の場合は仮想的な Ethernet を確立するため、既存の物理的な Ethernet 間をブリッジ接続することも可能であり、既存のネットワーク環境を大きく変化させることもできる。

SoftEther 開発プロジェクトは、情報処理振興事業協会(IPA)による「未踏ソフトウェア創造事業 未踏ユース部門」として採択されており、その支援を受けて開発されている。
http://www.ipa.go.jp/NBP/15nendo/15youth/


■ SoftEther の基本

・ SoftEther
Ethernet での LAN カードおよびスイッチング HUB を、ソフトウェア的にエミュレートして仮想化し、これまで自由な通信が困難であった環境でも複数台のコンピュータやネットワーク間を通信することができるようにするソフトウェア。名称は、Software Ethernet (ソフトウェア的なイーサネット) に由来する。

・ SoftEther 仮想 HUB
SoftEther の一部として提供される、ソフトウェア的にエミュレートされたスイッチング HUB。単に「仮想 HUB」と呼ぶこともある。複数台の仮想 LAN カードを接続することができ、各仮想 LAN カードを搭載したコンピュータ間での通信を中継する、物理的な Layer-2 スイッチング HUB と同等の働きを行うが、付加機能として Layer-3 レベルでのパケットフィルタリングやログ機能を提供し、仮想 LAN 内での安全性を高めることもできる。

・ SoftEther 仮想 LAN カード
SoftEther の一部として提供される、ソフトウェア的にエミュレートされた Ethernet LAN カード。単に「仮想 LAN カード」と呼ぶこともある。仮想 LAN カードは仮想 HUB に対して接続する。1 台の仮想 HUB に接続された複数台のコンピュータは、Ethernet レベルで相互に通信することが可能となる。仮想 LAN カードはカーネルモードで動作するデバイスドライバとして実装されている。OS やソフトウェアからは、一般的な LAN カードと全く同等に見えるので、OS 自身の通信を含め、すべてのネットワークアプリケーションが動作する。



・ SoftEther 仮想 LAN
SoftEther の仮想 HUB と、1台以上の仮想 LAN カードをインストールしたコンピュータによって構成される、仮想的なローカルエリアネットワーク (LAN)。この LAN の通信仕様は、仮想的なものであることを除き、すべて Ethernet の仕様に基づいたものである。また、SoftEther 仮想 LAN と、物理的な LAN をブリッジ接続することもできる。



・ 仮想 MAC フレーム
SoftEther 仮想 LAN 内で仮想的に送受信される Ethernet レベルでのフレーム パケット。一般的な Ethernet の仕様に基づいたフレームと同等のものが流れており、仮想 MAC フレームをブリッジ接続によって物理的な LAN 上での電気信号に変えることもできる。


・ SoftEther プロトコル
SoftEther の仮想 HUB と仮想 LAN カードの間の通信で使用される専用プロトコル。SoftEther プロトコルを含むパケットを「SoftEther パケット」と呼ぶ。SoftEther プロトコルは TCP/IP 上で動作し、基本的に仮想 LAN カードがインストールされているコンピュータから仮想 HUB がインストールされているコンピュータに対して TCP/IP パケットが届く場合であれば必ず接続できる。しかし、直接 TCP/IP で仮想 HUB に接続できない環境では、HTTP プロキシサーバーや SSH サーバー、SOCKS サーバーなどを経由して接続することができるので、セキュリティの厳しい社内 LAN でも、外部の仮想 HUB にかなりの確率で接続することができる。



・ SoftEther プロトコルによる接続方法
SoftEther プロトコルは TCP/IP をベースにしており、OS やネットワーク機器、ファイアウォールから見ると、一般的な TCP/IP パケットと何ら変わりは無く、ファイアウォールや NAT を通過できる。通過できない場合や、ネットワーク内で Proxy サーバーなどが唯一の外部とのゲートウェイである場合でも、SoftEther プロトコルは Proxy サーバーや SSH サーバー、SOCKS サーバーを経由して外側にある仮想 HUB と接続可能である。具体的には、SoftEther プロトコルは待ち受けポートとして TCP/7777 および TCP/443 を利用する。後者は、通信内容を SSL (HTTPS) 通信であるかのように Proxy を誤解させるためのものである。これらのポート番号は仮想 HUB で常に待機状態となっているが、仮想 HUB の管理者はポート番号を自由に変更することもできる。

・ SoftEther パケット
SoftEther プロトコルを含む TCP/IP パケット。このパケットは SoftEther 仮想 LAN ではなく、実際の (物理的な) ネットワーク上を流れ、仮想 LAN カードと仮想 HUB の間で送受信される。SoftEther パケットには、仮想 LAN カードと仮想 HUB の間で構築される仮想 LAN を流れる仮想 MAC フレームを暗号化、電子署名してカプセル化されたものが入っている。
 


・ 仮想 MAC アドレス
SoftEther 仮想 LAN カードごとに固有に付けられた MAC アドレス。仮想 LAN カードも Ethernet 的に見ると一般的な LAN カードと変わらず、相互の通信には MAC アドレスが必要不可欠である。SoftEther 仮想 LAN が物理的な LAN とのブリッジを行っていない場合は、各仮想 LAN カードの仮想 MAC アドレスはその仮想 LAN 内のみで一意であれば問題無いが、仮想 LAN と物理的な LAN をブリッジ接続する場合、仮想 LAN 内の各仮想 LAN カードの MAC アドレスは物理的な LAN 上の各 LAN カードの MAC アドレスと重複してはならない。仮想 MAC アドレスは、仮想 LAN カードをコンピュータにインストールする際に、コンピュータに装着されている物理的な LAN カードの MAC アドレスやインストール日時などをハッシュした値をもとにしたものが設定されるので、偶然重複してしまう可能性は限りなく低いが、ユーザーが後から自由に変更することも可能である。

・ 利用できるプロトコル
SoftEther 仮想 LAN カードは、OS や各ソフトウェアから見ると一般的な LAN カードと同じに見えるので、仮想 LAN 内では OS がサポートしているすべてのプロトコルを任意に使用することができる。たとえば、Windows は TCP/IP や IPv6、NetBEUI、IPX などをサポートしているが、これらはすべて仮想 LAN 内で使用可能である。


 


■ SoftEther による仮想ネットワークと物理的ネットワーク

・ プライベート IP アドレス
SoftEther で構成された仮想 LAN 内で TCP/IP を使用して通信を行う際は、通常はその仮想 LAN 内で通用するプライベート IP アドレスを決めておくのが一般的である。もちろん、内部でグローバル IP アドレスを使用して、物理的 LAN との間でルーティングまたはブリッジ接続することも可能であるが、IP アドレスが枯渇している現状ではあまりそのようなことはしないだろうから、通常はプライベート IP アドレスを使用することになる(物理 LAN とブリッジ接続する場合は、物理 LAN 側が使用している IP アドレスのルールに基づいて使用することも可能である)。

・ DHCP の利用
SoftEther 仮想 LAN 内でも、DHCP サーバーを立ち上げることができる。この場合、仮想 LAN に接続する複数台のコンピュータは、個別に IP アドレスを設定する必要が無くなる。この方法で注意しなければならないのは、SoftEther 仮想 LAN と物理的な LAN をブリッジ接続する場合である。既存の物理的な LAN 上に DHCP サーバーがある場合、2つの DHCP サーバーが競合してしまい、大規模なネットワークトラブルに発展する可能性があるので、DHCP を運用する場合は TCP/IP ネットワークに関する詳しい知識が必要となる。

・ デフォルトゲートウェイ
仮想 LAN カードも OS から見れば普通の LAN カードであるため、仮想 LAN カード上で TCP/IP を設定し、仮想 LAN 上の1台のコンピュータで NAT サービスなどのルーティングサービスを有効にしておけば、その仮想 LAN に接続されたコンピュータは NAT となっているコンピュータの IP アドレスをデフォルトゲートウェイに設定することにより、すべてのインターネットに対してのパケットは仮想 LAN 上を経由して流れることになる。これは、社内 LAN などでインターネットアクセスの制限が多い場合に特に役に立つ。

・ ブリッジ接続
仮想 LAN は Ethernet の仕様に基づいた LAN であるが、あくまでもソフトウェア的に実装された仮想的なものであるので、実際の通信は LAN ケーブルではなくSoftEther パケット内にカプセル化されており、そのままでは物理的な LAN と接続することができない。しかし、仮想 LAN と物理的な LAN の間をブリッジ接続することにより、仮想 LAN と物理的な LAN が同じネットワークセグメントに属しているかのように自由に通信することができるようになる。これを、仮想 LAN と物理的な LAN とのブリッジ接続と言う。ブリッジ接続は、OS がブリッジドライバを持っている必要があるので、Windows XP / Windows Server 2003 以降で使用可能である。(Windows 2000 はブリッジになることはではない。)

・ ブリッジ接続の方法
ブリッジ接続を行うには、ブリッジ接続したい物理的な LAN に物理的に接続されているコンピュータに仮想 LAN カードをインストールし、仮想 LAN に接続した状態で、2 つのネットワークアダプタに対して Windows 上で「ブリッジ接続」を構成する。ブリッジ接続が成立したら、仮想 LAN と物理的な LAN は実際に接続されている状態と同等になるので、その仮想 LAN に接続している仮想 LAN カードをインストールしたコンピュータと物理的な LAN 上のコンピュータは、Ethernet レベルで完全に自由に通信を行えるようになる。

・ ブリッジ接続の利点
ブリッジ接続は物理的な LAN 上の物理的な HUB と、仮想 LAN 上の仮想 HUB とを「カスケード接続」するようなものである。カスケード接続とは、物理的な2つ以上の HUB をクロスケーブルなどで接続することにより、双方の HUB に接続されているコンピュータが自由に通信できるようにするものであるが、仮想 LAN と物理的な LAN との間のブリッジ接続により、これと全く同等の状態を作ることができる。ある物理的な LAN と仮想 LAN をブリッジ接続したい場合は、物理的な LAN と仮想 LAN の両方に接続されているコンピュータ1台のみでブリッジを構成すればよい。すると自動的にそれぞれの LAN に接続されているすべてのコンピュータは相互に通信が可能になる。その際のフレーム パケットはブリッジとなったコンピュータを通過することになる。通常、仮想 LAN に接続されているコンピュータは実際には何らかの物理的な LAN (社内 LAN など) に接続されている場合が多いのだから、そのコンピュータ上でブリッジを構成することにより、物理的な LAN 上のコンピュータすべては仮想 LAN とも接続可能になる。さらに、ブリッジ接続を行うには、物理的な LAN のネットワーク管理者に設定を依頼すること無く、コンピュータを持っているユーザーであれば誰でも自由にブリッジ接続を行うことができ、これを防止する簡単な手段は存在しない。

・ ブリッジ接続の危険性
ブリッジ接続によって、構築した仮想 LAN に複数台のコンピュータを接続させたい場合でも、それぞれのコンピュータに SoftEther 仮想 LAN カードをインストールする必要は無く、1台のコンピュータでブリッジ接続を構成するのみで物理的な LAN 上のコンピュータすべてが仮想 LAN と自動的に通信可能になるので、大変便利である。また、コンピュータのユーザーが物理的な LAN のネットワーク管理者の設定無しに自由にこのようなブリッジ接続が行えるため、管理者の手を煩わせる必要が無いのだが、これはネットワーク管理者から見れば脅威となる。ネットワークのブリッジ (カスケード接続) は従来でも一般ユーザーが勝手に行うことができたが、それは物理的なカスケード接続であり、何らかの物理的なケーブルが必要となっていたので、ネットワーク管理者はそのようなことが行われていないかどうかを容易にチェックできた。しかしながら、SoftEther 仮想 LAN はハードウェア的には全く何も必要無いので、仮想 LAN と物理的な LAN とのブリッジ接続をしても、ネットワーク管理者がそれを発見・チェックする可能性は低く、ユーザーの利用方法によっては物理的な LAN が外部と直接ケーブルで接続されたようになってしまうので、セキュリティ的に危険な状態となる。しかしながら、これを防止する容易な方法は存在しない。

・ 仮想 HUB と仮想 LAN カードの共存
本来、仮想 HUB は Ethernet 上での物理的なスイッチング HUB をソフトウェア的に実装したものであるので、単独のソフトウェアとして1台のコンピュータで動作させるものであるが、それだと少数のコンピュータ同士で相互接続を行う際に仮想 HUB を動作させるためだけに専用のコンピュータが1台必要になる。そこで、仮想 HUB と仮想 LAN カードをまとめて1台のコンピュータにインストールし、そのコンピュータは仮想 HUB であるサーバーとしての機能も、仮想 LAN カードであるクライアントとしての機能も同時に持つことができる。この場合、このコンピュータの仮想 LAN カードの接続先アドレスは自分自身 (localhost) を指定する。



 


■ SoftEther の活用方法

・ PC to PC 接続
SoftEther の利用形態の1つ。ネットワーク的に離れた場所にある2台以上のコンピュータを自由に通信できるようにするための利用方法。2台以上のコンピュータのうち1台で SoftEther 仮想 HUB を稼動させ、各コンピュータにSoftEther 仮想 LAN カードをインストールして仮想 HUB に対して接続させることにより、接続したすべてのコンピュータ間でネットワーク上の障壁を越えて自由に通信することができるようになる。仮想 HUB は、それに接続したい各コンピュータから SoftEther プロトコルによって接続できる場所にある必要がある。通常はインターネット上のグローバル IP アドレスを持ったマシン上に設置する。会社内などでこのような接続を行う際には、その社内 LAN を利用するユーザーであれば、自分のコンピュータをこのように設定すれば勝手に行うことができるが、事前にシステム管理者の同意を得ておくことを強く推奨する。



 

・ PC to LAN 接続
SoftEther の利用形態の1つ。コンピュータを離れた場所から社内 LAN に接続し、自由に通信させたい場合などに利用する。社内 LAN に接続されているコンピュータのうち1台に仮想 LAN カードをインストールする。また、そのコンピュータと、離れた場所から接続したいコンピュータの両方から接続できる場所に仮想 HUB をインストールしたコンピュータを置く。通常はインターネット上のグローバル IP アドレスを持ったマシン上に設置する。社内 LAN で仮想 LAN カードをインストールした1台のコンピュータ上で、社内 LAN に接続されている LAN カードと仮想 LAN カードの間でブリッジ接続を構成する。また、仮想 HUB にも接続する。この状態で、仮想 LAN と社内 LAN はブリッジ接続されたことになるので、その仮想 LAN に接続したコンピュータはすべて社内 LAN と自由に通信することができるようになる。これは VPN としての利用形態である。会社内などでこのような接続を行う際には、その社内 LAN を利用するユーザーであれば、自分のコンピュータをこのように設定すれば勝手に行うことができるが、事前にシステム管理者の同意を得ておくことを強く推奨する。



・ LAN to LAN 接続
SoftEther の利用形態の1つ。離れた場所にある2つ以上の物理的な LAN 同士を SoftEther を利用してブリッジ接続することにより、相互で Ethernet レベルの自由な通信が可能となる。具体的には、接続したい各 LAN 上で1台ずつのコンピュータを選び、SoftEther 仮想 LAN カードをインストールする。そして、これらのコンピュータから接続可能な位置に SoftEther 仮想 HUB をインストールする。状況によっては、仮想 HUB は仮想 LAN カードをインストールしたコンピュータのうちの1台と共存することもできる(詳しくは「仮想 HUB と仮想 LAN カードの共存」を参照のこと)。この状態で、各コンピュータが仮想 HUB と接続し、各コンピュータ上で仮想 LAN カードと物理的な LAN カードとの間でブリッジ接続を構成することにより、各 LAN 同士が SoftEther 仮想 LAN を経由してすべてカスケード接続 (ブリッジ接続) された状態になり、各 LAN 上のコンピュータは自由に通信することができるようになる。これは VPN としての利用形態である。会社内などでこのような接続を行う際には、その社内 LAN を利用するユーザーであれば、自分のコンピュータをこのように設定すれば勝手に行うことができるが、事前にシステム管理者の同意を得ておくことを強く推奨する。


システム管理者は、すでに設定されたファイアウォールに対して例外的な設定変更を行うことなく
SoftEther を使用して社内の PC から外部の PC やネットワークに対して
VPN 接続を簡単かつ安全に構築可能である。



■ SoftEther プロトコルの持つ機能

・ 簡単に扱えるユーザーインターフェイス
SoftEther 仮想 LAN カードをインストールしたクライアントでは、簡単に仮想 HUB に接続することができるようにするため、Windows の「ダイヤルアップネットワーク」と同等の使いやすくわかりやすいUIを搭載する。



・ ユーザー認証
SoftEther 仮想 HUB は、TCP/IP 的に見るとサーバー ソフトウェアであり、各仮想 LAN カードから接続する際にはユーザー認証を必要とすることができる。ユーザー認証にはユーザー名とパスワードが使用され、128-bit MD5 ハッシュ・アルゴリズムおよび 128-bit RC4 互換暗号化アルゴリズムを使用したチャレンジ&レスポンス方式による安全な認証を行うことができる。

・ 暗号化通信
SoftEther プロトコルでの通信は、デフォルトですべて暗号化される。暗号化レベルは 128-bit で、アルゴリズムには RC4 互換暗号化アルゴリズムを使用できる。共有鍵はユーザー認証時のチャレンジ&レスポンス処理で安全に交換される。

・ 電子署名
パケットの改ざんを防ぐため、SoftEther プロトコルでの通信は、すべて電子署名が付加されている。電子署名には 128-bit MD5 ハッシュ・アルゴリズムが使用される。

・ 自動再接続機能
SoftEther プロトコルでの通信 (TCP/IP による仮想 LAN カードと仮想 HUB 間の通信) が TCP/IP 的に切断されてしまったり、SoftEther 仮想 LAN カードをインストールしたクライアントの物理的な接続が切れた場合 (LAN ケーブルが抜けた、PHS や無線 LAN で電波が途切れたなど)、SoftEther プロトコルは切断を認識し、次に接続に成功するまで再接続を試行する。再接続は、デフォルト設定では接続に成功するまで永久に行われるが、設定を変更して一定回数だけ再接続を試行したり、自動再接続を無効にすることもできる。

・ セッション再接続機能とバッファリング
自動再接続機能により SoftEther 仮想 HUB に対して再接続した場合、前回の切断時から 60 秒以内に再接続すれば、仮想 LAN 上では切断が行われていなかったかのように動作する機能がセッション再接続である。これは、仮想 HUB と仮想 LAN カードの両方で、相手先に送るべき Ethernet パケットを切断中もバッファリングしておき、接続が再開したら再同期処理を行って相手先に送信することにより、Ethernet レベルでのパケットロスは全く無かったかのように振る舞うことが可能である。この機能は、モバイルネットワークや品質の悪いインターネット接続回線 (遠距離 ADSL など) で非常に有効な機能である。仮に、再接続前と再接続後の物理的な IP アドレスが変化した場合でも、問題無く再接続できる。再接続のために、初回接続時の認証時に 128-bit 暗号で交換される 128-bit のセッション ID が使用される。

・ デフォルトゲートウェイ設定による通信切断の防止機能
SoftEther では、SoftEther 仮想 LAN 側のホストで NAT やルーターを動作させ、各 SoftEther 仮想 LAN カードをインストールしたコンピュータは、接続後はそのコンピュータをデフォルトゲートウェイとして通信することができる。しかし、単純にこれを行ってしまうと、SoftEther 仮想 LAN への接続が完了した瞬間、コンピュータのデフォルトゲートウェイがこれまでの物理的な LAN 側から仮想 LAN 側へ移動してしまい、SoftEther プロトコルが必要とする TCP/IP 通信のパケットも仮想 LAN カード側を通ろうとするので、無限ループが発生し、そのコンピュータは SoftEther 接続がタイムアウト切断されるまで完全に通信不能になってしまう。これを防止するため、SoftEther 仮想 LAN カードドライバは仮想 HUB への接続完了後デフォルトゲートウェイを移動する直前に、その仮想 HUB の IP アドレスへの接続に必要な物理的な LAN 側を通るためのサブネットマスク 255.255.255.255 のスタティックルーティングテーブルエントリを追加する。この機能によって、デフォルトゲートウェイを仮想 LAN 側のホストに設定する場合でも、問題無く通信できる。


■ SoftEther 仮想 HUB の持つ機能

・ スイッチング機能
仮想 HUB は、Ethernet レベルでは一般的なスイッチング HUB (Layer-2 スイッチ) と同様に機能する。すなわち、各仮想 MAC フレームの宛先 MAC アドレスを見て、対応するポート (仮想 LAN カードからの接続) に対して送出する機能である。実験により、SoftEther 仮想 HUB は、現在 Celeron 2.0GHZ 搭載のコンピュータにて最大 50 Mbps 以上の性能を出せることがわかった。

・ 管理コンソール機能
仮想 HUB の管理者は、Telnet 接続を用いて仮想 HUB のポート 8023 に接続し、仮想 HUB のすべての管理機能にアクセスすることができる。仮想 HUB のメンテナンス Telnet 接続は、物理的な LAN やインターネット経由でも行えるが、それ自身の仮想 HUB によって構築した仮想 LAN を経由して接続することも、システム構成によっては可能である。

・ Layer-3 ログ機能
仮想 HUB では、各ユーザーの接続 / 切断ログ以外に、各ユーザーが実際に送受信したパケットの内容 (ヘッダ情報) をログファイルとして常に保存することが可能である。仮想 HUB は各パケットを Layer-3 以上のレベルで解釈し、IP パケット、TCP パケットの接続・切断、TCP パケットによるデータ転送、DHCP によるアドレス割り当て、ARP による MAC アドレス解決などの重要なイベントのみを細かく設定してログをとることができる。すべてのログを有効にした場合は、パケット数と同じだけのログ行数になり、1時間あたり数百 MBytes になってしまうこともあるが、このような場合でもログへの書き込みキャッシュを自動的に最適化するため、ログ保存のためのパフォーマンスの影響は少ない。

・ Layer-3 パケットフィルタ機能
仮想 HUB は、物理的な HUB と異なり、離れたところから複数のコンピュータが接続できる。その中の1台でおかしな設定をしたものがあったり、悪意をもったものがあったりすると、その仮想 HUB で構成される仮想 LAN 全体に影響が出るばかりか、物理的な LAN まで影響が広がる場合もある。物理的な HUB であればケーブルを抜いておけばいいのだが、仮想 HUB では予めそのような変なパケットを通さないようにしておけば大変安心である。
仮想 HUB には、オプションとして Layer-3 パケットフィルタ機能を搭載している。一般的に用いられている Layer-3 スイッチのすべての機能は搭載することができていないが、SoftEther 仮想 LAN 上で必要になると思われる基本的なセキュリティ機能を多く搭載している。
これらのパケットフィルタ設定は、ユーザーごとに設定できる。たとえば、DHCP を禁止するオプションは各クライアントが接続の際に使用するユーザーで設定しておき、DHCP サーバーとして動作させたいコンピュータが接続する際に使用するユーザー名のみこのオプションを設定しておかなければよい。
パケットフィルタオプションの一部を以下で紹介する。

① DHCP サーバーの動作を禁止する
そのユーザーの接続は、DHCP サーバーとして動作することを禁止する。具体的には、DHCP OFFER と DHCP ACK パケットを無視する。1つの仮想 LAN 内で複数の DHCP サーバーを動作させないためである。

② DHCP パケットをすべて禁止する
そのユーザーの接続は、すべての DHCP パケットの送受信を禁止する。2つ以上の LAN を SoftEther によってブリッジ接続する際、各 LAN にすでに DHCP サーバーが存在していると、ブリッジ接続した瞬間、DHCP 競合が発生する。そのような場合にこのオプションを有効にする。

③ DHCP が割り当てた IP アドレスを強制する
クライアント コンピュータが使用する IP アドレスは、DHCP サーバーが割り当てた IP アドレスのみ使用できるようにする。その他の IP アドレスを発信元としたパケットはすべて無視する。これは、CATV インターネット接続業者などが使用している専用ルータで使用されている機能をソフトウェア的に実装したものである。

④ IP アドレスを1つに制限する
各クライアントの仮想 LAN 内での IP アドレスを1つに制限する。1つの仮想 LAN クライアントが複数の IP アドレスを持つことを禁止し、最初の IP アドレスのみ有効にする。

⑤ MAC アドレスを1つに制限する
各クライアントの仮想 LAN 内での MAC アドレスを1つに制限する。1つの仮想 LAN クライアントが複数の MAC アドレスを持つことを禁止し、最初の MAC アドレスのみ有効にする。これを有効にすると、その接続のクライアント コンピュータ側ではブリッジを構成することはできなくなる。

⑥ 重複する IP アドレスを禁止する
クライアントが仮想 LAN に接続した際、すでに別のクライアントが使用している IP アドレスを使用しようとした場合、そのパケットを無視する。これにより、仮想 LAN 内での IP アドレスの重複による通信妨害を防止する。


 

・ 輻輳(ふくそう)制御機能
SoftEther プロトコルでは、すべての Ethernet MAC フレームは TCP/IP によって通信される SoftEther パケットにカプセル化される。従って、通常のインターネットや LAN などでは転送能力を超えたパケットが HUB やルーターを流れた場合、そのパケットは無視される (切り捨てられる) のだが、SoftEther 仮想 LAN の場合はすべてのパケットを順番に転送しようとするので、状況によっては大幅な輻輳が発生していまい、通信が不可能になる。特に、悪意のあるユーザーによってブロードキャストパケットによる DoS 攻撃が行われた場合、攻撃の対象となった仮想 HUB がすべてのパケットを正しく転送しようとして、結果的にすべての接続クライアント間の通信が麻痺(まひ) してしまう。これを防止するため、SoftEther 仮想 HUB には輻輳制御機能が備わっており、現在の回線の転送能力を超えたパケットを切り捨てると共に、大量の DoS 攻撃によるパケットを遮断する。


■ 対応システム

・ SoftEther 仮想 LAN カード
SoftEther 仮想 LAN カードは、Windows 2000 / Windows XP / Windows Server 2003 上で動作する。カーネルモードで動作するので、インストールには Administrator 権限が必要である。ブリッジ接続を利用するには、Windows XP / Windows Server 2003 が必要である。

・ SoftEther 仮想 HUB
SoftEther 仮想 HUB は、Windows 2000 / Windows XP / Windows Server 2003 上で動作する。システム サービスとして動作するので、インストールには Administrator 権限が必要である。

・ Linux への対応
SoftEther は C 言語によって書かれており、カーネルモードドライバ以外は OS 依存度が低くコーディングされている。将来的に Linux やその他の OS に対応したいと考えているが、最初に移植されるのは仮想 HUB である。


■ 公開

・ 公開時期
SoftEther のベータ版は、2003年末に公開される予定である。

・ 仕様公開
SoftEther プロトコルの仕様はすべて公開される予定である。

・ ソースコード公開
SoftEther ソフトウェアの各ソースコード (C 言語) は、将来公開される予定である。

・ 実験用 SoftEther 匿名仮想 HUB の公開
実験用に、誰でも匿名で接続できる仮想 HUB を、hub.softether.com 上で時期限定で提供される予定である。この匿名 HUB には、SoftEther 仮想 LAN カードをインストールしたコンピュータでインターネットに接続できるコンピュータであれば誰でも接続可能である。内部で DHCP サーバーと NAT が稼動しており、すべてのユーザーは SoftEther 仮想 LAN を経由してインターネットへアクセスすることができるようになる(つまり、SoftEther の仮想 LAN 内の NAT になっているコンピュータを経由してインターネットと通信することになる)。
実験用の匿名仮想 HUB については、今後 https://www2.softether.jp/ でアナウンスされる。


・ SoftEther の開発元

登 大遊 (のぼり だいゆう)

筑波大学 第三学群 情報学類 1年
メールアドレス: yagi@coins.tsukuba.ac.jp
過去に作ったソフトなど: http://www.plusfoma.jp/


------------------------------------------
当開発作業はIPAの「未踏ソフトウェア創造事業(未踏ユース)」の採択案件として行い、IPAから開発補助を受けるとともに、電気通信大学教授 竹内PMより開発時に指導、アドバイスを受けている。
------------------------------------------
 

 

 

 

 
 お問い合わせ先 | 使用条件
 Copyright © 2004-2006 SoftEther Corporation. All Rights Reserved. SoftEther.co.jp