Using a static IP address makes it a hell of a lot easier to ssh into your vm.
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.
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.
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
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.