ネットワークの設定
最初にも述べましたが、 coLinuxをネットワークにつなげるには 仮想ネットワークドライバTAP-Win32を使う方法と、 パケットキャプチャプログラムWinPCapを使う方法があります (本当は、Slirpというものを使う方法があるのですが、 試したことがないので無視しています…)。
さらにTAP-Win32を使った場合は、 Windowsの設定によってNAT接続・ルータ接続・ブリッジ接続があります。 ただ、残念ながらブリッジ接続はWindowsXPでないとダメなようです (後述するようにWindows2000でブリッジ接続できるにはできますが、 いろいろな工夫が必要です)。
私の経験では、TAP-Win32を使った方が安定性が高いような気がします。 しかしWindows2000では、TAP-Win32を使った場合に ブリッジ接続ができないのが悩ましいところです。
(以下の図では赤の点線で囲まれている部分が Host PC内で動作している部分です)
TAP-Win32を使ったNAT接続
これは、Host PCにインストールしたTAP-Win32とcoLinuxを 仮想ネットワークで接続する方法(下図参照)です。 この場合、 Host PCは2つの別々のネットワークに接続されている状態なります。 この状態でHost PCは、仮想ネットワーク側から来たデータを、 自分自身が発信したデータに変換(NAT)してLAN側に転送します。
利点としては、 本物のLANとcoLinuxが繋がっているLANが分離されているので、 coLinuxで何か設定に失敗した場合でも 本物のLANの方に悪影響がでる可能性が少ない点です。 Host PCのネットワークの設定が変わっても、 coLinuxの方には変更が不要な点も魅力です。 ノートPCにcoLinuxを入れて、 自宅と職場の両方で使う場合などに最適でしょう。
欠点は、 本物のLAN上のPC(例えば下図のLinux Server)からcoLinuxに アクセスすることができないということです(coLinuxからは可能)。 Host PCをNATルータとして動作させると、 一種のファイアウォールのようになってしまい、 仮想ネットワークへ向かうデータ通信を シャットアウトしてしまうからです。
TAP-Win32を使ったルータ接続
これは、Host PCにインストールしたTAP-Win32とcoLinuxを、 仮想ネットワークで接続する方法(下図参照)です。 この図は上記のNAT接続の場合と一緒です。 異なる点は、Host PCがデータの変換(NAT)は行わず、 LAN側から来たデータを仮想ネットワーク側に、 仮想ネットワーク側から来たデータをLAN側に単純に転送する点です。 つまり、Host PCは単純なルータとして機能します。
利点は、本物のLAN上のPCからcoLinuxへ アクセスすることができるようになる点です(ちゃんと設定すればですが)。
欠点は、設定が大変な点です。 本物のLAN上の全ての機器に、 仮想ネットワークの情報(ルーティング情報)を教えなければいけません。 特にADSLモデムにそのような設定ができるかどうかがポイントです。 ADSLモデムにルーティング情報を追加できない場合は この方法はお勧めできません。
TAP-Win32を使ったブリッジ接続
これは、Host PCにインストールしたTAP-Win32とcoLinuxを、 仮想ネットワークで接続する点では、最初に紹介した方法と同じです。 しかし、この方法ではHost PCが2つのネットワークをブリッジするので、 全体で一つのネットワークとして扱うことができます(下図参照)。
この方法は、LAN上の機器の設定が必要なく、 そのままcoLinuxが既存のLANに接続されたように見えるので、 何かと便利です。 Host PCがWindows XPの人はこの方法が良いかもしれません。
ようやくWindows2000でも、 TAP-Win32を使ってブリッジ接続することに成功しました。 秘訣はetherbridgeというフリーソフトです。 詳しくは 「Windows2000でTAP-Win32ドライバを使ったブリッジ接続」 を見てください。
WinPCapを使ったブリッジ接続
これは、インストールしたWinPCapの機能を使って coLinuxを既存のLANに参加させる方法(下図参照)です。 具体的には、 Host PCのネットワークインターフェースが受信するデータを WinPCapが横取りしたり、 coLinuxが送信するデータをWinPCapが割り込ませたりすることによって 実現しているようです。
利点としては、 既存のLANにcoLinuxをそのまま参加させることができるので、 他のPCの設定を変更する必要がなく、 LAN内のPCとの通信にも制限がありません。 また、試してはいませんがLANでDHCPサーバが動いていれば、 coLinuxをDHCPクライアントとすることができるかもしれません。
欠点としては、 coLinuxとLAN間の通信を、WinPCapがデータの横取りしたり、 割り込ませることにより通信を実現しているので、ちょっと不安な点です。 実際に運用して問題になることはほとんどないかと思いますが・・・。 また、通信速度もTAP-Win32を使う場合よりも遅いようです。
Copyright © 2004-2008 scratchpad All rights reserved.