Windows2000でTAP-Win32ドライバを使ったブリッジ接続

こちらのページで 「Windows2000でブリッジ接続するためにはWinPCapを使用する」と書きました。

しかし、WinPCapでも通信はできるのですが、イマイチなので、 何とかTAP-Win32ドライバを使ってWidows2000でブリッジ接続できないかと調べたところ、 ようやく発見しました。

通信速度は測っていないのですが、いまのところ問題なく使えています。

Amazonのベストセラー
(ジャンル: TCP/IP)

準備

Windows2000でブリッジ接続するには、 Ethernet Bridge 2.0というストレートな名前のフリーソフト(デバイスドライバ)を使用します。 これは、 http://www.ntkernel.com/w&p.php?id=20のページの中ほどからダウンロードします。

これとは別に当然、TAP-Win32ドライバをインストールしておかなければいけません。 colinuxのインストール時にTAP-Win32ドライバをインストールしていない人は、 再度colinuxをインストールする(この場合、カスタマイズしたカーネルvmlinuxと設定ファイルcolinux.confが上書きされないように保存しておきましょう)か、 「コントロールパネル」→「ハードウェアの追加と削除」→「デバイスの追加/トラブルシューティング」→「新しいデバイスの追加」→「いいえ、一覧からハートウェアを選択します」→「ネットワークアダプタ」→「ディスクを使用」→「c:\coLinux\netdriver\OemWin2k.infを選択」でインストールします。

Ethernet Bridge 2.0のインストール

Ethernet Bridgeがバージョンアップして2.0になったあたりからインストーラができたようです。

インストールは、ダウンロードしたzipファイルを解凍してできるebridge_x86.exeを実行するだけです。

Ethernet Bridge installer

インストーラは基本的に「Next」を選んでいけばOKです。 インストールが完了すると再起動を要求されるので、 再起動しておきましょう。

Ethernet Bridge installer

Ethernet Bridge 2.0の設定

Ethernet Bridge 2.0をインストールするとスタートメニューに「Ethernet Bridge」というグループができるので、その中の「Ethernet Bridge」というプログラムを実行します。

Ethernet Bridge configuration Tool

私の場合は、「Available Network Adapters」の欄に 「ローカルエリア接続」と「ローカルエリア接続 11」の2つのアダプタが表示されました。 ネットワークのプロパティを見ると、 「ローカルエリア接続」がホストPCの本物のLAN、 「ローカルエリア接続 11」がcoLinux用のTAP-Win32であることが判ります。

Ethernet Bridge configuration Tool

この2つのアダプタをブリッジさせるには、「ローカルエリア接続」と 「ローカルエリア接続 11」を一つずつ選択して「Add」ボタンを押します。 この操作で、「Bridged Network Adapters」の欄に二つとも移動します。

Ethernet Bridge configuration Tool

Windows2000の設定

Windows側で行う設定は、TAP-Win32ドライバのIPアドレスの設定です。 これは、「コントロールパネル」→「ネットワークとダイアルアップ接続」 から表示されるウィンドウで、 デバイス名が「TAP-Win32 Adapter」となっている「ローカルエリア接続」のプロパティを選択して、 「インタネットプロトコル」のプロパティで設定します (詳しくは「coLinuxのインストール TAP-Win32でのNAT接続」を参照)。

指定するIPアドレスは適当で大丈夫です(多分)。 私の家庭内LANのネットワークアドレスは192.168.10.0/24ですが、 TAP-Win32 Adapterに設定するIPアドレスは192.168.11.1にしてみましたが動きました (「IPアドレスを自動的に取得する」にしてもよいと思います)。

coLinuxの設定

設定することは、coLinuxの設定ファイルと、ネットワークの設定です。

設定ファイルの修正

今まで、WinPCapを使用して接続していた人は、 TAP-Win32を使うように設定ファイルのnetworkの部分を下記のように変更してください。

eth0=tuntap

ネットワークの設定

今までWinPCapでブリッジ接続していた人は特に変更する必要がありません。 そうでない方は 「coLinuxのインストール WinPCapを使ったブリッジ接続」を参照して ネットワークの設定をしてください。

以上で、Windows2000でもTAP-Win32を用いてブリッジ接続ができます。 Windows2000に対する負荷がちょっと心配ですが、 私のところでは今のところ問題なく動いています。

ブリッジ接続の常設化

Ethernet Bridge Configuration Toolで設定したブリッジは、 実はホストPCを再起動すると無効になってしまいます(保存されない)。

ブリッジ接続を常設化するために、 Windows2000の起動時に自動的にブリッジ接続が 有効になるようにしなければいけません。

これを実現するために、以下の二つを行います。

  • コマンドラインによるEthernet Bridgeの設定
  • Ethernet Bridgeのサービス化

コマンドラインによるEthernet Bridge 2.0の設定

まず、Ethernet Bridge 2.0をインストールしたディレクトリ(の下のbinディレクトリ)にある bridge_cmd.exeというコマンドを実行します。 デフォルトでは、 Ethernet Bridge 2.0は"c:\Program Files\Ethernet Bridge"に インストールされます。

c:\>cd c:\Program Files\Ethernet Bridge\bin
c:\Program Files\Ethernet Bridge\bin>bridge_cmd.exe
The following Ethernet interfaces are available to MSTCP:

