【问题标题】:How to set eth0 MAC address in Vagrant with the VMware provisioner?如何使用 VMware Provisioner 在 Vagrant 中设置 eth0 MAC 地址?
【发布时间】:2014-12-02 12:28:12
【问题描述】:

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

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

【问题讨论】:

    标签: vagrant ethernet mac-address vmware-workstation vmware-fusion


    【解决方案1】:

    首先确保 VMware DHCP 服务将通过编辑具有不同 locations depending on OSvmnetdhcp.conf 将 IP 地址分配给指定的 MAC 地址。在文件末尾放置一个条目,将主机名、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 操作。

    【讨论】:

    • 如果 VMware Workstation 或 VMware Fusion 更新,此文件可能会被重置并恢复更改。
    猜你喜欢
    • 2012-09-14
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 2016-03-30
    • 2016-10-25
    • 1970-01-01
    • 2013-08-31
    • 2015-11-06
    相关资源
    最近更新 更多