0

Vagrant 依靠 VMware(Workstation 和 Fusion)在从机器部署的客户机上生成 eth0(第一个和默认以太网接口)的 MAC 地址。

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

4

1 回答 1

0

首先确保 VMware DHCP 服务将通过编辑将 IP 地址分配给指定的 MAC 地址,该地址根据操作系统vmnetdhcp.conf具有不同的位置。在文件末尾放置一个条目,将主机名、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 密钥ethernet0以使用此方法。

于 2014-10-07T23:32:32.853 回答