Интерфейсы VLAN в Linux 5.9 не получают трафик, если не включен режим promiscuous

Я только что обновил NAS под управлением Debian Buster до Debian Bullseye. Это включало обновление ядра с 4.19.0 до 5.9.0 и обновление systemd с 241 до 247.1 (система использует systemd-networkd для конфигурации).

Сетевая конфигурация умеренно сложная:

  • eno1/eno2: двухпортовый встроенный гигабитный Ethernet Intel I210 (используется драйвер igb)

  • main: 802. 3ad bonding interface using eno1/eno2 as physical links

  • vlan60/vlan63: vlan subinterfaces using main as their base

main, vlan60, and vlan63 all have IPv4 and IPv6 addresses on them, but there are no addresses on eno1 or eno2.

Все интерфейсы используют режим MAC-адресов по умолчанию, что означает, что все пять интерфейсов используют встроенный MAC-адрес eno1. Пытаясь решить эту проблему, я настроил локально управляемые MAC-адреса на vlan60 и vlan63, но это не помогло (более того, это нарушило поддержку IPv6 на main, но я так и не выяснил почему).

С конфигурацией Buster все работало нормально. После обновления до Bullseye, main работает нормально, но vlan60 и vlan63 не отправляют и не получают никакого трафика. Внутренний трафик к/от их адресов работает нормально, но внешний трафик - нет.

Пытаясь устранить неполадки, я запустил tcpdump на vlan63 и сразу заметил, что трафик начал проходить. Остановка захвата пакетов привела к тому, что трафик снова перестал идти.

На данный момент я запустил систему, выполнив ip link eno1 set promisc on и ip link eno2 set promisc on, и все интерфейсы успешно пропускают трафик. Нет необходимости включать режим promiscuous на интерфейсах верхнего уровня, только на физических интерфейсах.

Без включенного режима promiscuous, похоже, что субинтерфейсы VLAN не получают широковещательных кадров из сети, что приводит к неработоспособности ARP и NDP.

Были ли какие-то изменения в поведении между этими версиями ядра (я знаю, это много версий ядра...), которые могли бы повлиять на это?

.
1
задан 30 December 2020 в 13:51
1 ответ

Я не уверен, что изменилось в ядре, но у меня была такая же проблема на Proxmox VE 7.0 (Debian 11) с версией ядра 5.11.22-1. Проблема исчезла, когда я обновил версию ядра до 5.11.22-3.

Возможно, проблема в ядре. Просто обновите ядро ​​до новой версии и проблем не будет.

1
ответ дан 31 August 2021 в 08:33

Теги

Похожие вопросы