Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vagrant with VMWare Fusion Plugin

Tags:

vagrant

I trying to use the Vagrant VMWare Fusion Plugin, however (whatever I do) to set a static IP address on my private VMWare network the VM only ever gets a DHCP address.

I’ve added this to my Vagrant config file:

server1.vm.network "private_network", ip: "192.168.13.120"

However, it just gets ignored and a dynamic DHCP address is issued. I’m using the hashicorp/precise64 base image.

Here’s a complete listing of the Vagrant file I'm using to test.

 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 VAGRANTFILE_API_VERSION = "2"

 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

   config.vm.box = "precise64_vmware.box"

   # Turn off shared folders
   config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true

   # Begin server1
   config.vm.define "server1" do |server1|
     server1.vm.hostname = "server1"

     server1.vm.provider "vmware_fusion" do |v|
       v.vmx["numvcpus"] = "1"
       v.vmx["memsize"] = "512"
     end

     server1.vm.provider "virtualbox" do |v|
       v.customize [ "modifyvm", :id, "--cpus", "1" ]
       v.customize [ "modifyvm", :id, "--memory", "512" ]
     end

     server1.vm.network "private_network", ip: "192.168.13.120"
   end
   # End server1

     ....................................

 end

And this is how my VMWare private interface is configured:

vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08 
inet 192.168.13.1 netmask 0xffffff00 broadcast 192.168.13.255
like image 330
user1513388 Avatar asked Oct 01 '22 02:10

user1513388


1 Answers

Edit /Library/Preferences/VMware\ Fusion/networking and disable DHCP for the adapter that the IP belongs to.

For example:

...
answer VNET_2_DHCP no
answer VNET_2_HOSTONLY_NETMASK 255.255.255.0
answer VNET_2_HOSTONLY_SUBNET 172.17.8.0
answer VNET_2_VIRTUAL_ADAPTER yes
...

And then restart VMware Fusion networking

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

My use case:

This helped in my situation which is pretty much the same as yours.

server.vm.network :private_network, ip: 172.17.8.100

With DHCP on I had something like:

inet 172.17.8.131/24 brd 172.17.8.255 scope global dynamic enp0s18

After turning DHCP off, vm is assigned the defined private IP address:

inet 172.17.8.100/24 brd 172.17.8.255 scope global enp0s18

Let me know how it goes.

like image 122
Gurpartap Singh Avatar answered Oct 05 '22 11:10

Gurpartap Singh