I’m currently trying to build a working model of our future Virtual Learning Environment on VMware Fusion 2, in effect, create an isolated “micro-network” with which to emulate the processes involved in getting various applications to interact with each other, for example: Moodle/Mahara integration, multiple networked Moodles to single Mahara instance with both/all connecting to a dedicated (Virtual) database server (PostreSQL).
VMware Fusion has several options in it’s management GUI for networking but none of them give any obvious indication for setting static IP addresses to guest machines on the internal virtual network.
In order to fix the address of various workstations and servers we need to take a look at using VMware itself as a DHCP server. VMware takes it’s main internet connection from the host machine (in this case the Airport Card of my iMac, I’ll be moving all this to my work MacBook eventually but I’m on my iMac to begin with because let’s face it, my eyes are old and weak).
In order to try out these settings we first need the ethernet hardware information from one of our Virtual Machines (Guests), at the time of writing I have a Windows XP Guest and a Ubuntu Desktop Guest, I’m going to find this information for the Ubuntu Guest. I could do this by firing up the Virtual Machine and running an “ifconfig” from the terminal but that’s going to take too long (I’m twitchy and I want to get my teeth into this right away).
Guest Configuration Information
Open a Finder window and navigate to your Virtual Machines folder, probably /username/Documents/Virtual Machines. Locate the VM package for the guest you want to use for this procedure (Virtual Machines are represented by a single file which is a package containing multiple disk and configuration files).
CTRL-CLICK the Virtual Machine and select “Show Package Contents”, this displays the components of your Virtual Machine. Find Guest.vmx (in my case “UbuntuGnome.vmx”), CTRL-CLICK again and open with your text editor (in my case TextMate, can’t live without it). This action will show the default configuration of “UbuntuGnome”. Search this text file for “ethernet0.generatedAddress” and you fill find the following (similar) information:
ethernet0.generatedAddress = "00:0c:29:8b:a4:4f"
This is your Virtual Machine’s “MAC” or Ethernet Hardware Address.
Copy this information to a text file because I doubt most people can remember such things for more than a second or two.
-
-
Open The Virtual Machine Package
-
-
Open Configuration In Text Editor
-
-
Locate Ethernet Hardware Address
Accessing VMWare Fusion’s DHCP Settings
VMware Fusion’s DHCP configuration file is located in “Application Support”.
Open a terminal and set a command to open this config file in your text editor of choice.
~ user$ mate "/Library/Application Support/VMware Fusion/vmnet8/dhcpd.conf"
This is what you should see:
# Configuration file for ISC 2.0b6pl1 vmnet-dhcpd operating on vmnet8.
#
# This file was automatically generated by the VMware configuration program.
# If you modify it, it will be backed up the next time you run the
# configuration program.
#
# We set domain-name-servers to make some DHCP clients happy
# (dhclient as configued in SuSE, TurboLinux, etc.).
# We also supply a domain name to make pump (Red Hat 6.x) happy.
#
allow unknown-clients;
default-lease-time 1800; # 30 minutes
max-lease-time 7200; # 2 hours
subnet 172.16.27.0 netmask 255.255.255.0 {
range 172.16.27.128 172.16.27.254;
option broadcast-address 172.16.27.255;
option domain-name-servers 172.16.27.2;
option netbios-name-servers 172.16.27.2;
option domain-name "localdomain";
option routers 172.16.27.2;
}
Note the subnet range, we need to set a fixed address for our Virtual Machine outside of this range.
We do this like so:
Append the open file (dhcpd.conf) with the following, obviously using your own settings including the Ethernet Hardware Address you previously copied to a text file, the name of Guest.vmx and the IP address you wish to assign to this Virtual Machine.
host UbuntuGnome {
hardware ethernet 00:0c:29:8b:a4:4f;
fixed-address 172.16.27.20;
}
Save this file, you will prompted to enter your administrator password as we have opened dhcpd.conf as a read only file in TextMate.
We now need to restart networking for VMWare Fusion:
sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart
Configuring Hosts In Linux Guest
That’s a confusing title I must admit.
Fire up your Virtual Machine..
NOTE:
I am using this Ubuntu Guest as it was a machine already on my system, the following configuration information will differ slightly between distros and interfaces. For my “Micro-Network” experiments I will be using minimal, command line installations of CentOS 5.02 and I will cover this in later posts.
If you are using the Gnome Desktop navigate to:
System> Administration> Network
Use your superuser password to unlock the network applet and select “Wired Connection (Properties)”.
Disable roaming mode (it’s set this way by default on a new Ubuntu installation) and enter the settings for Configuration (Static IP Address).
IP ADDRESS: (The Address You Set In The VMWare DHCP Settings)
SUBNET: (Usually 255.255.255.0)
GATEWAY: (The Address Of The VMware Fusion Server)*
* “option routers XXX.XX.XX.X” in dhcp.conf
Save these settings and restart networking (or your Virtual Machine).
This procedure can repeated for each Virtual Machine you want to add to your “Virtual Network” by adding a host entry for each guest machine in “/Library/Application Support/VMware Fusion/vmnet8/dhcpd.conf”.
Tags:
centos,
dhcp,
imac,
linux,
macbook,
mahara,
moodle,
networking,
osx,
postresql,
ubuntu,
vmware