Computer

SoftEtherとは

安全かつ自由な通信ネットワークを実現するための仮想ネットワーク構築システム. (公式ページより抜粋.)
現在Beta 3であるが,かなりの雑誌で紹介されているようである. (2004年3月18日に正式版が公開されました.)
このソフトの製作者や,ソフトの使い方は公式ページ をご覧になることをお勧めする.(私には上手く解説できないので・・・)

実際に使ってみる

まず,私が試した環境は,
仮想HUBをインストールして,仮想LANカードからアクセスするマシン(これを仮にマシンAとする): ルータ(192.168.1.1)下でローカルIPは固定(192.168.1.3).
仮想LANカードをインストールして仮想HUBに接続するマシン(これをマシンBとする): 制限のかかった無線LAN環境下,および,マシンAとは別のルータに接続された環境下
で試した.また,マシンAはルータを通して固定IP(仮にaaa.aaa.aaa.aaa)につながっているとする.

まず,マシンAの設定.
仮想HUBをインストール
仮想LANカード(接続先は127.0.0.1 TCPポート7777か443)をインストール
実際のLANカードと仮想LANカードでネットワークブリッジを設定
ここで,ブリッジの設定でローカルIPが固定取得にならないので, 固定取得(192.168.1.3)になるように設定を変更しなおす.
接続しているルータのポートを開ける(TCPの7777か443,お勧めは後者).
「SoftEther 仮想 HUB 管理クライアント」から仮想HUBの設定(ユーザの追加等)を行う. この設定は,公式ページSoftEther入門 を参考にすると良い.
今回は,DHCP サーバーの動作を禁止,既存の IP アドレスとの重複を禁止,既存の MAC アドレスとの重複を禁止 のセキュリティ オプションを設定した. (使用可能なIPアドレスを1つに制限 を設定するとうまく行かないので注意.)
そして,「SoftEther 接続マネージャ」より,「新規作成」.
適当な名前,および,「この仮想HUBは認証が必要」にチェック.
「SoftEther 仮想 HUB 管理クライアント」で設定したユーザー名とパスワードを入力.
さらに,「仮想HUBに接続する際に使用するプロトコル」で「直接TCP/IP接続」を選択し,「接続設定」へ.
ここで「接続先」に127.0.0.1,「ポート番号」に443を入力する.
設定が終わったら,仮想HUBへ接続する.接続が上手く行くと右側に「接続完了」と表示される.
ブリッジを設定し,ローカルで仮想HUBに接続することで, 外から接続してきた仮想LANカード(マシンB)にもルータのDHCP機能からローカルIPが割り当てられる.
スタートアップ接続に設定してしまってもよいでしょう.

マシンBの設定.
仮想LANカードをインストールし,「SoftEther 接続マネージャ」で設定を行う.
設定はマシンAで設定した方法と同じであるが,「仮想HUBに接続する際に使用するプロトコル」は適宜選択し,設定をする.
「直接TCP/IP接続」の場合,「接続設定」の「接続先」にaaa.aaa.aaa.aaa,「ポート番号」に443を入力する.
そして仮想HUBへ接続することで,マシンAがつながっているルータからローカルIPがもらえ, あたかもがマシンAと同じネットワーク上にいるかのように通信できる.
今回試した2つの環境下では,TCP443ポートを使った接続はうまく行ったのであるが, 場合によってはTCP443が使えない場合もある. その場合は,「仮想HUBに接続する際に使用するプロトコル」で ProxyやSOCKS(私はこれはわからない・・・),SSH経由を試すと良い.
私の環境では,マシンAと同じネットワーク上にSSHサーバがあるので,そこに接続し, そこから,「接続先」にマシンAのローカルIPの192.168.1.3を設定しても接続できた.

追加(2004.02.20)

上のような設定を行っても,うまくDHCPサーバからIPがもらえないこともあるようです. これはおそらくネット回線の関係でDHCPサーバとの通信に時間がかかってしまうことが原因のように思われます.
これを回避するには,IPアドレスを手動で取得するようにしてしまいましょう. 「ネットワーク接続」から「SoftEther 仮想 LAN 接続」のプロパティ, 「インターネットプロトコル (TCP/IP)」のプロパティでIPアドレスを固定取得にしましょう. WinXPだとIPの設定が2つできるので,「代替の構成」のほうに設定しておくと良いでしょう. (「SoftEther.com Sample HUB」につないだときにつなげなくなってしまわないために.)
また,IPアドレスを固定取得にしたからといって,マシンAでローカルで仮想HUBに接続することを行わないと 通信が出来ないようです.

追加(2004.04.10)

Linux Magazine 5月号にSoftEtherの記事が紹介(開発者本人が書いた紹介など)が掲載され, その中で,上で紹介したブリッジ接続のほかに,Win2k以降のネットワークの共有機能を使って 仮想HUBを経由したWebへのアクセス方法が紹介されていました.
これを実際に試してみた結果を紹介します.
マシンAの仮想LANを仮想HUBに接続し,さらに,ネットワークのプロパティで, 通常Web接続に利用しているLANデバイスを選択して右クリックし,詳細設定でインターネット接続の共有をします. これにより仮想LANのIPが192.168.0.1になります.このままでもいいのですが,個人的趣味で変更します. 今回は192.168.1.9(通常のLANのほうは192.168.1.3だったかな)にします.
マシンBは,通常通り仮想LANでマシンAの仮想HUBに接続します. ここでIPは自動でもらえない可能性があるので,「代替の構成」の設定でIPを設定しましょう. その際,デフォルトゲートウェイは192.168.1.9にする必要があります.
また,仮想HUBを設置しているマシンAは同じネットワーク内にある別のマシンとの通信が出来なくなる可能性があるので, 注意しましょう.

注意!!

SoftEtherを使うといろんなことが出来てしまいます.うまく使えばとても便利ですが, 使い方によっては,悪用も可能です.
また,ネットワークによっては,SoftEtherの使用を禁止しているところもあるかもしれません. (技術的にSoftEtherを使用しているかどうか見破れるかどうかは別として.) その場合は使用をやめましょう.(コンピュータ,ネットワーク管理者は大変なお仕事です.)
ここで紹介した内容はSoftEtherを悪用するためのものではないこと付け加えておきます.

Linux版仮想HUBの導入メモ

2004年3月18日に正式版が公開されたと同時に,Linux版の仮想HUBが公開された.
FedoraCore1での導入は以下のように行った.
まず,公式ページから se_100_linux.zipをDLし,
unzip se_100_linux.zip
で,3つのファイルが出来る.ただし,ディレクトリにまとめて解凍したほうが便利なので,
unzip se_100_linux.zip -d [解凍したいディレクトリ名]
としたほうが良い.

このディレクトリにcdコマンドで移動して,
gcc se_hub.a -lpthread -lssl -lcrypto -o se_hub
とする.
しかし,
/usr/bin/ld: cannot find -lssl
collect2: ld はステータス 1 で終了しました
のようなエラーが出てしまったので,
gcc se_hub.a -lpthread -L /usr/local/ssl/lib/ -lssl -lcrypto -o se_hub
のようにしたが,これもだめ.

仕方がないので,OpenSSLを新たに落としてきて解凍&インストール.
tar zxvf openssl-0.9.7d.tar.gz
解凍して出来たディレクトリに移動して,
./config
make
make test
make install
をする.
この後に,
gcc se_hub.a -lpthread -L /usr/local/ssl/lib/ -lssl -lcrypto -o se_hub
をしたら,se_hubというファイルがめでたく作成された.


2004年5月27日にLinux版がアップデートされた.
また,その間に私の環境がVineLinux2.6r4に変更したので,再度設定を行った.
しかし,うまくいかない・・・.ステータス1で終了・・・.
結局,別環境でse_hubを作成した.
Valid HTML 4.01 Transitional Valid CSS!
Copyright© Satze.net All rights reserved.