Назад | Перейти на главную страницу

Linux - отключить маршрутизацию, но разрешить мост

У меня есть Linux-сервер с гипервизором KVM. У меня есть несколько мостов на этом сервере (которые находятся на разных VLANS).

Есть ли «простой» способ убедиться, что надежный мост (т. Е. Маршрутизация между мостами) не разрешен, но при этом разрешен мост внутри моста?

Я знаю, что могу решить эту проблему, просто не назначая никаких IP-адресов мостам или каким-либо интерфейсам в Linux, но я бы также предпочел иметь отказоустойчивый, чтобы убедиться, что это запрещено. Некоторые правила iptables, возможно, удерживают трафик внутри моста?

Спасибо

За https://vincent.bernat.im/en/blog/2017-linux-bridge-isolation

Начиная с linux 3.9 вы можете включить фильтрацию vlan на мосту. Это быстрый и простой способ избежать попадания трафика на IP-маршрутизацию и переключение между мостами.

# echo 1 > /sys/class/net/br0/bridge/vlan_filtering
# bridge vlan del dev br0 vid 1 self

В статье перечислены несколько других вариантов, которые используют фильтры tc, ebtables, пространства имен или реализуют фильтры протоколов для каждого отдельного типа протокола (обычно ARP, IP, IPv6).

Я не верю, что IPTables здесь сильно поможет, поскольку он предназначен для управления трафиком уровня 3.

Используя мост, вы создаете широковещательный домен 2 уровня, который используется всеми VLAN на родительском интерфейсе (ах) моста.

Открыть vSwitch можно настроить для изоляции сетей VLAN. Имейте в виду, что если вам нужно, чтобы ваши гости KVM имели 1518-байтовые фреймы Ethernet, вам понадобится сетевая карта для хоста KVM, которая может обрабатывать размеры фреймов Ethernet, превышающие 1522 байта, чтобы разрешить тег VLAN.

Примечание: слои, о которых я говорю выше, являются слоями OSI модель.