Linux bridge учит MAC-адреса почти как обычный коммутатор Когда Linux… — Network Admin — TG.ME

📂 Linux bridge учит MAC-адреса почти как обычный коммутатор

Когда Linux работает как bridge, он не просто механически пересылает Ethernet-кадры между интерфейсами.

У него есть собственная forwarding database - FDB.

Когда кадр приходит на bridge, ядро смотрит на его source MAC и запоминает, откуда он пришёл:

aa:bb:cc:dd:ee:01 → eth0
aa:bb:cc:dd:ee:02 → eth1


Посмотреть таблицу можно:

bridge fdb show


После этого кадр для aa:bb:cc:dd:ee:02 уже не нужно отправлять на все порты - bridge знает, что destination находится за eth1.

Если destination MAC неизвестен, кадр будет flood’иться по подходящим портам. После получения ответа bridge снова обновит FDB.

У записей есть timeout, поэтому старый MAC постепенно исчезает:

bridge fdb show br br0


Особенно интересно это проявляется при миграции VM.

Было:

VM → eth0


После миграции:

VM → eth1


MAC тот же, но source frames начинают приходить с другого интерфейса. Bridge переучивает запись:

old MAC → eth0

new MAC → eth1


Если MAC начинает постоянно перемещаться между портами, можно получить MAC flapping - и тогда проблема уже не в IP-маршрутизации.
Linux bridge в таком режиме фактически выполняет ту же базовую функцию, что и физический L2-коммутатор: строит таблицу MAC → порт на основании уже увиденного трафика.

N.A.
👍5
August 26, 2026 1.3K 21