0

Vagrant依靠VMware(Workstation和Fusion)从一个盒子中部署的guest虚拟机上生成eth0的MAC地址(第一个和默认的以太网接口)。如何使用VMware配置程序在Vagrant中设置eth0 MAC地址?

我想修复这个MAC地址,使其每次重新创建虚拟机时都是静态的,不会重新生成,以便VMware DHCP服务每次都可以为其分配相同的IP地址。

回答

0

首先确保VMware DHCP服务通过编辑vmnetdhcp.conf将IP地址分配给指定的MAC地址,该vmnetdhcp.conf具有不同的locations depending on OS。放置在该文件的末尾中的条目与所需的值替换的主机名,MAC和IP:

host hostname { 
    hardware ethernet 00:0A:AA:AA:AA:AA; 
    fixed-address 192.168.1.1; 
} 

重新启动VMware DHCP服务来加载这些变化。

在你Vagrantfile使用下面的设置来配置默认网络接口:

Vagrant.configure("2") do |config| 
    config.vm.define 'hostname' do |hostname| 
     hotname.vm.box = box 
     hostname.ssh.host = '192.168.1.1' 
     puppet.vm.provider :vmware_fusion do |v, override| 
      v.vmx['ethernet0.addressType'] = 'static' 
      v.vmx['ethernet0.address'] = '00:0A:AA:AA:AA:AA' 
     end 
     puppet.vm.provider :vmware_workstation do |v, override| 
      v.vmx['ethernet0.addressType'] = 'static' 
      v.vmx['ethernet0.address'] = '00:0A:AA:AA:AA:AA' 
     end 
    end 
end 

下一次虚拟机带来了vagrant up将分配的静态MAC地址,并收到来自DHCP同一个IP地址。

其他vmx keys也可以使用此方法操作ethernet0

+0

如果更新了VMware Workstation或VMware Fusion,则可能会重置此文件,并将更改放回原处。 – Aethylred 2014-11-05 01:13:07

相关问题