使用桥接(tapped?)networking运行两个Ubuntu KVM虚拟机

我有一台运行Ubuntu 14.04的服务器,我试图同时运行两个具有接networking的虚拟机。 第一台虚拟机的联网工作,但第二台虚拟机没有联网。

虚拟机也是Ubuntu 14.04。

为两台虚拟机获得完整(桥接)的互联网访问的最佳方式是什么?

我最好的猜测是把我的br0复制到br1,如下所示。 但是既然不行,我猜我需要做点别的。

这是我的/ etc / network / interfaces:

# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto em1 iface em1 inet dhcp auto br0 iface br0 inet dhcp pre-up ip tuntap add dev tap0 mode tap user thor pre-up ip link set tap0 up bridge_ports all tap0 bridge_stp off bridge_maxwait 0 bridge_fd 0 post-down ip link set tap0 down post-down ip tuntap del dev tap0 mode tap auto br1 iface br1 inet dhcp pre-up ip tuntap add dev tap1 mode tap user thor pre-up ip link set tap1 up bridge_ports all tap1 bridge_stp off bridge_maxwait 0 bridge_fd 0 post-down ip link set tap1 down post-down ip tuntap del dev tap1 mode tap 

这是我如何开始kvms。

(kvm1 – 有networking的)

 kvm -enable-kvm -nographic -net nic -net tap,ifname=tap0,script=no,downscript=no -hda disk.img.a.qcow2 -hdb my-seed.img -m 8192 -smp 16 

(kvm2 – 没有networking的虚拟机)

 kvm -enable-kvm -nographic -net nic -net tap,ifname=tap1,script=no,downscript=no -hda disk.img.b.qcow2 -hdb my-seed.img -m 8192 -smp 16 

网桥就像虚拟以太网交换机 – 你可以插入许多虚拟机,而不仅仅是一个。 您应该创build一个桥,并将两个VM的NIC连接到该桥。 然后他们可以互相交谈。

基于@ Womble的build议,我似乎已经得到它的工作。 我会张贴我在这里做的,所以希望它会帮助别人。

我欢迎有更好解决scheme的build议。

这是我的新的/ etc / network / interfaces:

 # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto em1 iface em1 inet dhcp auto br0 iface br0 inet dhcp pre-up ip tuntap add dev tap0 mode tap user myusername pre-up ip link set tap0 up pre-up ip tuntap add dev tap1 mode tap user myusername pre-up ip link set tap1 up bridge_ports all tap0 tap1 bridge_stp off bridge_maxwait 0 bridge_fd 0 post-down ip link set tap1 down post-down ip tuntap del dev tap1 mode tap post-down ip link set tap0 down post-down ip tuntap del dev tap0 mode tap 

(用我使用的真实用户名replacemyusername)。

以下是启动第一个kvm的命令:

 kvm -enable-kvm -nographic -net nic -net tap,ifname=tap0,script=no,downscript=no -hda disk.a.qcow2 -hdb my-seed.img -m 8192 -smp 16 

这里是启动第二个kvm的命令

 kvm -enable-kvm -nographic -net nic,macaddr=0c:c4:7a:73:14:b2 -net tap,ifname=tap1,script=no,downscript=no -hda disk.img.b.qcow2 -hdb my-seed.img -m 8192 -smp 16 

我必须明确地设置第二个kvm上的mac地址,否则它将具有与第一个相同的mac地址。 如你所想,拥有相同的MAC地址会导致networking间歇超时。