KVM 802.1q(标记的VLAN设置)

我已经在KVM桥接networking中做了很多关于VLAN标记的内容,但是对于需要标记什么(物理networking设备或连接到这些设备的网桥)以及VM guest虚拟机是否需要标记它是内部设备,或者当访客虚拟NIC连接到带标记的网桥时发生在主机端。

免责声明 :我根据从一些博客条目/技术页面中挑选出的点点滴滴做出了一些假设。 像很多事情一样,完成这个任务似乎有许多方法。 如果我完全不正确,有人知道一个好的指导,给我的url,我会修改我做了什么,如果它不起作用回来

我有一些KVM虚拟主机(包括他们的客人)当前连接到一个networking。

我想细分一下,这样就有了一个逻辑上独立的networking供less数客人使用(但并不明显)。 我已经做了很多关于如何完成这个任务的阅读,但是对实际过程有一些基本的问题。

设置:

kvmhost1

  • 为eth0
  • BR0

    kh1guest1

    • eth0(连接到kvmhost1 br0)

    kh1guest2

    • eth0(连接到kvmhost1 br0)

kvmhost2

  • 为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的访客虚拟机需要将其networking连接到标记的网桥(主机上的br0.10)

请原谅我的无知,但是我对VLAN的了解还是非常有限的,到目前为止,我只是在物理层面上处理过这些问题(NIC转换为VLAN交换端口)

任何帮助将是伟大的,甚至是一个指导正确的方式来完成这一点。

你所设置的是合乎逻辑的。

这些客人将能够看到对方,因为他们在本地VLAN:
kh1guest1,kh1guest2,kh2guest1,kh3guest1

这些客人将能够看到对方,因为他们在10:
kh2guest2,kh3guest2

您的交换机pipe理员可能需要将您的交换机端口configuration为“中继端口”,以便能够传递您添加的vlan标签。 让他们知道你已经设置了什么和你有一个vlan标签的要求。

如果你在一个大型的托pipenetworking,那么你可能需要一个vlan号码分配给你,因为其他东西已经vlan10。

将vlan标记看作围绕以太网帧的“包装器”。 你只需要定义一个地方添加/删除包装。 以下所有内容都是有效的,粗体界面显示了标记的完成位置:

  • wire – > host eth0 – > host br0 – > host br0.10 – > guest eth0
  • wire – > host eth0 – > host eth0.10 – > host br10 – > guest eth0
  • wire – > host eth0 – > host br0 – > guest eth0 – > guest eth0.10

如果要绑定主机上的物理接口,则不能将vlan标记的接口添加到绑定。 所以这些将是有效的:

  • wire – > host ethX – > host bond0 – > host bond0 – > host br0 – > host br0.10 – > guest eth0
  • wire – > host ethX – > host bond0 – > host bond0.10 – > host br10 – > guest eth0
  • wire – > host ethX – > host bond0 – > host bond0 – > host br0 – > guest eth0 – > guest eth0.10

这是错误的:

  • wire – > host ethX – > host ethX.10 – > host bond – >等等

最好的select是做如下:

  • 标记接口(或键) – 例如eth0 – > eth0.100(或eth0 + eth1 – > bond0 – > bond0.100)
  • 在标记的接口上build立桥
  • 将虚拟机插入网桥

这样,来自VM的所有stream量都将被标记。 对于未标记的stream量,最好在未标记的接口上创build另一个网桥,并将另一个虚拟网卡插入该networking

简单的规则是,连接应该在两端(主机端和来宾端)不加标签,或者在两端加标签。

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

你可能想在kvmhost2和kvmhost3上使用两个桥,br0和br1。 br1可以有eth0.10作为成员。 然后,kh2guest2和kh3guest3可以将它们的eth0连接到它们各自的主机的br1。