Blog

OS X Server in VMWare – part 3

This will be third article in the series of articles about Mac OS X Server 10.5 setup under VMWare.

Once we finished battling through updates on the OS X Server (install 10.5.6 by downloading Combo update from Apple.com first using VMware Fusion 2.0.4, then update to 10.5.7) we are ready to set up network interfaces.

My XServe is connected through 2 network cables to external world and internal network. One is public, external IP, other is internal IP.

Set up for my first server which will host registration websites, FileMaker Server and FTP/AFP access to it for developers, would include 1 public IP and 1 internal IP.

Let’s start.

First of al, I want to warn you that it is rather advanced setup to bridge two real network adapters to VM’s two virtual adapters. I hope it will work. I am referring to article on VMware community website.

First thing is download tokamak script from VMware community document by DaveP.

Make sure that all guest VMs are shutdown and VMware application is not running.

Follow instructions to install script. once script is installed, run configuration (remember to run it as root, easiest way to do it is to use su command):

./tokamak.sh --modify

This will take you through bunch of prompts, use as follows:

You have already setup networking.
Would you like to skip networking setup and keep your old settings as they are? (yes/no) [yes] n
Do you want networking for your virtual machines? (yes/no/help) [yes] y
Would you prefer to modify your existing networking configuration using the wizard or the editor? (wizard/editor/help) [wizard] e
The following virtual networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.170.0.
. vmnet8 is a NAT network on private subnet 192.168.64.0.
Do you wish to make any changes to the current virtual networks settings? (yes/no) [no] y
Which virtual network do you wish to configure? (0-99) 2
What type of virtual network do you wish to set vmnet2? (bridged,hostonly,nat,none) [none] b
Configuring a bridged network for vmnet2.
Your computer has multiple ethernet network interfaces available: en0, en1.
Which one do you want to bridge to vmnet2? [en0] en0
The following virtual networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.170.0.
. vmnet2 is bridged to en0
. vmnet8 is a NAT network on private subnet 192.168.64.0.
Do you wish to make additional changes to the current virtual networks settings? (yes/no) [yes] y
Which virtual network do you wish to configure? (0-99) 3
What type of virtual network do you wish to set vmnet3? (bridged,hostonly,nat,none) [none] b
Configuring a bridged network for vmnet3.
The following virtual networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.170.0.
. vmnet2 is bridged to en0
. vmnet3 is bridged to en1
. vmnet8 is a NAT network on private subnet 192.168.64.0.
Do you wish to make additional changes to the current virtual networks settings? (yes/no) [yes] n
VM@Work Tokamak 2.0.0: Display settings
The following virtual networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.170.0.
. vmnet2 is bridged to en0
. vmnet3 is bridged to en1
. vmnet8 is a NAT network on private subnet 192.168.64.0.
VM@Work Tokamak 2.0.0: Extended network scripting - Dave Parsons
Host-only/NAT networking on vmnet1 using 192.168.170.1/255.255.255.0 is running
DHCP server on vmnet1 is running
Bridged networking on vmnet2 using en0 is running
Bridged networking on vmnet3 using en1 is running
Host-only/NAT networking on vmnet8 using 192.168.64.1/255.255.255.0 is running
DHCP server on vmnet8 is running
NAT networking on vmnet8 is running

We are almost done.

Almost all of this is the same as document, with slight differences. We are linking XServe’s en0 interface to vmnet2 and en1 to vmnet3. One of them will be used for internal interface, one for external/public.

Next, as per document, open vmx file, I’ve modified it in BBedit, but use tool recommended on the same website. Now, here is where I wasted almost 2 hours trying to figure out why my VM does not see those interfaces.

See, this article and script have been tested on VMware Fusion 2.0.2 and I am using 2.0.4. Maybe it makes a difference, maybe not, but the bottom line is that my newly created interfaces were displaying fine in VMware (except for the message about custom configuration, which you can ignore), they are displaid as connected when VM is running, but Guest OS X Server does not see them.

I’ve searched every posting and forum on VMware community website and could not find anything. Unless I’ve noticed this string:

ethernet1.virtualDev = "e1000"

That string existed for each ethernet# created using VMware UI, but not for those custom added interfaces I’ve manually added to VMX file. By adding that string to those instructed in the article for each interface:

ethernet1.present = "TRUE"
ethernet1.connectionType = "custom"
ethernet1.vnet = "VMnet3"
ethernet1.virtualDev = "e1000"

to VMX file, Guest OS was loaded with two interfaces connected. I’ve assigned internal IP to one, and external IP to other. Next is installation of FileMaker Server (do not forget to take snapshot of the system)