2010/08/23
Ubuntu Apache php5 and mysql with Yii Framework
2010/08/17
VMWare Fusion-Assign Physical ip for virtual host
The configuration files for doing this reside in /Library/Application Support/VMware Fusion/vmnet8/
(the NAT interface is called "vmnet8" hence why configuration for it is here), specifically dhcpd.conf
and nat.conf
. These files may be read-only (even for root), so make sure to give root write permission before you edit them.
Any changes to these files requires that the following be executed before they take effect:
sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart
Assigning consistent IP addresses
As explained by this blog entry you can edit the dhcpd.conf
file to configure VMWare Fusion's DHCP server to assign specific IP addresses to a VM based on its MAC address. You should see something like this in your dhcpd.conf file:
subnet 192.168.87.0 netmask 255.255.255.0 { range 192.168.87.128 192.168.87.254; option broadcast-address 192.168.87.255; option domain-name-servers 192.168.87.2; option netbios-name-servers 192.168.87.2; option domain-name "localdomain"; option routers 192.168.87.2; }
For our IP address assignments, we want to pick an IP address that is outside of the range that is set above. So in my case I picked 192.168.87.100 and 192.168.87.101 for two VMs that I wanted to configure.
So if we were to configure two VM's to have fixed IP addresses, we would add something like this to the dhcpd.conf
file:
host uvm { hardware ethernet 00:0c:29:02:00:f1; fixed-address 192.168.87.100; } host wvm { hardware ethernet 00:0c:29:44:57:46; fixed-address 192.168.87.101; }
I put entries in my /etc/hosts to point to these, so I don't have to remember IP addresses:
# Ubuntu VM 192.168.87.100 uvm # Windows XP VM 192.168.87.101 wvm
Port forwarding
To make services in NAT-configured VMs available outside of the host OS, we need to set up port forwarding. To do this edit the nat.conf
file. Add entries under[incomingtcp]
if you are forwarding a TCP connection and under [incomingudp]
for a UDP connection. There are examples in this file, but to go along with our above examples, we might do something like this:
[incomingtcp] # Forward host port 2222 to SSH on Ubuntu VM 2222 = 192.168.87.100:22 # Forward Remote Desktop connections to Windows VM 3389 = 192.168.87.101:3389 [incomingudp] # Forward Remote Desktop connections to Windows VM 3389 = 192.168.87.101:3389
Restarting VMWare services on host
Don't forget that after we make any of the above changes, we need to restart the VMWare services using this command:
sudo "/Library/Application Support/VMware Fusion/boot.sh" --restart