如何通过网桥将VLANstream量传递给KVM虚拟机

我在VLAN 1上有一台KVM主机,我希望虚拟机使用VLAN 2.主机上的emo1与br0桥接,物理接口连接到Cisco交换机的中继端口。 这个问题是我在网上发现的大部分东西都是冲突/旧的,或者不适合我。

我正在运行Centos 7.使用不同于主机的VLAN标记guest虚拟机最简单的方法是什么?

谢谢!

在主机界面中,为每个VLANconfiguration单独的接口。

由于物理接口连接到一个中继端口,所有的VLAN都应该被标记。

所以在主机上需要configuration物理接口上对应VLAN1和VLAN2的emo1.1emo1.2接口。

然后为VM创build一个桥梁,并添加emo1.2作为桥梁成员。

之后,您可以为主机连接configurationemo0.1

emo0界面应该已经启动,但是不能configuration任何IP地址。

您还需要确保已加载8021q模块,以便内核具有VLAN支持。

Archlinux wiki有一篇很好的关于VLAN的文章 ,将告诉你如何设置它们进行testing。

在CentOS上要更持久地执行此操作,请使用/etc/sysconfig/network-scripts/

例如,/ /etc/sysconfig/network-scripts/ifcfg-eth0.1可以是:

 VLAN=yes DEVICE=eth0.1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 

/etc/sysconfig/network-scripts/ifcfg-eth0.2可能是:

 VLAN=yes DEVICE=eth0.2 BOOTPROTO=static ONBOOT=yes IPADDR=0.0.0.0 NETMASK=0.0.0.0 BRIDGE=br0 

然后,您创buildbr0,您的VM桥, /etc/sysconfig/network-scripts/ifcfg-br0

 DEVICE=br0 TYPE=Bridge IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none NM_CONTROLLED=no DELAY=0 

假设你设置了适当的转发规则,那么你的虚拟机在br0上的所有stream量都将在VLAN ID为2时被标记。