我正在运行一个 vagrant 文件来在 OSX 上启动一个 CentOS Virtual Box,但是运行时vagrant up
它总是失败并default: Configuring and enabling network interfaces...
出现错误:
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/sbin/ifup eth2 2> /dev/null
Stdout from the command:
Determining IP information for eth2... failed.
Stderr from the command:
我让我的团队成员相对较快地找到了解决这个问题的方法,我相信他们以某种方式在主机或客户机上禁用了适配器,但我已经尝试了几个小时,似乎无法弄清楚他们是如何做到的。
我试过了很多建议的解决方案,例如en2
在主机上使用禁用ifconfig en2 down
。
我尝试过编辑和删除客户端上的文件,/etc/udev/rules.d/70-persistent-net.rules
但这些文件总是被 vagrant 重建。
我尝试过编辑客户端上的文件/etc/sysconfig/network-scripts/ifcfg-eth2
以进行设置ONBOOT=no
,但这些文件又被 vagrant 重建了。
问题是我无法访问原始 Virtual Box 来在打包之前编辑任何配置。
这是公司的 Mac,这是我第二次尝试使用它,尽管在非公司的 Mac 上没有同样的问题。
我知道有一种方法可以阻止 Vagrant 尝试配置eth2
,我只是不知道如何在没有原始虚拟盒的情况下做到这一点(或任何其他解决方法)。
答案1
事实证明,eth2 是将 VirtualBox 直接连接到外部互联网的适配器,因此注释掉
config.vm.network :public_network
来自 VagrantFile 的停止了公共网络接口的加载,从而解决了这个问题。