hrt10の日記

色々な設定のメモやら何やら

VMware Fusion 4 の network 設定 (応用編)

VMware Fusion 4 は Workstation と違って HUB を追加する interface が無いようである。が、設定すれば vmnetX の segment は使えるらしい。
但し、パッケージの中のコマンドを直接叩くとか、editor で色々設定するとか以外に方法はないように見える。以下、その手順。

  • /Library/Preferences/VMware Fusion/networking に以下のように書き加える、(VNET_1 のをコピーして数字を変えて、network address も適当に付ける)

answer VNET_2_DHCP yes
answer VNET_2_DHCP_CFG_HASH 629988429D8ABF688833EAFADA9138999E8F2B6C
answer VNET_2_HOSTONLY_NETMASK 255.255.255.0
answer VNET_2_HOSTONLY_SUBNET 172.16.XXX.0
answer VNET_2_VIRTUAL_ADAPTER yes
answer VNET_2_VIRTUAL_ADAPTER_ADDR 172.16.XXX.1

  • 以下のコマンドを実行(VM のネットワークが落ちるので、落ちて良いときにやる)

% /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure

  • networking に DHCP yes とか書いてあると、勝手に vmnet2 というディレクトリを切って、dhcp.conf を作ってくれる。ので、

% /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

とかやってネットワークを起動。これで、VMware の環境側の準備はオッケ。

一方、仮想マシンの方は .vmx ファイルを編集せねばならない。

  • まず、VMware FusionGUI仮想マシンの設定をして、必要な数のネットワークインタフェースを追加しておく(せずに、いきなり.vmxに書いても良いとは思うけど…)
  • 仮想マシン名.vmwarevm というパッケージの中に、仮想マシン名.vmx というファイルがあるので探す(Terminal なら cd して vi、FinderならCtrl-クリックで「パッケージの内容を表示」)
  • 仮想マシン名.vmxを適当なエディタ(vi)で開くと、中にethernet0とかethernet1に関する記述がある。変更したいインタフェースの connectionType を customに vnet を上で設定した vmnetX (上の例では vmnet2) とする

...
ethernet1.present = "TRUE"
ethernet1.connectionType = "custom"
ethernet1.vnet = "vmnet2"
ethernet1.virtualDev = "e1000"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.addressType = "generated"
...

  • 保存してから仮想マシンを起動する。と、めでたく新しい仮想ネットワークが使える。

NAT とかもやろうと思えばできるはず。bridge もできるような気はするけど、そもそもdeviceをpin-downできるので、あんまし意味がないかな。