Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save tlhakhan/964106ddf67740677939c768c2b4441f to your computer and use it in GitHub Desktop.
Save tlhakhan/964106ddf67740677939c768c2b4441f to your computer and use it in GitHub Desktop.
MacOS: Configuring VMware Fusion's networking

README

  • For VMware Fusion on MacOS
  • Add custom domain names and DNS servers in dhcpd.conf

/Library/Preferences/VMware\ Fusion/networking

  • Edit this networking file for custom DHCP subnet for the NAT network.
  • After updating, run the vmnet-cli commands to refresh the dhcpd.conf file.
  • VMNET_1 is for the Host-only network config.
  • VMNET_8 is for the NAT network config.
% cat /Library/Preferences/VMware\ Fusion/networking
VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH 6F9F0D5B42DF4B1CD96ABA0FAC47C832F734E086
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 172.16.130.0
answer VNET_1_HOSTONLY_UUID E7240614-CDF8-4C68-985E-9EC49AA10A2C
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH 952DFC97E625D4EDDB55B21440DCC1FD758EE523
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 192.168.255.0
answer VNET_8_HOSTONLY_UUID C1F9A403-6906-4B52-AA3A-19F01BA7B418
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes

Additional parameters

  • These parameters are not well documented, however examining the strings in the binary, I was able to extract some potential parameters that can be used to automatically configure the dhcpd.conf file.
    • Add the necessary answer VMNET_8_ infront of it.
  • Run the vmnet-cli --configure command to regenerate the dhcpd.conf file.
% strings '/Applications/VMware Fusion.app/Contents/Library/vmware-vmx' | grep -i ^DHCP_ | sort | uniq
DHCP_CFG_HASH
DHCP_PARAM_BROADCAST_ADDR
DHCP_PARAM_DEFAULT_LEASE_TIME
DHCP_PARAM_DNS_ADDR
DHCP_PARAM_DOMAIN_NAME
DHCP_PARAM_LEASE_END_IP
DHCP_PARAM_LEASE_START_IP
DHCP_PARAM_MAX_LEASE_TIME
DHCP_PARAM_NETBIOS
DHCP_PARAM_ROUTERS
DHCP_PARAM_SUB_DEFAULT_LEASE_TIME
DHCP_PARAM_SUB_MAX_LEASE_TIME
DHCP_PROGRAM

Refresh the dhcpd.conf and other files

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

Updating the dhcpd.conf for custom DNS servers and other options

  • The file is located in the subfolder vmnet8.
  • Update the dhcpd.conf file as necessary. Add customizations after the 'DO NOT MODIFY' section.
    • This is because when runing the vmnet-cli commands, it will erase any customization within that block.
  • After update, run the vmnet-cli start and stop commands.
% ls -lha /Library/Preferences/VMware\ Fusion/vmnet8/
total 40
drwxr-xr-x  7 root  wheel   224B Apr  8 09:53 .
drwxr-xr-x  8 root  wheel   256B Apr  8 09:51 ..
-rw-r--r--  1 root  wheel   1.6K Apr  8 09:01 dhcpd.conf
-rw-r--r--  1 root  wheel   1.6K Apr  8 09:01 dhcpd.conf.bak
-rw-r--r--  1 root  wheel   1.6K Apr  8 09:01 nat.conf
-rw-r--r--  1 root  wheel   1.6K Apr  8 09:01 nat.conf.bak
-rw-r--r--  1 root  wheel    18B Apr  8 09:02 nat.mac

Appendix

Document Link
Modifying the DHCP settings of vmnet1 and vmnet8 in Fusion (1026510) https://kb.vmware.com/s/article/1026510
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment