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

相關問題