具有两个NIC的KVMnetworking桥接器

问候,

我试图build立与KVM的桥接networking,并没有得到任何地方。 有关于这个主题的文档和教程,但他们似乎都冲突或不提供足够的信息。 我想知道是否有人可以给我一个关于如何使这个工作的高层次的概述。 我大概可以自己弄清楚细节(configuration接口,添加路由等),我只是需要大局的帮助:所有东西都是相互关联的。

我有一台安装了KVM的RHEL5服务器。 它有两个物理网卡eth0和eth1在同一个VLAN中。 我想使用eth1来访问guest虚拟机和networking其余部分之间的所有stream量,并在可能的情况下为主机pipe理,guest虚拟机迁移等保留eth0。 我不挑剔哪一个获得默认路由,但是如果我们可以使它成为eth0,那将会很好。 所有的客人都将拥有静态的IP地址。 我更喜欢在添加新的guest虚拟机时,只需要在guest虚拟机中设置networkingconfiguration。 基本上,我想这个:

eth0:所有主机stream量
eth1:所有访客stream量

如果这是不可能的或者会变得糟糕/困难,请打开其他任何build议。 指向现有的文档可能没有帮助,因为我已经尽pipe几乎所有的东西。

谢谢你的帮助。

更新

好吧,这是我迄今为止:

  • eth0按照正常情况configuration了静态IP地址。 那里没有惊喜。
  • br0是作为一个没有IP地址的网桥而提出来的
  • eth1是没有IP地址的。 它被添加到br0桥。
  • VM实例configuration为使用br0,并configuration了静态IP地址

使用这个configuration,我可以连接到来自guest虚拟机的外部机器,但是去往guest虚拟机的数据包永远不会创build它。 这是我的configuration看起来像迄今为止:

# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=none ONBOOT=YES # cat /etc/sysconfig/network-scripts/ifcfg-eth0 # host-only interface DEVICE=eth0 TYPE=Ethernet HWADDR=00:23:7D:E1:1F:22 IPADDR=10.8.91.18 NETMASK=255.255.252.0 GATEWAY=10.8.91.254 BOOTPROTO=none ONBOOT=yes # cat /etc/sysconfig/network-scripts/ifcfg-eth1 # guest-only interface DEVICE=eth1 TYPE=Ethernet BRIDGE=br0 HWADDR=00:23:7d:e1:1f:26 BOOTPROTO=NONE ONBOOT=YES (virbr0 is the default kvm/libvirt NAT bridge, it's not being used here) # brctl show bridge name bridge id STP enabled interfaces br0 8000.00237de11f26 no vnet0 eth1 virbr0 8000.000000000000 yes # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 10.8.88.0 * 255.255.252.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 10.8.91.254 0.0.0.0 UG 0 0 0 eth0 

以下是客户的libvirt XML定义的相关部分:

 <interface type='bridge'> <mac address='54:52:00:76:94:73'/> <source bridge='br0'/> </interface> 

更新2

好吧,我想我都准备好了。 由于我的客户操作系统(我不太熟悉的SLES 11)在默认情况下具有相当严格的一组防火墙规则,所以我被绊倒了。 一旦防火墙被清空了,我可以连接进出。

我想你知道如何在网卡上build立一个网桥,所以基本上你只需要在两个网卡上设置两个网桥,然后调出虚拟机连接到右边的网桥。 来想一想,其中一个网卡可以没有桥,因为客人将不需要使用它。

这是我看到的这个问题的一般描述。 你可不可以现在就说明你所做的事情,如果有的话,我们可以试着找出你所犯的错误

我有一个类似的情况与Ubuntu 12.04.02作为服务器操作系统。
我目前的单身客人正在运行CentOS。
服务器有4个网卡,我想单独为服务器运行eth0,使用eth1作为iSCSI存储,使用eth2和eth3作为guest虚拟机。
eth0,eth2和eth3连接到相同的lan。

我不知道如果我正确地想出如何设置接口。
到目前为止,我发现的描述只处理服务器中的1个NIC。

目前我已经configuration了eth0和dhcp IP,因为我在dhcp服务器上使用了一个固定的保留。
我的eth2桥梁命名为br2

我已经configurationeth2和br2如下

 auto eth2 iface eth2 inet manual auto br2 iface br2 inet manual bridge_ports eth2 netmask 255.255.255.0 network 192.168.168.0 gateway 192.168.168.1 broadcast 192.168.168.255 bridge_stp off bridge_fd 0 bridge_maxwait 0 

  brctl addif br2 eth2 

接口eth2和br2没有按预期的IP进行。
然后客人也使用dhcp请求他们的地址。