设置:

设置:

我已阅读了大量有关 KVM 桥接网络中的 VLAN 标记的资料,但对于需要标记的内容(物理网络设备或连接到这些设备的桥接器)以及 VM 客户机是否需要标记其内部设备或当客户机虚拟 NIC 连接到标记桥接器时在主机端发生这种情况感到非常困惑。

免责声明:我根据从一些博客文章/技术页面中收集到的零碎信息做出了以下假设。就像很多事情一样,似乎有很多方法可以完成一项任务。如果我完全错了,有人知道一个好的指南,请将 URL 发送给我,我会修改我所做的,如果它不起作用,我会回来

我有许多 KVM 虚拟主机(包括它们的客户机)当前都连接到一个网络。

我想对此进行分段,以便逻辑上为少数客人(但显然不是所有客人)使用单独的网络。我阅读了大量有关如何实现此目的的资料,但对实际过程有一些基本疑问。

设置:

kvm主机1

  • eth0
  • br0

    kh1guest1

    • eth0(连接到 kvmhost1 br0)

    kh1guest2

    • eth0(连接到 kvmhost1 br0)

kvm主机2

  • eth0
  • br0
  • br0.10(标记 VLAN10)

    kh2guest1

    • eth0(连接到 kvmhost2 br0)

    kh2guest2

    • eth0(连接到 kvmhost2 br0.10)

kvmhost3

  • eth0
  • br0
  • br0.10(标记 VLAN10)

    kh3guest1

    • eth0(连接到 kvmhost3 br0)

    kh3guest2

    • eth0(连接到 kvmhost3 br0.10)

我在这里做了一些假设:

  • 为了使整个系统正常工作,所有主机/客户机都需要启用 802.1q
  • 所有需要访问标记 VLAN 的带访客的主机都需要一个额外的网桥,标记到 VLAN 上
  • 任何需要访问标记 VLAN 的客户虚拟机都需要将其网络连接到标记网桥(主机上的 br0.10)

请原谅我的无知,但我对 VLAN 的了解非常有限,到目前为止我只在物理层面上处理过它们(NIC 插入 VLAN 交换机端口)

任何帮助都将非常有帮助,甚至能提供实现这一目标的正确方法的指南。

答案1

您的设置从逻辑上来说没有问题。

这些访客将能够互相看到,因为他们在本机 vlan 中:
kh1guest1、kh1guest2、kh2guest1、kh3guest1

这些访客将能够互相看到,因为他们在 VLAN 10 中:
kh2guest2、kh3guest2

您的交换机管理员可能需要将您的交换机端口配置为“中继端口”,以便能够传递您添加的 vlan 标记。让他们知道您已设置的内容以及您对 vlan 标记的要求。

如果您处于大型托管网络中,那么您可能需要请求分配给您一个 vlan 号码,因为其他网络已经有 vlan10。

将 vlan 标记视为以太网帧周围的“包装器”。您只需定义一个位置来添加/删除包装器。以下所有内容均有效,粗体界面显示标记完成的位置:

  • 线路 -> 主机 eth0 -> 主机 br0 -> 主机br0.10-> 客户 eth0
  • 线路 -> 主机 eth0 -> 主机eth0.10-> 主机 br10 -> 客户机 eth0
  • 线路 -> 主机 eth0 -> 主机 br0 -> 客户机 eth0 -> 客户机eth0.10

如果要在主机上绑定物理接口,则不能将带有 vlan 标记的接口添加到绑定中。因此,以下配置有效:

  • 电线 -> 主机 ethX -> 主机 bond0 -> 主机 bond0 -> 主机 br0 ->主机 br0.10-> 客户 eth0
  • 线路 -> 主机 ethX -> 主机 bond0 -> 主机债券0.10-> 主机 br10 -> 客户机 eth0
  • 线路 -> 主机 ethX -> 主机 bond0 -> 主机 bond0 -> 主机 br0 -> 客户机 eth0 -> 客户机eth0.10

这是错误的:

  • 线路 -> 主机 ethX ->主机 ethX.10-> 主机绑定 -> 等等

答案2

最好的选择是这样做:

  • 标记接口(或绑定) - 例如 eth0 -> eth0.100(或 eth0+eth1 -> bond0 -> bond0.100)
  • 在标记接口之上搭建桥梁
  • 将虚拟机插入网桥

这样,所有往返于虚拟机的流量都将被标记。对于未标记的流量,最好在未标记的接口上创建另一个桥接器,并将另一个虚拟机网卡插入该桥接器

答案3

简单的规则是,连接应该在两端(主机端和客户机端)均未标记,或者在两端均标记。

访客通常不需要标记支持。现在,请忽略您处于虚拟化环境中的事实。如果每个“访客”是物理机器,它将如何设置?然后在 KVM 中实现相同的操作。

您可能希望在 kvmhost2 和 kvmhost3 上有两个桥接器,br0 和 br1。br1 可以将 eth0.10 作为成员。然后,kh2guest2 和 kh3guest3 可以将其 eth0 连接到各自主机的 br1。

相关内容