在配置使用创建 VLAN 的应用程序时vconfig add
,我发现它正在将 VLAN 设备添加到已经是 VLAN 设备的设备中。实际上,发生的事情是:
# vconfig add bond0 168
...
# vconfig add bond0.168 100
然后,vlan100 接口连接到连接到 KVM 实例的网桥:
# brctl addbr br100
...
# brctl addif br100 vlan100
桥梁的外观如下:
# brctl show
bridge name bridge id STP enabled interfaces
br100 8000.02163e4fc8db no vlan100
vnet0
virbr0 8000.000000000000 yes
奇怪的是,一切似乎都正常,我能够 ssh 到我的 KVM 实例。
将 vlan 设备添加到已经是 vlan 设备的接口时会发生什么?特别是,发送到 VM 实例的以太网帧具有什么 VLAN 标记?
答案1
当您将 VLAN 添加到已经是虚拟 VLAN 接口的设备时,您将获得一个QinQ 接口,这意味着数据包将带有双 VLAN 标记或 VLAN 堆叠传出。这在技术上是可行的,因为一个 VLAN 数据包可以在内部传输另一个 VLAN 数据包。