MikroTik: VLAN ID filtering dropped egress frame — Решение проблемы
- В журнале RouterOS фиксируется ошибка:
vlan,error VLAN ID filtering dropped egress frame on port ether5. - Пакеты от маршрутизатора или других портов моста не могут выйти через целевой интерфейс.
- Устройства в Access-порту не получают ответы на ARP и ICMP запросы.
1. Причина сбоя Egress Filtering
Ошибка означает, что кадр, уже находящийся внутри моста с определенным VLAN ID, попытался покинуть интерфейс (Egress), однако порт не зарегистрирован в таблице /interface bridge vlan как разрешенный участник (ни как tagged, ни как untagged) для этого конкретного VLAN ID.
2. Корректировка членства портов в таблице VLAN
Если порт ether5 должен отдавать нетегированный трафик клиентам VLAN 50 (Access Port):
# 1. Задаем PVID на порту
/interface bridge port
set [ find interface=ether5 ] pvid=50 frame-types=admit-only-untagged-and-priority-tagged
# 2. Добавляем порт в untagged для VLAN 50
/interface bridge vlan
add bridge=bridge1 tagged=bridge1 untagged=ether5 vlan-ids=503. Проверка динамических записей в мосту (Current VLAN Table)
/interface bridge vlan print detailУбедитесь, что в поле current-untagged или current-tagged отображается нужный интерфейс.
4. Проверка совпадения MTU
Убедитесь, что L2MTU физического порта больше или равно MTU родительского моста (минимум 1514-1592 байта).
Частые вопросы (FAQ)
Почему RouterOS автоматически удаляет порты из untagged списка?
Если на порту bridge port задан параметр pvid=X, RouterOS автоматически динамически добавляет этот порт в untagged для VLAN X в таблице Bridge VLANs.
Чем отличается Ingress Filtering от Egress Filtering?
Ingress проверяет пакет на входе в порт. Egress проверяет права пакета на выход из порта перед отправкой в физический кабель.
Как сделать порт гибридным (Hybrid Port)?
Установите frame-types=admit-all, задайте PVID для нетегированного трафика и добавьте порт в tagged список для остальных необходимых VLAN IDs.
Как сбросить зависшие MAC-адреса моста?
Выполните команду /interface bridge host remove [ find where bridge=bridge1 ].