LINUX.ORG.RU

Один интерфейс в двух бриджах с изоляцией через VLAN

 , ,


0

1

Добрый день, хотел узнать ваше мнение по поводу следующей топологии из linux бриджей:

                     br1(IPv6 lladdr1)
                    /  |      |
                   /   |      |
            eth1.33 eth2.33 eth3.33
              /      /     /
   br0(IPv6 lladdr1)/     / 
      |   | /   |  /  |  /
      |   |/    | /   | /
    eth0 eth1 eth2 eth3  

Т.е. созданы VLAN интерфейсы поверх физических и добавлены в новый бридж br1, при этом старый бридж осталcя без изменений. brctl show выглядит так:

brctl show
br1                3e3c.0050f1abdf1e       yes          eth1.33
                                                        eth2.33
                                                        eth3.33
br2          3e3c.0050f1a1df1e       yes                eth0
                                                        eth1
                                                        eth2
                                                        eth3

Моя проблема в том что при такой топологии начинается мультикаст шторм из IPv6 пакетов с бриджа br1 (пакеты могут быть Neigbor Solicitation, Neigbor Discovery, MLDv2 репорты, все идут с бриджа br1 и забивают всю сеть). Это выглядит как switching loop, но я не могу найти где получается петля, пробовал отключать физически порты, но шторм остается. Мой вопрос - является ли топология которую я описывал выше вообще рабочей? Не создает ли она петли сама по себе?

Ответ на: комментарий от pathfinder

Ок, спасибо за ответ, все-таки это кольцо, ядро будет форвардить пакеты которые идут с br1 через eth0 на на br0, так? Тогда, какие варианты поменять топологию чтобы работало, добавить еще один vlan со стороны br0 тоже? Или может создать интерфейс поверх br0 c тегом 33?

Andy041292
() автор топика
Последнее исправление: Andy041292 (всего исправлений: 1)

Схема мягко говоря странная. За что борьба?

Если я правильно понял картинку, то шторм будет всегда, если vlan_filter отключен и stp отключен.

Отправленный пакет через br1 с неизвестным адресом назначения или борадкаст/мультикаст попадает в eth1.33, далее в eth1, там он дублируется на br0 во все порты кроме порта источника т.е. в eth0,eth2,eth3

C eth2 и eth3 через eth2.33 и eth3.33 оно попадает в br1 и так далее.

brctl - это только верхушка айсберга.

Как только начинаешь работать с vlan сразу нужно познакомится с утилью bridge. Без неё в твоей ситуации не обойтись.

и про vlan_filter не забудь (ip link set dev br0 type bridge vlan_filtering 1)

vel ★★★★★
()
Ответ на: комментарий от vel

Я предположу, что ТС хочет сделать резервирование подключений. Если это так, то, наверное, лучше подойдет bonding, чем bridge.

pathfinder ★★★★
()
Последнее исправление: pathfinder (всего исправлений: 1)
Ответ на: комментарий от t184256

br0 это LAN бридж, br1 это Ethernet BackHaul бридж для wi-fi mesh. eth0, eth1, eth2, eth3 добавлены в br0, также eth1, eth2, eth3 добавлены в br1 через vlan интерфейсы с тегом 33. Цель такая - использовать для Ethernet BackHaul коммуникации ту-же L2 сеть что и для LAN, но изолировать Ehternet Backhaul от LAN.

Andy041292
() автор топика