\DEVICE\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
        Relates to:      ローカル エリア接続
        Current MAC:     001122334455
        Medium:  0x00000000
        Current MTU:     1500
        Current bridge status = NOT BRIDGED

\DEVICE\{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
        Relates to:      ローカル エリア接続 11
        Current MAC:     00FFEEDDCCBB
        Medium:  0x00000000
        Current MTU:     1500
        Current bridge status = NOT BRIDGED

表示されるのは現在インストールされているネットワークアダプタの 詳細情報です。ここでブリッジさせたいネットワークアダプタの1行目 (\DEVICE\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX})のところを覚えておきます。 そしこれを次のように引数にしてbridge_cmd.exeを実行します。

c:\Program Files\Ethernet Bridge\bin>bridge_cmd.exe \DEVICE\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} \DEVICE\{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}

ここで再度bridge_cmd.exeを引数無しで実行してみましょう。 "Current bridge status"が"BRIGED"と なっている事がわかります。

c:\Program Files\Ethernet Bridge\bin>bridge_cmd.exe
The following Ethernet interfaces are available to MSTCP:

\DEVICE\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
        Relates to:      ローカル エリア接続
        Current MAC:     001122334455
        Medium:  0x00000000
        Current MTU:     1500
        Current bridge status = BRIDGED

\DEVICE\{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}
        Relates to:      ローカル エリア接続 11
        Current MAC:     00FFEEDDCCBB
        Medium:  0x00000000
        Current MTU:     1500
        Current bridge status = NOT BRIDGED

起動時の設定

さて、上記のようにコマンドラインでEthenet Bridge 2.0の 設定をしたとしても、実は再起動すると設定が無効になってしまいます。

そこで上記の設定コマンドをサービスとして実行することで、 起動時にEthernet Bridge 2.0の設定が自動的に行われるようにします。 サービスとして動作させるにはレジストリを操作することによって 設定できるのですが、そこは面倒なのでsexeというフリーソフトを使って 設定します。

sexeはhttp://www.vector.co.jp/soft/winnt/util/se227419.htmlからダウンロードできます。

ダウンロードしたファイルを解凍するとsexe.exeとsexe.txtというファイルができますので、 Ethernet Bridgeがインストールされているフォルダにコピーしておきます。 私の場合は「C:\Program Files\Ethernet Bridge\bin」にコピーしました。

次にコピーしたsexe.exeを実行します。

SEXE

sexeを実行すると上記のようなダイアログボックスが表示されるので、 以下の様に設定します。

プログラム名
参照ボタンを押してbridge_cmd.exeを指定します。 私の場合はここは 「C:\Program Files\Ethernet Bridge\bin\bridge_cmd.exe」と なりました。
起動時オプション
コマンドラインの設定で使用した引数です。上記の例の場合だと 「\DEVICE\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} \DEVICE\{YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}」となります。
サービス名
ここは何でもよいのですが、私は「Ethernet Bridge 2」としました。
終了方法
デフォルトのままでOKです。 つまり「WM_SYSCOMMAND→WM_CLOSE」となります。
自動起動
デフォルトのままでOKです。 つまりこのチェックボックスはオンになります。
デスクトップとの対話を許可
デフォルトのままでOKです。 つまりこのチェックボックスはオフになります。

上記の様に設定したら「テスト起動ボタン」を押してみましょう。 下記のようなダイアログボックスが表示されるはずです。

SEXE

このダイアログボックスが表示される状態(OKをクリックする前)で、 スタートメニューから「Ethernet Bridge」を実行してみましょう。 下記の様に2つのアダプタが「Bridged Network Adapters」に 移動していればOKです。

Ethernet Bridge configuration Tool

確認したら、Ethernet Bridge Configuration Toolを閉じてから、 sexeのダイアログボックスのOKを押しましょう。 Ethernet Bridge Configuraiton Toolを表示させながら コマンドラインから設定を変えるとブルースクリーンになったことがあったので、 そのような状況は避けた方がよさそうです。

確認が終わったら、sexeの設定画面でOkを押しましょう。 「サービスに登録しますか?」というダイアログボックスがでるので 「はい」を押せば完了です。 その後、「サービスに登録しました。サービスとして起動しますか?」 ときかれるので「はい」を押しておきましょう。

ちゃんとサービスに登録できたかどうかはコントロールパネルで確認できます。 「コントロールパネル」→「管理ツール」→「サービス」を実行します。 表示されるウィンドウでEthernet BridgeがあればOKです。

Ethernet Bridge as Service

アンインストール

以前のEthernetBridgeはインストールしていると何かと副作用(不具合)が ありましたが、Ethernet Bridge 2.0ではいまのところ出くわしていません。 アンインストールしたい場合には、以下の手順に従ってください。

サービスの削除

サービスを設定するときに使用したsexe.exeを実行すると、 設定画面に削除ボタンがありますのでそれを押せばOKです (削除した後はキャンセルボタンでsexeの設定画面を閉じてください)。

もうサービスとして登録するつもりがなければ、 コピーしたファイル(sexe.exe, sexe.txt)とsexe.iniを削除して しまいましょう。

Ethernet Bridge 2.0のアンインストール

こちらはコントロールパネルから削除できます。 「アプリケーションの追加と削除」から 「Ethernet Bridge 2.0.0」を選択して削除してください。

インストールのページから来た方は、戻るボタンで戻ってください。

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送