使用一张网卡为Linux KVM创建多个接口

Pha*_*nto 0 networking linux bridge interface kvm-virtualization

我正在从事一个论文研究项目,我在弄清楚如何让一个 NIC 产生多个“桥接”接口以便可以在本地网络上看到每个 KVM VM 时遇到了一些困难。我对 KVM 非常陌生,并且仍在探索它可以做什么。以下是我尝试制作的场景(在 CentOS/RHEL 6 系统上):

  1. Linux KVM 主机有 1 个 NIC ( eth0) 连接到交换机。
  2. 创建多个“桥接”或等效的接口,这些接口eth0会为每个 VM 提供唯一的 IP。这样每个 VM 都可以与网络上的其他主机通信,网络上的其他主机也可以与 VM 通信。
  3. 重要提示:我希望iptablesKVM 主机能够操纵/控制/限制将在这些“桥接”接口上发送的流量。
  4. 我想创建至少三个 VM,每个 VM 都使用自己独特的“桥接”接口。

我以前从 中制作了一个br0界面eth0,但不幸的是,我无法再添加任何界面。看来您只能将 1 个接口桥接到 NIC。我想将多对一联系起来。

将一个tap设备能够做到这一点?如果是这样,它会如何设置?

实际上,我正在尝试复制可以在 Windows 上使用 VirtualBox 轻松创建的内容,其中每个 VM 都有一个“桥接”接口,并且可以存在于网络上。我想用 Linux KVM 实现同样的事情。

谢谢你

编辑:为了更具描述性,我想实现如下所示的内容:

这可以在此页面上找到:http : //en.gentoo-wiki.com/wiki/KVM#Networking_2

              HOST
        +---------------+
        |               |      KVM GUEST1
        |               |   +--------------+
        |  +------+     |   |              |
 LAN ---+--- eth0 |  +--+---+---- nic0     |      KVM GUEST2
        |  | tap0----+  |   |192.168.1.13  |   +--------------+
        |  | tap1----+  |   +--------------+   |              |
        |  +------+  |  |                      |              |
        |     br0    +--+----------------------+---- nic0     |
        |192.168.1.12   |                      |192.168.1.14  |
        +---------------+                      +--------------+
Run Code Online (Sandbox Code Playgroud)

dya*_*sny 6

您在 eth0 之上创建一个网桥,并将您的 VM 的虚拟网卡插入该网桥。将桥视为虚拟枢纽,使概念更容易理解

  • 网桥将虚拟 NIC 桥接到物理 NIC,因此 VM 最终与主机的 eth0 位于同一物理网络上。要分配 IP,您需要此网络上的 DHCP 服务器。这正是 vbox 和其他所有“桥接”网络的工作方式,不同之处在于,vbox 为您设置了桥接 (2认同)