使用VMWare Fusion插件进行流浪

use*_*388 5 vagrant

我尝试使用Vagrant VMWare Fusion插件(无论我做什么)在我的私有VMWare网络上设置静态IP地址,VM只能获得DHCP地址.

我已将此添加到我的Vagrant配置文件中:

server1.vm.network "private_network", ip: "192.168.13.120"
Run Code Online (Sandbox Code Playgroud)

但是,它会被忽略并发出动态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
Run Code Online (Sandbox Code Playgroud)

这就是我的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
Run Code Online (Sandbox Code Playgroud)

Gur*_*ngh 4

编辑/Library/Preferences/VMware\\ Fusion/networking并禁用 IP 所属适配器的 DHCP。

\n\n

例如:

\n\n
...\nanswer VNET_2_DHCP no\nanswer VNET_2_HOSTONLY_NETMASK 255.255.255.0\nanswer VNET_2_HOSTONLY_SUBNET 172.17.8.0\nanswer VNET_2_VIRTUAL_ADAPTER yes\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后重新启动VMware Fusion网络

\n\n
sudo /Applications/VMware\\ Fusion.app/Contents/Library/vmnet-cli \xe2\x80\x94stop\nsudo /Applications/VMware\\ Fusion.app/Contents/Library/vmnet-cli \xe2\x80\x94configure\nsudo /Applications/VMware\\ Fusion.app/Contents/Library/vmnet-cli \xe2\x80\x94start\nsudo /Applications/VMware\\ Fusion.app/Contents/Library/vmnet-cli \xe2\x80\x94status\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的用例:

\n\n

这对我的情况很有帮助,与你的情况几乎相同。

\n\n
server.vm.network :private_network, ip: 172.17.8.100\n
Run Code Online (Sandbox Code Playgroud)\n\n

启用 DHCP 后,我得到了类似的结果:

\n\n
inet 172.17.8.131/24 brd 172.17.8.255 scope global dynamic enp0s18\n
Run Code Online (Sandbox Code Playgroud)\n\n

关闭 DHCP 后,为 vm 分配定义的私有 IP 地址:

\n\n
inet 172.17.8.100/24 brd 172.17.8.255 scope global enp0s18\n
Run Code Online (Sandbox Code Playgroud)\n\n

让我知道事情的后续。

\n