How to create additional VMNETs in VMware Fusion
The last couple of weeks I’m developing a VMware SRM training. As with every training there are some labs. I order to make the classroom setup as easy as possible I wanted to run the whole setup in VMware Workstation. Because I’m a Mac user, I can’t run VMware Workstation but instead VMware Fusion. With you can see as VMware Workstation for the Mac.
In VMware Workstation its quit easy to create additional VMNETs so for different purposes. But with Fusion this ain’t as easy. This is one feature the Fusion team may spend some time on. Most of the people are using Fusion for running a Windows VM or for developing or testing software.
After some investigation I figured it out how to add additional VMNETs in Fusion. I don’t know if this is supported (probably not:)) so use it on your own risk.
- Stop VMware Fusion and all running VMs. You can check if Fusion is still active with the command:
ps aux | grep -i fusion
No process running, you’re fine! - Change your current directory to: /Library/Preferences/VMware Fusion
If you look at the files in this directory you will see the following:
drwxr-xr-x 7 root wheel 238B Jul 25 14:56 .
drwxr-xr-x 56 root wheel 1.9K Jul 25 11:57 ..
-rw-r–r– 1 root wheel 542B Apr 28 19:44 license-fusion-40-e1-201010
-rw-r–r– 1 root wheel 753B May 27 22:28 networking
-rw-r–r– 1 root wheel 753B Jul 25 14:34 networking.bak.0
drwxr-xr-x 4 root wheel 136B Jun 22 11:02 vmnet1
drwxr-xr-x 7 root wheel 238B Jun 22 11:02 vmnet8The directory vmnet1 is the host only network en the vnmnet8 is the NAT network. These networks come together in the file networking. - Decide if you want to add a host only network or a NAT network. In my case I want to add a host only network. Copy the complete directory to a new name for example vmnet2.cp -R vmnet1 vmnet2
- Change to the directory you just copied. Here you will see a file called dhcpd.conf. Open this file with your favorite text editor (you may have to sudo). The file will look like:# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet1.
#
# This file was automatically generated by the VMware configuration program.
# See Instructions below if you want to modify it.
#
# We set domain-name-servers to make some DHCP clients happy
# (dhclient as configured in SuSE, TurboLinux, etc.).
# We also supply a domain name to make pump (Red Hat 6.x) happy.
####### VMNET DHCP Configuration. Start of “DO NOT MODIFY SECTION” #####
# Modification Instructions: This section of the configuration file contains
# information generated by the configuration program. Do not modify this
# section.
# You are free to modify everything else. Also, this section must start
# on a new line
# This file will get backed up with a different name in the same directory
# if this section is edited and you try to configure DHCP again.# Written at: 07/25/2012 14:34:41
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hourssubnet 192.168.83.0 netmask 255.255.255.0 {
range 192.168.83.128 192.168.83.254;
option broadcast-address 192.168.83.255;
option domain-name-servers 192.168.83.1;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
}
host vmnet1 {
hardware ethernet 00:50:56:C0:00:01;
fixed-address 192.168.83.1;
option domain-name-servers 0.0.0.0;
option domain-name “”;
}
####### VMNET DHCP Configuration. End of “DO NOT MODIFY SECTION” #######Change the following:
– Subnet to the new subnet.
– Hardware ethernet to a unique adress
– Vmnet1 to the net vmnet name. - Now go one directory back where the network file resides. Open this file with your favorite text editor. The file will look like:
VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH FAD9FD383AD4CA5074505331257174984EBF838E
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 192.168.83.0
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH 115BED11ABCF3A0C655AC31262F68AB82B9016BB
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.117.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yesCopy the section of VNET1 or VNET8 to a new section without the VNET_1_DCHP_HASH line. This line will be auto-genereated the next time Fusion will start. Change VNET_1 to the new VNET_ name and alter the option to the new network settings. If you don’t want to use DHCP set VNET_x_DHCP to no. Save the file. - Start Fusion and check with the ifconfig command that the new VMNET is listed.
Now that the new VMNET is created you want a VM to connected to this network. This also has be done through the CLI because the Fusion interface isn’t aware of other VMNETs.
- Go to the homedirectory of the VM you want to alter. Default in Fusion on Mac is ~/Documents/Virtual Machines.localized/
- Open the .vmx file with you favorite text editor.
- Look for the line with:
ethernet0.conntectionType = “Hostonly”
- Change this line into:
ethernet0.conntectionType = “Custom”
- Below the previous line add the following:
ethernet0.vnet = “vmnetX”
- Change vmnetX to the new vmnet name.
Now you can start your VM and test the new network settings.
About Michael
Michael Wilmsen is a experienced VMware Architect with more than 20 years in the IT industry. Main focus is VMware vSphere, Horizon View and Hyper Converged with a deep interest into performance and architecture.
Michael is VCDX 210 certified, has been rewarded with the vExpert title from 2011, Nutanix Tech Champion and a Nutanix Platform Professional.