кран-мост-кран: нет LACP

424
Francesco

У меня есть два коммутатора, подключенных через интерфейсы TAP. Каждый порт виртуального коммутатора подключен к отдельному порту TAP, а порты TAP соединены через мост.

SW1-port1 = TAP 11 <== BR121 ==> TAP 21 = SW2-port1 SW1-port2 = TAP 12 <== BR122 ==> TAP 22 = SW2=port2 

Если я настраиваю порты коммутатора как обычный уровень 3, они могут пинговать друг друга, что означает, что вышеуказанная настройка работает, однако пакеты LACP отбрасываются, и я не могу установить канал порта между ними (в образовательных целях).

Я могу видеть пакеты LACP, сгенерированные локально подключенным коммутатором, если я "tcpdump" интерфейс TAP, но каким-то образом пакет LACP не добирается до другого конца (к другому TAP I / F).

Может ли это быть мост, поглощающий пакет LACP? Есть ли способ предотвратить это?

Спасибо Франческо

1

1 ответ на вопрос

0
grawity

Да, LACP использует групповой адрес 01: 80: C2: 00: 00: 02, который находится в диапазоне «не ретранслировать»: любой 802.1D-совместимый мост не должен пересылать эти кадры.

Хотя мосты Linux позволяют настраивать исключения для этого (через group_fwd_mask ), эта функция предназначена для протоколов более высокого уровня, таких как LLDP или 802.1X, и явно отказывается добавлять обход для адреса STP / LACP.

(Я думаю, что это имеет большой смысл, потому что эти протоколы специально предназначены для использования между двумя одноранговыми узлами на противоположных концах прямой линии связи, и в противном случае они могли бы работать неправильно).

Мосты, классифицированные как двухпортовые реле MAC, будут исключением: поскольку они связывают ровно два интерфейса, они могут быть прозрачными для LACP. Тем не менее, насколько я знаю, нет никакого родного способа заставить мост Linux действовать как единое целое.

Это можно сделать с помощью программы пространства пользователя для перемещения кадров между двумя интерфейсами, например socat.

В качестве альтернативы вы можете запустить LACP между каждым из ваших vswitches и хостом Linux (используя драйверы соединения или объединения), а затем поставить мост поверх двух LAG (интерфейсов связи).

Привет Grawity, это очень хорошее объяснение, и оно имеет смысл. Я буду смотреть на вариант SOCAT. Francesco 6 лет назад 0

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