Как запретить broadcast в linux bridge? Есть 3 хоста, в каждом установлены 2-портовые сетевые адаптеры 10гб. Коммутатора 10гб нет. Хочется объединить все 3 хоста в один l2 домен, чтобы каждому хосту были доступны другие 2 напрямую. Мне представляется, что это можно сделать, соединив хосты "каждый с каждым" (как бы в кольцо), объединив оба порта каждого сетевого адаптера в бридж, но тогда в бридже нужно запретить транслировать широковещательный трафик. Как это сделать? Или как-то иначе можно соединить 3 хоста без коммутатора?

19 Апр в 19:53
169 +1
0
Ответы
1

Для создания L2 домена из трёх хостов, соединённых между собой напрямую, действительно можно использовать Linux bridge, но важно учитывать, что полный отказ от широковещательного (broadcast) трафика может привести к проблемам с сетевыми протоколами, которые зависят от широковещательной рассылки (например, для ARP). Тем не менее, если вы хотите ограничить широковещательные рассылки, вот общая схема и рекомендации, как настроить вашу сеть.

Подход с использованием Linux bridge

Создание мостов (bridges):
На каждом хосте создайте сетевой мост, который будет включать оба сетевых интерфейса.

# Пример на хосте 1
sudo ip link add name br0 type bridge
sudo ip link set dev eth0 master br0
sudo ip link set dev eth1 master br0
sudo ip link set dev br0 up
sudo ip link set dev eth0 up
sudo ip link set dev eth1 up

Соедините хосты с помощью кроссового кабеля или через прямое соединение между интерфейсами:

Хост 1: eth0 соединён с eth0 хоста 2.Хост 1: eth1 соединён с eth1 хоста 3.Хост 2: eth1 соединён с eth1 хоста 3.

Запрет широковещательного трафика:
Технически, в Linux bridge нет прямой опции для полного отключения широковещательного трафика, но можно использовать некоторые методы, такие как:

Измените конфигурацию протокола, чтобы использовать только точки-точки, если это возможно. Для некоторых протоколов это можно сделать в настройках сети.

Фильтрация трафика с помощью iptables или eBPF. Используйте правила iptables для блокировки широковещательного трафика:

# Блокируем ARP запросы (это пример, используйте с осторожностью)
sudo iptables -A FORWARD -m addrtype --dst-type BROADCAST -j DROPДругой подход: использование сетевой топологии

Если вы не хотите или не можете запретить широковещательный трафик, рассмотрите возможность применения альтернативной топологии, например, линейной или деревовидной. Вы можете рассмотреть возможность использования VLAN, чтобы изолировать трафик между хостами, а также использовать static ARP entries для уменьшения широковещательного трафика.

MQTT и другие протоколы

Если ваши хосты могут поддерживать какие-либо другие протоколы связи, как MQTT или другие, которые бы не зависели от ARP, вы можете настраивать их для удалённой работы и обмена данными, избегая широковещательных рассылок.

Заключение

Наилучший подход зависит от ваших конкретных требований, архитектуры и используемых приложений. Если вы избегаете широковещательного трафика, обязательно протестируйте настройки и учтите, что некоторые сетевые службы могут перестать работать корректно без поддержки broad-кастинга.

19 Апр в 19:53
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир