Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save flit/4560da6b51dcf3d1c083c96e9ef1a74a to your computer and use it in GitHub Desktop.
Save flit/4560da6b51dcf3d1c083c96e9ef1a74a to your computer and use it in GitHub Desktop.
VMWare Fusion 10 images with a static IP Address on macOS

How to setup your VMWare Fusion images to use static IP addresses on Mac OS X

Using a static IP address makes it a hell of a lot easier to ssh into your vm.

1. Determine the MAC address of your guest machine

Let's say you have a guest machine with the name foobar and you keep your guest machine images in ~/Documents/Virtual\ Machines/. To determine the MAC address for this VM, you can run:

cat ~/Documents/Virtual\ Machines/foobar.vmwarevm/foobar.vmx | grep ethernet0.generatedAddress

If more than one line is returned, you're looking for the one with the value like 00:0c:29:9d:2a:38.

2. Add your static IP address to VMWare's dhcpd.conf

Open /Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf. vmnet8 is the virtual interface for NAT networking in VMWare the guest machines. In this file, you'll see a subnet clause that looks something like this:

subnet 172.16.179.0 netmask 255.255.255.0 {
	range 172.16.179.128 172.16.179.254;
	option broadcast-address 172.16.179.255;
	option domain-name-servers 172.16.179.2;
	option domain-name localdomain;
	default-lease-time 1800;                # default is 30 minutes
	max-lease-time 7200;                    # default is 2 hours
	option routers 172.16.179.2;
}

Take note of the line starting with range. The IP addresses you will assign your guest machines will need to fall outside that range. Find the line that looks like this:

####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######

Below that line, add a clause for your guest machine. It should look like this:

host foobar {
    hardware ethernet 00:0c:29:9d:2a:38;
    fixed-address 172.16.179.102;
}

Make sure the hardware ethernet value matches the MAC address you found in step one, and the fixed-address is an IP outside the range listed in the subnet clause.

3. Optional: Update your /etc/hosts file

If you want to assign a fancy local hostname that refers to your guest machine, you can do so by editing your /etc/hosts file. For instance, to assign the hostname ubuntu.local to the guest machine we just setup, we could add the following line to our /etc/hosts file:

172.16.179.102 ubuntu.local

4. Restart the VMWare daemons

Last thing to do is restart your VMWare daemons:

sudo "/Applications/VMware Fusion.app/Contents/Library/vmnet-cli" --stop
sudo "/Applications/VMware Fusion.app/Contents/Library/vmnet-cli" --start

Note: Not sure if the above works to reload the config.

  • original source: http://crshlv.ly/rjlXdS (dead link)
  • note: These instructions have been tested on High Sierra with VMWare Fusion 10.1.3.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment