linux eth0不支持bridge

pra*_*kar 4 linux kvm qemu

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

  1. 使用(sudo brctl addbr br0)在主机上创建桥接器
  2. 将eth0添加到此桥(sudo brctl addif br0 eth0)
  3. 更改了/ etc/qemu-ifup脚本(brctl addif br0 $ 1)
  4. 更改了/ etc/qemu-ifdown脚本(brctl delif br0 $ 1)

通过以上4个步骤,我得到了我的客人网络正常工作.但现在问题是我将eth0连接到桥接器br0后,我的主机网络无法正常工作.

我确认在step1和step2之后我的主机网络停止工作.但客人网络继续工作,这让我感到困惑.

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

  1. 使用(sudo brctl addbr br0)在主机上创建桥接器
  2. 将eth0添加到此桥(sudo brctl addif br0 eth0)

PS:我已经尝试了几乎所有在互联网上提供的方法,并且没有成功的任何方法.此外,我的问题与linux网络有关,特别是qemu

pra*_*kar 7

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

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

脚步 :

  1. 使用(sudo brctl addbr br0)在主机上创建桥接器
  2. 在eth0上释放ip addr(再次关闭链接)
  3. 将eth0添加到此桥(sudo brctl addif br0 eth0)
  4. 在桥上启动ip stack(sudo dhclient br0)
  5. 更改了/ etc/qemu-ifup脚本(brctl addif br0 $ 1)
  6. 更改了/ etc/qemu-ifdown脚本(brctl delif br0 $ 1)

我使用的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

这里给出的脚本的详细步骤: 链接