linux eth0不支持bridge

时间:2012-04-16 17:25:56

标签: linux qemu kvm

朋友们,我正在尝试使用linux bridge实用程序将我的qemu guest虚拟机连接到真正的网络。
为此,我使用非常简单的方法:

  1. 使用(sudo brctl addbr br0)
  2. 在主机上创建桥接器
  3. 将eth0添加到此桥(sudo brctl addif br0 eth0)
  4. 更改了/ etc / qemu-ifup脚本(brctl addif br0 $ 1)
  5. 更改/ etc / qemu-ifdown脚本(brctl delif br0 $ 1)
  6. 通过以上4个步骤,我得到了我的客人网络正常工作。 但现在问题是我将eth0连接到桥接器br0后,我的主机网络无法正常工作。

    我确认在第1步和第2步之后我的主机网络停止工作。但客人网络继续工作,这让我感到困惑。

    有人可以指出这两行有什么问题吗?

    1. 使用(sudo brctl addbr br0)
    2. 在主机上创建桥接器
    3. 将eth0添加到此桥(sudo brctl addif br0 eth0)
    4. PS:我已经尝试过几乎所有在互联网上提供的方法,但在任何方法中都没有成功。此外,我的问题与linux网络有关,而不是qemu特别是

1 个答案:

答案 0 :(得分:6)

我意识到自己的愚蠢。但由于这个问题在同一时间仍然有用且有用,我不是在关闭它。

这是问题所在。我应该在桥上有ip堆栈而不是eth0。
因为eth0上的ip栈打破了桥接结构。我刚刚为我的解决方案添加了几个步骤,它就像一个魅力。比网上的大多数解决方案都好。

步骤:

  1. 使用(sudo brctl addbr br0)
  2. 在主机上创建桥接器
  3. 在eth0上释放ip addr(将链接重新启动)
  4. 将eth0添加到此桥(sudo brctl addif br0 eth0)
  5. 在桥上启动ip stack(sudo dhclient br0)
  6. 更改了/ etc / qemu-ifup脚本(brctl addif br0 $ 1)
  7. 更改/ etc / qemu-ifdown脚本(brctl delif br0 $ 1)
  8. 我使用的qemu命令是:
    sudo qemu-system-i386 -enable-kvm -net tap,vlan = 0,ifname = tap0 -net nic,vlan = 0 -hda~ / Data / OS_DiskImages / ubuntu11.10 / disk.qcow2

    此处给出的脚本的详细步骤: link