Фильтрация пакетов STP

У меня есть хост KVM, гости которого подключены к виртуальному мосту для работы в сети.

Сетевые данные о гостях этой системы привлекли мое внимание к тому, что пакеты отбрасываются на уровне сетевого интерфейса (метрика отображается какRX droppedкifconfig).

Я отслеживал отброшенные пакеты в широковещательной рассылке 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

в качестве альтернативы мне были бы интересны причины, почему это не очень хорошая идея .

1 ответ

Отброшенные пакеты означают, что ни одна подсистема ядра не зарегистрировала STP в качестве поддерживаемого протокола; драйвер Ethernet не знает, куда отправить пакет, поэтому отбрасывает его и увеличивает счетчик отброшенных пакетов. Это само по себе нормально, но Netdata рассматривает возрастающий счетчик как возможную проблему.

Самый простой способ исправить это — сообщить ядру/драйверу о STP:

      sudo modprobe stp

Это должно привести к тому, что пакеты STP будут отбрасываться драйвером STP, а не драйвером Ethernet.

В большинстве дистрибутивов Linux вы можете сделать это постоянным, добавивstpк/etc/modules.

Другие вопросы по тегам