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

準備

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

これとは別に当然、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を実行するだけです。

etherbridge-install-1

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

etherbridge-install-2

Ethernet Bridge 2.0の設定

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

etherbridge-config-1

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

etherbridge-network

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

etherbridge-config-2

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-ethernetbridge-1

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-ethernetbridge-2

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

etherbridge-config-2

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

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

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

sexe-ethernetbridge-3

アンインストール

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

サービスの削除

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

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

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

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

フォローする