VMware3.0 の Network の設定方法

VMware3.0 では、いくつかのネットワーク設定が選択できます。

【VMware3.0 のネットワーク接続の種類】

1.Use Bridged networking・・・・・・・・・・ Bridged
GuestOS も HostOS と同じネットワークに出て行くことができます。この場合、HostOS 用と GuestOS 用に別々のIP Address が必要になります。
=> VMnet0, VMnet2 ~ VMnet7 が使われます。

2.Use network address translation・・・・・ Network Address Translation (NAT) for VMnet8

GuestOS は NAT されて HostOS と同じネットワークに出て行くことができます。ネットワークに出て行くことができる IP Address が HostOS だけに必要で、GuestOS は VMware が勝手に別のサブネットアドレスを割り振ります。
=> VMnet8 が使われます。

3.Use host-only networking・・・・・・・・ Basic host-Only support for VMnet1

GuestOS は HostOS としか通信できません。ネットワークに出て行くことができる IP Address が HostOS だけに必要で、GuestOS は別のサブネットのアドレスを割り振るなどが必要です。
=> VMnet1 が使われます。

4.Do not use a network connection

ネットワークを使わない場合に指定するものです。たとえば DOS なんかで LAN Manager を使わない場合は、これを指定します。

【Network Adaptor を3つ以上使う方法】

Firewall などの勉強のために、VMware 上で環境を作る場合、Network Adaptor が3つ必要になります。(外側、内側、DMZのように)VMware3.0 では Network Adaptor は Settings からは最大3つまでしか設定できません。しかし、それ以上必要な場合が出た場合の設定方法は、下記の通りに行うことで実現できます。(但し、ネットワークの性能が出るかどうかはわかりません。あくまでも『技術的には可能です。』ということです。)

まず、VMwarew3.0 に Solaris をインストールします。この時、Network Adaptor は1つでも2つでも、Bridged でも host-only でも構いません。

次に、インストールされた VMware3.0 上の Solaris の入ったディレクトリに移動して、xxxxxxxx.vmx (xxxxxxxx はインストール時に指定した名前)ファイルをテキストエディタなどで開きます。下記のような感じの内容が表示されます。

config.version = "6"
virtualHW.version = 2
displayName = "Sol80202"
guestOS = "other"
ide0:0.present = "true"
ide0:0.fileName = "C:\My Virtual Machines\Sol80202\Sol80202.vmdk"
ide1:0.present = "true"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.fileName = "auto detect"
memsize = "64"
ethernet0.present = "true"
ide0:1.fileName = "auto detect"

このファイルに直接追加する Network Adaptor を記述します。とりあえず下記のように記述するとOKです。

【追加例:NAT の Network Adaptor を手動で記述】
config.version = "6"
virtualHW.version = 2
displayName = "Sol80202"
guestOS = "other"
ide0:0.present = "true"
ide0:0.fileName = "C:\My Virtual Machines\Sol80202\Sol80202.vmdk"
ide1:0.present = "true"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.fileName = "auto detect"
memsize = "64"
ethernet0.present = "true"
ide0:1.fileName = "auto detect"
ethernet1.present = "true"
ethernet1.connectionType = "nat"

この場合、VMnet8 が設定されます。ただ今回は NAT のアダプタを追加するわけではないので、他の場合の記述方を以下に示します。

【Host Only の場合の、追加する行の例】
ethernet1.present = "true"
ethernet1.connectionType = "hostonly"
【bridged の場合の、追加する行の例】
ethernet1.present = "true"
ethernet1.connectionType = "bridged"
【Custom で bridged の場合の、追加する行の例】
ethernet1.present = "true"
ethernet1.connectionType = "custom"
ethernet1.vnet = "VMnet0"

で、これらの方法を応用していくと、 Settings... から設定できない数の VMnet が設定できるようになるわけです。ただ、手動で記述した Network Adaptor は、Settings.. のメニューからは3つしか見えません。また、ウインドウ右下のネットワークのアイコンは4つしか表示されません。そして、Solaris の DCA でIdentified Devices をし直した場合でも、4つ以上 Network Adaptor を記述しても 4つしか PCI: AMD 79C970 PCnet Ethernet が出てきませんので、実際には最大4つまでの Network Adaptor が使えるようになるだけようです。Linux でも同様でしたので、これは Vmware3.0 の仕様かもしれません。

config.version = "6"
virtualHW.version = 2
displayName = "Sol80202"
guestOS = "other"
ide0:0.present = "true"
ide0:0.fileName = "C:\My Virtual Machines\Sol80202\Sol80202.vmdk"
ide1:0.present = "true"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.fileName = "auto detect"
memsize = "64"
ethernet0.present = TRUE
ethernet1.present = TRUE
ethernet1.connectionType = "bridged"
ethernet2.present = TRUE
ethernet2.connectionType = "bridged"
ethernet3.present = TRUE
ethernet3.connectionType = "bridged"

