与 Libvirt 通信时出错:调用 virDomainCreateWithFlags 失败:无法获取接口 eth0 的索引:没有这样的设备

与 Libvirt 通信时出错:调用 virDomainCreateWithFlags 失败:无法获取接口 eth0 的索引:没有这样的设备

我的电脑是Ubuntu Desktop 16。

我正在使用 Vagrant 和 KVM libvirt 来创建虚拟机。

但是,我希望我的机器连接到我家的 Wi-Fi 并拥有 Wi-Fi 网络的 IP 地址。

当我在 Vagrantfile 中提到“公共网络”选项并“vagrant up”时,出现以下错误:

There was an error talking to Libvirt. The error message is shown
below:

Call to virDomainCreateWithFlags failed: Unable to get index for interface eth0: No such device

我的 Vagrantfile 代码如下:

Vagrant.configure("2") do |config|

  config.vm.network "public_network"

  config.vm.define "master" do |master|
    master.vm.hostname = "master"
    master.vm.box = "s3than/trusty64"
  end  

end

我该如何解决这个问题?我需要确切的命令,我是 Linux 的初学者。尽快帮忙!!

谢谢。

答案1

我关注了仓库根目录中的 README.md 示例,对我有用

   config.vm.network :public_network,
      :dev => "virbr0",
      :mode => "bridge",
      :type => "bridge"

答案2

如果您的接口中没有 eth0,那么作为解决方法,您可以将无线接口编辑为 eth0,因为它在模块中的某个地方被硬编码以查找该名称。您需要创建 /etc/udev/rules.d/70-rename-wireless.rules 并将以下内容插入其中:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0

其中 ATTR 是 ifconfig -a 中的 HWaddr 字段。

相关内容