2004-11-11

Virtual PC 2004  [by miyachi]

Virtual PC 2004 の使い方がようやっと判った。いやただLinuxをインストールしてクライアントとして使うだけなら何の問題も無かったのだが、使用目的がサーバ用途であったのでホストOS側からApacheやTomcatにアクセスしたかったのでそれが良く判らなかったのである。ネットで調べてもあまり情報が無かったしせっかくなのでここでまとめてみた。ただまぁ興味が無い人も多いと思うので本編は「続きを読む」にて

まずは要点をまとめてみたい。

1) Virtual Machine Network Services
Virtual PC 2004 をインストールするとネットワーク接続のプロパティに「Virtual Machine Network Services」と言う項目が追加される。「インターネット プロトコル (TCP/IP)」等が表示されるところだ。ここにチェックをしたネットワーク接続はVirtual PCの設定のネットワークアダプタとして選択が出来るようになる。つまりホストOSが使っているネットワークアダプタを共有して利用する事になる。なお「Virtual Machine Network Services」のチェックをしておかないとVirtual PCの設定のネットワークアダプタとして選択には表示がされないので注意が必要。

2) Virtual PC 2004 設定のネットワークアダプタ
デフォルトでは「共有ネットワーク (NAT)」が選択されているはず。この状態だと仮想的なDHCPが192.168.131.65でデフォルトゲートウェイ&仮想DHCPサーバは192.168.131.254となる。DNS設定等はホストOSの環境がコピーされているのでゲストOSをクライアントとして利用するだけならこれでもOK.。しかしこれでは外部からゲストOSへアクセス出来ないのでサーバとしては駄目。サーバとして利用するなら先に説明した「Virtual Machine Network Services」によりホストOSのネットワークアダプタをゲストOSでも選択する。これでゲストOSを起動するとDHCP取得になっていれば新しいIPアドレスをホストOSの使っているDHCPサーバから取得出来る。外部からゲストOSで確認(FedoraCoreなら/sbin/ifconfigで確認)したIPアドレスを使えばアクセスが可能となりサーバとして利用出来るようになる。

3) Microsoft Loopback Adapter
これは仮想的なネットワークアダプタである。例えば私の場合には自分が開発したクライアント・サーバ型のソフトのデモをネットに接続しないで行いたいと考えている。この場合には外部のネットワークには接続していないのでゲストOSのネットワークアダプタとして既存の物は利用できない。このような場合に「Microsoft Loopback Adapter」を追加しておくと仮想的なネットワークが1台のPC内で構築が出来る。追加するにはコントロールパネルの「ハードウェアの追加」から「接続している」→「新しいデバイスの追加」→「一覧から選択」→「ネットワークアダプタ」→「Microsoft」→「Microsoft Loopback Adapter」で行える。これでマイネットワークのネットワーク接続の中に新しいローカルエリア接続が追加されているはず。外部に接続しないなら選択してプロパティでTCP/IPのプロパティを開きIPアドレス取得で直接何か指定をしておき、ゲストOSでも直接IPアドレスを指定しておくと良いでしょう。

とりあえず以上ですが、これだけの事に1日以上かかってしまった。これが参考になると良いのですが。ちなみに「Fedora Core 1」は問題無くインストールして使えました。あと補足を幾つか。

補足1:SP1をあてる
Windows XP SP2 の上で Virutal PC 2004 を動かすなら Virutal PC SP1をあてないと挙動がおかしい。必ずSP1にしておくこと。

補足2:右ALTキー
Virutal PC 2004 のゲストOSでマウスを使った場合にホストOSに戻るには「右ALT」キーを押せば良い。しかし私の使っている dynabook SS 1600 は省スペースの為に「右ALT」キーが無い!悩んだが結局は「Fn」+「左ALT」で「右ALT」となった。dynabookだけの設定かもしれないが参考まで。

<後日補足>
VirtualPCでゲストOS(Fedora)の「状態を保存する」と時計も止まってしまい再実行した時に時間がずれてしまう事に気付く。ならばホストOS(WinXP)側からNTP(Network Time Protocol)を使って時刻を合わせれば良いと考え調査。どうもWindows/XPで「Windows Time」と言うW32TimeサービスがSNTP/NTPのサーバ機能も提供しているようなので、早速ゲストOSから ntpdate hostos でアクセスしようとしたが…駄目。あちこち調べて判ったのはどうも標準のW32Timeだとうまく行かないようだと言う事。どうもAdjustPCと言うフリーウェアを皆さん使っているようだ。早速Vectorからダウンロードして試す(W32Timeは停止させる)とばっちりOKでした。ホストOS側でファイアウォールソフトが動いている場合にはUDPのポート123はアクセス可能にしておきます。時間のずれは大きいのでntpdでは無くntpdateをcronに設定して自動的に合わせる事にした。以下を /etc/crontab に追加。この設定で5分おきにホストOSに時間を合わせに行くようになった。
*/5 * * * * root /usr/sbin/ntpdate -b -s hostos
2004-11-11 18:14:01 - miyachi - [プログラマの生活] -

コメント一覧

コメント無し

コメントを書く

このアイテムは閲覧専用です。コメントの投稿、投票はできません。