4つの場合は、上のような記述になるわけですね。あと、「present = 」の後ろの記述ですが、TRUE, FALSE という、ダブルクォーテーションで囲わない場合も、"true", "false" と囲う場合でも、どちらでもOKなようです。

【Bridged の設定で、HostOS のネットワーク接続を停止して、GuestOS からだけネットワークに出て行く方法】

会社のネットワークなどで、自分の使える IP Address が1つしかないけれど、時々は GuestOS からも 会社のネットワークにつなぎたいなどの場合の、NAT や Host-Only + インターネット接続の共有 以外の GuestOS からネットワークに出て行く方法です。

通常の場合、HostOS のネットワークアダプタは下記の通りになっています。(わかりやすくするため、ネットワーク構成要素の一覧の枠を広げて、構成要素をすべて表示するようにしてあります。)

この場合、HostOS と GuestOS の両方に IP Address が必要になりますが、以下のように指定することで、GuestOS だけに IP Address を設定し、ネットワーク利用ができるようになります。

ようするに、VMware Bridge Protocol だけ残せば、HostOS 側からは何も出て行かないわけです。この逆の、HostOS だけネットワークに出て行かせて、GuestOS はネットワークに出て行かないようにするには、VMware Bridge Protocol のチェックをはずすだけで OK です。

このような使い方をしていれば、自分に割り当てられた 1 つの IP Address で、あるときはHostOS から、あるときは GuestOS からと、ネットワーク利用の使い分けができるようになります。

【Host Only の設定だけで、GuestOS から HostOS 経由でネットワークを利用する】

GuestOS 側の Host Only インターフェースの IP アドレスを、192.168.0.0/24 のネットワークアドレスのどれかに設定する。なお、192.168.0.1 と 192.168.0.255 のアドレスは設定しないこと。

HostOS 側で、下記の設定を行う。まず、ネットワークとダイヤルアップ接続 から、HostOS のインターフェースを選択し、プロパティを開く。

共有のタブを押し、共有アクセスの「この接続でインターネット接続の共有を使用可能にする」のチェックボックスをチェックし、下のリストからは「VMware Virtual Ethernet Adapter (basic host-only support for VMnet1)」を選択する。

チェックをすると、Windows2000 Professional の場合下記のようなダイアログが出るが、そのまま「はい」を押す。これにより、インターネット共有に使われるインターフェースの IP Address が 192.168.0.1 に設定される。

HostOS 側で route add する。metric や interface は、必要に応じて指定する。ここで指定している 192.168.0.2 は、GuestOS 側の Host Only インターフェースの IP アドレスを指定する。これにより、HostOS からネットワークアドレス 192.168.0.0/24 に対してのアクセスは、192.168.0.2 経由だというルートが指定できる。これを指定しない場合 192.168.0.0/24 の通信もデフォルトゲートウエイに向かっていってしまうので、GuestOS からは HostOS に向かう方向は通信できているが、返事が戻ってこないという状態になり、通信ができない。なお、HostOS 側では 192.168.0.0/24 のネットワークへのルートとして、192.168.0.1/24 が自動設定されるが、これは設定を残しておいても削除しても構わない。ルートをすっきりさせたいのであれば削除をしれば良い。(わたしの場合削除している。)

C:\> route add 192.168.0.0 mask 255.255.255.0 192.168.0.2

GuestOS 側で route add する。これにより、GuestOS の所属する 192.168.0.0/24 以外の通信、ここでは 192.168.1.0/24 については、192.168.1.1 経由だというルート指定をする。この例の場合、192.168.1.1 のノードは、その外側にあるネットワークのルートを知っているという形である。

# route add default 192.168.0.1

これだけで、GuestOS から HostOS 経由で、自由に HostOS が接続されているネットワークに出て行くことができるようになる。

【不要なネットワークとサービスを止める】

VMware3.0 をインストールすると、自動的に VMnet1, VMnet8 がインストールされます。またサービスとして、VMware Authorization Service, VMware DHCP Service, VMware NAT Service がインストール&サービスの自動起動が行われますが、Bridged や IP Address を指定した host-Only の環境では、VMnet8 や VMware DHCP Service, VMware NAT Service は不要です。(VMware Authorization Service は必須です。)ですので、不要なネットワークである VMnet8 は無効 にするとともに、VMware DHCP Service, VMware NAT Service はサービスを停止しておくと、特にノートPCでは、無駄なリソースを食わなくて良いでしょう。

上記2つのサービスをとめておく。

不要なネットワークデバイスは、無効に。


「ノートPCにSolarisを」のホームへ