このパートではVirtual PC専用に使用するネットワークインターフェースについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Virtual PCでサーバーを構築

Virtual PCについて

Virtual PC専用NICの準備

Virtual PCのインストール

ハードディスクイメージの作成

バーチャルマシンの作成

ゲストPCの基本設定

WBELのインストール

CentOSのインストール

カーネルパラメータの設定

サーバー運用のポイント


サーバー用途にはVirtual PC専用のNICを

これから紹介する Virtual PC 2004 SP1 及び Virtual PC 2007 は、いずれも WindowsOS 上で無料で利用できますが、無料とはいえ非常に強力で柔軟なネットワーク機能を持っています。

以下は、Virtual PCが実現できるネットワーク機能のうち、最もわかりやすいオーソドックスなものです。実際にはこのページで紹介する方式以外にも色々なスタイルでのネットワーク運用が可能ですが、このセクションでは サーバー の運用を前提に説明しますのでそれ以外の方法の説明は割愛します。

興味のある方は、 Virtual PCのネットワーク機能について に詳しい説明がありますのでそちらをご覧ください。

さて、最近のノートパソコンのように無線と有線の二つの LAN 機能を持っているケースを除くと、パソコンには NIC が一つしか実装されていないのが普通です。

そしてそのパソコン (以下、ホストPCと表現します。) で稼動しているWindowsOS (以下、ホストOSと表現します。) は、そのNICに一つの IPアドレス を割り当てて利用します。

このホストOS上にVirtual PCをインストールして作成した仮想マシン (以下、ゲストPCと表現します。) 上で動作するOS (以下、ゲストOSと表現します。) は、 デフォルト では同じくこのNICを利用して通信を行います。

ただ、通常の アプリケーション が通信を行う場合には「ホストOSに設定されたNIC上のIPアドレス」をそのまま利用しますが、Virtual PCのゲストPCの場合には同じNICに「別のIPアドレスを設定して」動作するように設計されています。

つまりVirtual PCを使用すると、 ホストPC上のNICには二つ以上のIPアドレスが設定される ことになります。

さて、一つのNICに複数の異なる ノード 情報を割り当てるというのは特に例外的な利用方法という訳ではありません。もちろんNICの仕事はその分増えるわけですが大抵はきちんと動作します。

しかし、一つのNICを複数のホストから利用する訳ですから、例えば サーバー として動作させているゲストOSに対して、クライアントであるホストOSからアクセスを行う場合には、一つのNICでデータの入出力を行うわけですから効率が良い方法とはいえません。

また最近のWindowsOSでは通信の セキュリティ を高めるために ファイヤーウォール が標準で有効になっています。

一方、サーバー運用では ルーター ポートフォワーディング の設定をしてサーバーが外部から直接パケットを受けなければなりませんから、ファイヤーウォールはどうしても解除しなければなりません。

つまり、ホストOSとゲストOSではそれぞれがファイヤーウォールに関して二律背反の関係に当たるため、これらのNICを一つで共用してしまうと、ホストOSの安全性を捨てるか、ゲストOSの利便性を捨てるか、どちらかを犠牲にしなければならないことになります。

これは非常に困った問題です。

クライアントが実機で、その上で動く仮想マシンがサーバーというのはちょっと奇異な感じを受けるかもしれませんが、こういうことが平気でやれてしまうのが仮想技術ですね。

従って、Virtual PCを利用してサーバーの運用やサーバーのシミュレーションを行う場合には、できれば ホスト機 にもう一つNICを追加し ネットワークカードについて 、ホストOSとゲストOSは別々のNICを使用して、それぞれの役割をきちんと分けてやることがとても重要、というわけです。

Windowsで使えるNICなら何でもOK

実機に WBEL CentOS インストール する場合には互換性の問題がありますから、特殊な仕様の NIC を選んでしまうと デバイスドライバ のインストールで躓いたり NIC用デバイスドライバのインストール(WBEL3) NIC用デバイスドライバのインストール(CentOS3) NIC用デバイスドライバのインストール(WBEL4) NIC用デバイスドライバのインストール(CentOS4) NIC用デバイスドライバのインストール(CentOS5) 、最悪の場合は使用できなかったります。

ところがVirtual PCを利用する場合はこういった心配は無用です。

Virtual PCで作成されるゲストPCは直接NICを認識して動作するのではなく、ホストOSである WindowsOS が仲介して動作します。

このときWindowsOSは、実装されているNICの種類がなんであろうと、ごく一般的な規格に基づいたNICとしてVirtul PCに情報を提供しますから、普通の カーネル を利用している LinuxOS であればデバイスドライバ不要で利用できるようになっているわけです。

つまり「Virtual PCで使用するから」といって特別なNICを実装しなければならない訳ではなく、 WindowsOSで普通に使えるNICであれば基本的には何でもOK 、と考えて良いことになります。

ただしVirual PCは Virtual PCの仮想ハードウェア環境について に示すとおり、 10Base-T / 100BaseTX の自動切換えであるNIC、 DEC 21140A 10/100 として動作する エミュレータ です。

従って100Base-TXを超えるの通信速度をもつ 1000Base-T のNICを実装して利用しても、通信速度の上限は100 Mbps になってしまうと思われます。

また逆に、100Base-TXよりも通信速度の遅いNICを利用する場合、ゲストOS上では「100Base-TXで動作中」というステータスになっていても、実際には実装するNICの通信速度が上限となってしまう点にも注意してください。

