有没有什么办法可以在linux上configurationvlan接口来只接收未标记的帧?

场景:

  • 为eth0
    • 中继接口与vlans 10 11 12 13 14 15
    • 交换机上的native vlanconfiguration为10
  • eth0.11
    • vlan接口,可以看到eth0标记为vlan 11的任何stream量
  • eth0.15
    • vlan接口,可以看到eth0标记为vlan 15的任何stream量

这就是问题所在 – 我希望能够在eth0上执行所有stream量的networking捕获,但只能看到10个stream量(任何未被标记的stream量)。

现在,在eth0上捕获将会给我vlan 10中的无标记帧,以及从vlans 11到15中标记的帧。

解决方法只是将交换机重新configuration为在该端口上具有未使用的本地vlan,并标记vlan 10,但是这使得该端口configuration与其他configuration有特殊的区别。 (认为​​一个正常的数据+语音networking端口,你有本地vlan上的正常stream量和语音标记的帧。)在这种情况下,我希望能够捕获dataframe,但没有语音。

另一个相关的需求是桥接时 – 如果我想将vlan0连接到linux盒子上的另一个端口,而不是桥接所有标记的帧,则可能需要相同的需求。

有什么办法可以configuration一个vlan接口,只显示未标记的stream量,而不是其中的标签帧?

是的,您可以使用ebtables来过滤标记的数据包。 例如,你可以使用类似的东西:

 ebtables -A INPUT -p 802_1Q -j DROP