我有一个KVM主机,客人连接到虚拟网桥进行网络连接。
该系统的来宾上的网数据提请我注意在网络接口级别上丢弃的数据包(ifconfig报告为RX dropped的度量)。
我跟踪丢弃的数据包到STP (生成树协议)广播从主机外部。主机上的虚拟桥已关闭STP,但来自网络上其他交换机的这些数据包仍被转发给来宾。
# tcpdump -i enp2s0 stp -etn
30:23:03:27:7c:27 > 01:80:c2:00:00:00, 802.3, length 38: LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP 802.1d, Config, Flags [none], bridge-id fffe.30:23:03:27:7c:27.8001, length 43
# tcpdump -i enp1s0 stp -etn
10:06:45:e6:24:0b > 01:80:c2:00:00:00, 802.3, length 38: LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP 802.1d, Config, Flags [none], bridge-id 8000.10:06:45:e6:24:0b.8004, length 43如何丢弃通过虚拟桥转发的STP数据包?
我试着用dsap/ssap号码进行过滤,但这不起作用。
ebtables -A FORWARD -p LENGTH --802_3-sap 0x42 -j DROP或者,我会对为什么这不是一个好主意感兴趣。
发布于 2021-07-19 01:57:04
丢弃数据包意味着没有内核子系统将STP注册为受支持的协议;以太网驱动程序不知道在哪里发送数据包,因此丢弃它并增加丢失的计数器。这本身很好,但Netdata将上升计数器视为一个可能的问题。
解决这个问题的最简单方法是让内核/驱动程序知道STP:
sudo modprobe stp这将导致STP数据包由STP驱动程序而不是以太网驱动程序丢弃。
在大多数Linux发行版上,可以通过将stp添加到/etc/modules来使其永久化。
https://serverfault.com/questions/1053889
复制相似问题