というわけですから追加するNICの種類としては、デスクトップ型パソコンをご使用の場合は PCIスロット に取り付けるタイプ、ノートパソコンの場合には PCMCIA カードスロットに差し込むタイプの 100Base-TX/10Base-T自動切換え型 が適当でしょう。

これはNICの中でも現在一番普及しているタイプですので、価格は新品でも数百円〜2千円程度と非常に安価に入手できるはずです。

このページの先頭へ↑

パソコンへのNICの取り付けとネットワーク接続

新しい NIC を入手したら、まずはそのNICがホスト OS である WindowsOS できちんと使えるように、ホストPC(パソコン)への取り付けと デバイスドライバ インストール を行います。

規格のこなれた普及型のNICの場合は、最初からWindows側にデバイスドライバが準備されていることがあります。この場合はデバイスドライバのインストールは不要になります。
こういうNICが一番トラブルが少ないのでお勧めですね。

NICの取り付け方法やデバイスドライバのインストール方法については、お使いのパソコンとNICのマニュアルを参考にしてください。

新しいNICの準備ができたら、それまで使っていたNICから UTPケーブル をはずし、新しいNICに接続して動作確認を行います。

動作確認といっても、特別なことをする必要はなく、これまでどおりに LAN やインターネットに接続できればOKです。

動作確認ができたら、以下のようにLANを構築します。

Virtual PC を利用するときのネットワーク構成の例
Virtual PC を利用するときのネットワーク構成の例

要するに、 サーバー機 を実機ではなくパソコン上の仮想機で実現する。」 訳ですから、Virtual PCを動作させるパソコンに実装させた新しいNICにUTPケーブルをつなぎ、スイッチング ハブ と接続します。

つまり、一台のパソコンから二本のUTPケーブルを延ばして同じスイッチングハブに接続することになりますから、ネットワークの外観はちょっと変わった感じになります。

さて、Virtual PCで構築され、ゲストPCとして稼動する WBEL CentOS は、ネットワーク側から見れば 独立したノードを持つ一つの OS として 扱われるに過ぎません。

つまり、LAN内を制御する ルーター からみれば、「親」であるホストOS(WindowsOS)と「子」であるゲストOS(WBELやCentOS)は全然別物で、各々の設定はお互いの設定に何の影響も与えませんから、それぞれのNICには独自の設定を施すことができます。

この例では、ホストPCには DHCPサーバー から自動的に IPアドレス を割り当て、ゲストPC(仮想サーバー)には固定のIPアドレス "192.168.100.11" を割り当てるようになっていますが、ホストPCにも固定のIPアドレスを割り当てても構わないということです。

ところで、WindowsOSを使用するパソコンに複数のNICを実装すると、いずれのNICもホストOSであるWindowsが利用するように デフォルト 設定されます。

ここでネットワーク接続の一覧を開くと、以下のように複数のローカルエリア接続が有効になっているはずです。

お使いのパソコンの環境によっては、 IEEE1394 接続や無線LAN接続などの他のアダプタが表示されているかもしれません。
普通、固定のNICには ローカル エリア接続 という名前が付けられていて、追加するごとに後ろに 2,3,.. と番号が振られていきます。
ネットワークアダプタの一覧(WindowsXP)
ネットワークアダプタの一覧(WindowsXP)

これが一つしか表示されていないとき、あるいはどちらかに × が付けられていて 無効 になっているときはNICの設定がきちんとできていませんので、取り付けとデバイスドライバのインストールの見直しを行ってください。

このページの先頭へ↑

ファイヤーウォールの無効化

ホストOSが Windows7 WindowsVista WindowsXP の場合には、 デフォルト ですべての NIC に対して ファイヤーウォール が有効になっているはずです。

WindowsXP標準のファイヤーウォールが有効なときのステータス
WindowsXP標準のファイヤーウォールが有効なときのステータス

Windows2000 は標準ではファイヤーウォール機能は持っていませんが、市販の セキュリティ ソフトをインストールしてファイヤーウォールを有効にしている方も多いかもしれません。

ファイヤーウォールは パケット ポート番号 によって選別し、 ホスト機 への通過、非通過を制御するものですから、Virtual PCで サーバー を稼動させる場合にはどうしても邪魔になってしまいます。

そこでVirtual PC専用のNICについてはファイヤーウォールを無効にしておく必要があります。

WindowsXP、WindowsVista標準のファイヤーウォールを無効にするには、まずコントロールパネルの セキュリティセンター から ファイヤーウォール を開きます。

Windows7の場合は同じくコントロールパネルの システムとセキュリティ から ファイヤーウォール Windowsファイヤーウォールの有効化または無効化 を開きます。

そして 「詳細設定」 タブをクリックし、ゲストOS用のネットワークアダプタのチェックをはずして OK をクリックします。

ゲストOS用のネットワークアダプタのファイヤーウォールを無効にする
ゲストOS用のネットワークアダプタのファイヤーウォールを無効にする

これでホストOS用のネットワークアダプタはファイヤーウォール有効、ゲストOS用のネットワークアダプタはファイヤーウォールが無効という設定を行うことができます。

WindowsXP標準のファイヤーウォールが無効なときのステータス
WindowsXP標準のファイヤーウォールが無効なときのステータス

市販、あるいはフリーウェアのファイヤーウォールソフトを利用している場合は、そのソフトのマニュアル等を参考にして同様の設定を行ってください。

ファイヤーウォールの設定は普段意識することはあまりありませんから、通信トラブルと最も勘違いしやすい設定です。

後々無意味な悩み事を抱え込まないためにも、ゲストOS専用のNICは確実にファイヤーウォールを解除しておきましょう。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System