Vagrant与VMWare Fusion插件

5

我尝试使用Vagrant VMWare Fusion插件,但是不管我怎么做,只要在私有VMWare网络上设置静态IP地址时,虚拟机始终只能获取DHCP地址。

我已将以下内容添加到我的Vagrant配置文件中:

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

然而,它被忽略了并且会发放一个动态DHCP地址。我使用的是hashicorp/precise64基础镜像。
以下是我用于测试的Vagrant文件的完整列表。
 # -*- 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

这是我的VMWare私有接口的配置方式:
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

我也遇到了同样的问题。你找到解决方法了吗? - dale.lotts
1个回答

4

编辑/Library/Preferences/VMware\ Fusion/networking文件,禁用与IP地址所属的适配器相关联的DHCP。

例如:

...
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
...

接着重启VMware Fusion网络

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

我的使用场景:

这对我的情况非常有帮助,而且跟你的情况几乎一样。

server.vm.network :private_network, ip: 172.17.8.100

启用DHCP后,我得到了以下类似内容:

inet 172.17.8.131/24 brd 172.17.8.255 scope global dynamic enp0s18

关闭 DHCP 后,虚拟机将被分配指定的私有 IP 地址:
inet 172.17.8.100/24 brd 172.17.8.255 scope global enp0s18

请告诉我进展如何。


1
这个插件要花80欧元,还需要定制吗?:( - Giovanni Bitliner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接